When it comes to the scalability of oracle networks, the focus is often on the number of nodes in a network (decentralization) or how often updates can be published on-chain (update frequency), but I think another key dynamic to consider is economic scalability. Decentralization and update frequency are indeed important, but I believe economic scalability is a critical and often overlooked point that I am interested in hearing other people’s thoughts on.
From my perspective, economic scalability comes down to the affordability of using an oracle solution, particularly as the network scales up as a whole (both in the number of nodes and number of users). To put this into perspective, we can consider a hypothetical oracle network model that is not economically scalable. Imagine an oracle solution where every user who needs secure external data is required to launch and fund their own independent oracle network. If there were ten users who all required the ETH/USD price, there would be ten separate isolated oracle networks all reporting the same data. This puts an unnecessary economic burden on users, who need to pay the full costs of an oracle network’s operation, and also fragments the data validation and security model across numerous separate networks. The scalability efficiency of such an oracle solution would be O(cn), where c is the cost of funding an individual oracle network and n is the number of users. Each individual user would need to spend c amount of funds to get the data they require (aka the full cost).
A more economically scalable oracle solution would aim to achieve an “economies of scale” effect, where every additional user lowers the per-user costs. While this is highly dependent on the data required, there are often common data resources that a large number of users require (such as price feeds for DeFi applications). In this approach, the same ten users in the example above would collectively fund just a single oracle network, meaning each user only has to pay a fraction of the total cost. Each user would only need to pay 1/10 as much as before (a significant decrease in the per-user costs). Or they can pay the same amount and use the 10x extra funds to increase the number of nodes (more security than any one user could afford on their own). Additionally, users could opt for some combination between the two (e.g. each user pays ½ as much as before and the extra 5x in funds is used to add more nodes).
The network-wide scalability of such an oracle solution, assuming the same common datasets are required, is reduced from O(cn) to only O(c), as any number of users can share a single oracle network. As a function of the number of users, the total network-wide costs have gone from linear to static. As a result, the per-user costs are reduced from c to c/n, meaning the costs actually decrease as more fee-paying users join the network.
In this model, if each user requires a different dataset (such as price data for different cryptocurrencies), then the economic scalability reverts back to O(cn). Ultimately this means an economically scalable oracle network in practice would likely achieve an efficiency of somewhere between O(c) and O(cn). Something I am curious about is, what implication does increasing the number of users have on the operation on the network, beyond just operating costs? Some more questions that I think would be interesting to discuss are:
- Is there a point of diminishing returns where additional users provide little to no benefit to existing users?
- As new users join the network, how should it be decided if the per-user costs should be lowered or if those extra funds should be used to increase network security?
- Does an oracle model exist that can achieve network-wide economic scalability superior to O(c)?
Does an oracle network model exist that can achieve a per-user cost lower than c/n provided from the economies of scale?