This article is one part of a longer deep dive into Leios, Cardano’s proposed consensus upgrade. The full post is available at https://314pool.com/post/leios. We’ve broken it into smaller, standalone reads to make it more accessible for the Cardano Cube audience.
Sustainability
The Cardano network is operated by roughly 3000 stakepools. Each of those, if it’s following recommended best practices, is at least 3 servers: one that produces blocks, and two that act as “relays”, forwarding transactions and blocks around the network. In return, each epoch (which lasts 5 days) an average of 1000 of those nodes produce a block, and receive a cut of the rewards for that epoch.
Those consist of a “small” monetary expansion, and fees paid by each transaction.
As of this writing, the monetary expansion parameter is set to 0.3%. That currently amounts to 21.8 million ADA per epoch.
Similarly, from epochs 500 to 550, we’ve seen an average of 270 thousand transactions per epoch, each of which contributes an average of 0.34 ADA, for an average of 93,000 ADA per epoch in fees.
Of the nearly 21.9 million ADA collected from these two sources, 20% is sent to the treasury. Then, because of unstaked ADA and pools missing blocks, a significant portion (an average of 9.7 million ADA) is returned to the reserves. The remainder (an average of 7.7 million ADA per epoch) is distributed among stakepools and their delegators in proportion to their performance.
On average, of the 7.7 million ADA of reserve emissions distributed as staking rewards each epoch, roughly 21% (1.6 million ADA) goes to the stake pool operators, and the rest is distributed to delegators on the network.
Over time, the 7.7m ADA per epoch will decline, decreasing profitability for running a node. The ideal scenario is for the transaction volume to increase correspondingly to replace it and maintain the same profitability. Here’s a chart of the projected rewards paid to a stake pool operator from the reserves over time:
However, at 0.34 ADA per transaction, that would mean that in order to maintain the same profitability, the network would need to process 21.6 million transactions per epoch, or 50 roughly transactions per second. It’s estimated that the current peak throughput for the network, under ideal conditions, is around 10 transactions per second. Here’s a chart of the estimated profitability (revenue as a percentage of estimated expenses) at different throughputs, considering only the income from transaction fees:
Note that the red region is the estimated maximum throughput for the current Cardano protocol, called Ouroboros Praos.
And, don’t forget, users will likely expect the cost per transaction to go down over time, to remain competitive with other networks.
Thus, if left unaddressed, the Cardano network will likely reach an inflection point where it becomes less and less economically viable to run a node. This is a problem that very very few networks, if any, have solved for the long term. This could turn into a vicious cycle that undermines many of the unique selling points we all value Cardano for, such as its decentralization.
There are several options to ensure the network can pay its bills:
- The price of ADA increases over time
- This would mean that smaller absolute rewards would go further towards paying those bills.
- Hardware improvements or optimizations in the node software decrease the cost of running a node.
- For example, initiatives like UTxO-HD which reduces the required RAM, or alternative node implementations (like Amaru) that prioritize lower hardware requirements can help reduce costs dramatically.
- Operating a stake pool becomes profitable for other reasons
- This is the “Actively Validated Services” model, in which running a stake pool is an essential part of providing services to other use cases. For example, running a stake pool allows you to become a Midnight network operator, earning additional rewards from the Midnight network.
- We replenish the reserves, bringing rewards back up
- For example, if the Cardano treasury is able to profitably invest its 1.5 billion ADA and generate an ongoing yield, a portion of the treasury could be used to replenish the reserves so that rewards remain higher for longer
- The total demand for transactions on the Cardano network rises dramatically
- More transactions would mean more transaction fees, which can replace the reserve emissions. However, in order for this to be meaningful, the Cardano network would need increased capacity.
Given the relative severity of the problem, the Cardano Roadmap calls for delivering on all of the above solutions, and Leios is the leading proposal for how to increase network capacity. With enough increase in capacity (and a corresponding increase in demand), we can both sustain the costs of the Cardano network, and decrease the average fee per transaction in conjunction. Ouroboros Leios offers, in my opinion, the best chance of achieving that while maintaining so much of the hard-won decentralization and determinism that we value on Cardano.
An important note on the above, however, is that Leios alone doesn’t directly solve the problem above: increased capacity means nothing if we don’t have the demand to fill that capacity. It is absolutely critical that we abolish a “build it and they will come” mentality. Leios creates the ability for us to solve this problem, but it is equally, if not more important that we have a corresponding push for real-world business adoption of the Cardano network.
Censorship Resistance
Even separate from the above sustainability concerns, Leios solves a core censorability / availability problem that has deterred some applications from building on Cardano.
Specifically, when the Cardano network is under significant load, it severely impacts everyone’s ability to get time-sensitive transactions on-chain. Currently, this is fair, because it impacts everyone equally; however, as the protocol matures, and we start to see alternative node implementations, even that will erode as people deploy and run nodes that have custom prioritization rules for transactions.
The main problem here is that Cardano charges for used capacity, which grows linearly: an 8kB block uses 8kB, whether the chain is under load or not. But the resource that everyone is actually competing over is spare capacity, which becomes exponentially more valuable as it depletes. Using 8kB in a nearly empty block is very different from using the last 8kB in a block.
With Praos, we are bandwidth-limited, meaning there’s very little we can do to address this. It’s challenging to design a fair protocol that charges exponentially for that precious depleting resource, and it’s also challenging to increase that capacity dramatically.
dApps compete for that block space, and thus even with just a few dApps, user experience degrades dramatically when Cardano is under load. This is especially painful if the transactions are time-sensitive, like adding collateral to a loan before it’s liquidated.
This concern has been cited by some teams evaluating whether to build or deploy on Cardano, and in some cases has driven them away completely. It represents a huge potential barrier to the adoption goals we described in the previous section.
The value of Leios, as I hope to illustrate later, is not that it allows a single dApp to scale to thousands of transactions per second (that very few dApps need in practice), but that it provides the capacity for thousands of dApps to peacefully coexist, which is much more valuable for broad adoption of a blockchain.
By providing a scalable and elastic capacity to the network, Leios ensures that anyone can reasonably expect to get their transactions on-chain throughout a much wider range of chain conditions. Of course, there is still an upper bound, and we encounter similar problems at the extreme end, but those conditions are far less realistic to hit than our current upper bound.
Conclusion
In summary, if we do nothing, Cardano will begin struggling to pay for its own infrastructure as the tail emissions dwindle. There are many avenues to correcting this, all of which should be explored, but a critical one is to drive additional traffic. While not a substitute for actual business development initiatives, a key part of attracting that traffic is providing the capacity to meet it, and the conditions that provide for the best user experience possible.
This is just a high-level view of a problem with a dizzying number of variables and dimensions. You can dig more deeply into our analysis yourself, if you’d like, by reading this cost estimate summary, or playing with the numbers using the previously mentioned cost calculator.