Charles Hoskinson said in an AMA a long time ago that solving the problem with full blocks is a very nice problem to have. It is proof that people are using the network. Several long-awaited DeFi projects are about to be launched. The number of users and therefore transactions is gradually increasing. With the arrival of the bull market, the activity will increase even more. The blocks are almost full now. What can we expect next year? Will there be network congestion? Fortunately, there is not only a short-term solution but also a long-term one.
Blocks Are Full
With the positive mood in the market, user activity is also growing. People send assets and use DeFi applications more often. It leads to a higher network load.
This is certainly a very positive trend as long as the network manages to process all transactions on time. Once the network is congested, the user experience degrades.
In the image below you can see the blocks at the time of this article. Almost all blocks are full. One of them even from 99%. There are up to 50 transactions in some blocks.
This is not a permanent condition. There is a slowdown in the demand for transactions on the network. Not all blocks are full. In recent days, network usage capacity has reached 60 to 70%. Cardano is not yet in a situation where it would not be able to process all user transactions during the next block (or several blocks).
However, this may change. Let's explain what happens when the blocks are full.
Bitcoin Uses A Fee Market
Let's first explain what a fee market is. This concept was invented by Satoshi Nakamoto, so it has been around since the inception of Bitcoin.
The fee market is a system that regulates the demand for a block. It works roughly that if the number of transactions is low, the fees are also low. All transactions waiting in the mem-pool can be inserted into the next new block.
Pool operators (formerly miners) choose transactions to insert into a new block. They choose according to the fee. They are economically motivated to put the transactions with the highest fees into the block because the pool that mines the block also gets all the fees.
Pool operators compete with each other for who will mine the block, so also for who will get the biggest rewards for transactions.
The transactions with the lower fee have to wait longer in the mem-pool. Why? Let me explain.
If the user wants to quickly send a Bitcoin transaction and wants to be sure that it will be inserted into the next block, he has to set a fee that is roughly one of the highest among 4000 other transactions with the highest fee. A Bitcoin block can hold approximately 4,000 transactions.
Users are forced to overpay each other (fight) for a place in the block.
At the time of writing, Bitcoin transaction fees are 63 USD. The user must research the mem-pool to estimate the fee. If he sets the highest fee, i.e. 65 USD, he is very sure that the pool operators will put his transaction in the next block.
Older transactions with a low fee (30 USD fee) can stay in the mem-pool for several days.
If the demand for transactions is high, the number of transactions in the mem-pool keeps growing.
Once fees are too high, demand may drop. Users are submitting fewer new transactions. Pool operators will start inserting older transactions with smaller fees into the block. The number of transactions in the mem-pool will start to decrease.
There are currently almost 300K transactions in the Bitcoin mem-pool. Bitcoin would be able to process all transactions in about half a day, but only if new users did not submit any new transactions.
Cardano Does Not Have A Fee Market
Cardano does not use the fee market concept. For a 200-byte transaction, the user always pays 0.1642 ADA. The network load, i.e. the demand for transactions, is irrelevant to the calculation of the fee. Cardano cannot regulate the demand for transactions through natural market mechanisms.
Cardano's mem-pool behaves differently than Bitcoin's mem-pool, as its size is limited to twice the block size. As soon as the mem-pool on a specific node is filled, the node does not accept new transactions (it stops inserting transactions into the mem-pool). It is theoretically possible that the pool operator decides to increase the capacity of the mem-pool on his node.
From the user's point of view, the transaction is not accepted. Users can try to submit the transaction again later.
This system has the advantage that users immediately see that the transaction will not be processed. They can decide for themselves if their transaction is urgent enough to try to resubmit it, or if they wait.
Users compete with each other to get the transaction into the mem-pool through several subsequent attempts to submit the transaction.
It is important to mention that this situation has not occurred in recent days. Unlike Bitcoin, Cardano still manages to process all transactions relatively quickly. However, this can change at almost any time if demand surges. Cardano's mem-pool fills up fairly quickly when demand starts to grow.
Neither Bitcoin's fee market nor the behavior of the Cardano network is optimal. Both networks are unable to handle the high demand for transactions. Ethereum is in a similar situation with 180K transactions waiting in the mem-pool.
In the top 10, only Binance Chain, Ripple, Solana, and Avalanche can cope with the high volume of transactions. However, the demand for transactions (block space) varies across projects. Almost every well-decentralized blockchain has its limits and can be clogged.
It is ideal if the blockchain can handle as many transactions as there is demand for them. The Bitcoin and Ethereum networks can't handle it now. Cardano may soon join them.
A Short-term Solution
The IOG team can react to the current situation by either increasing the block size or decreasing the block time. Alternatively, it is possible to modify both parameters.
The block has been increased several times in the past. Cardano got into a situation where users had to resubmit transactions.
Increasing the block size must be done carefully and after careful consideration, as a larger block size prolongs its diffusion in the network. This is an undesirable situation, as a split (fork) of the blockchain may occur more often.
As part of Input Endorsers, the team considers that the block time of the block with the longest minting frequency will be 15 seconds. So it is theoretically possible to reduce the block time now, if necessary.
Both modifications increase the number of transactions that Cardano will be able to process in an epoch.
The IOG team monitors the network and knows best what adjustments can be made. I dare to say that both adjustments can be made at this moment. At the same time, however, the demand for transactions may likely be higher than it is possible to increase the current capacity of the network. Adjustments may not meet demand and Cardano may become clogged.
A Long-term Solution
It is necessary to address the problem from a long-term perspective and come up with a solution that will significantly increase the network capacity.
Input Endorsers is the most ambitious solution that can raise the number of transactions processed per second to several hundreds to thousands (let's ignore that TPS is not a suitable metric for Cardano).
However, this solution is relatively far away. We probably won't see it in this bull market.
Another solution is Hydra. This is an L2 solution similar to Lightning Network. We can expect Hydra before Input Endorsers. Cardano is a smart contract platform. People want to use DeFi applications. Hydra must be integrated with applications, ideally in such a way that the users hardly know about it. This is still a big challenge. If at least one DEX uses Hydra in the next bull market, it will be cause for celebration. The SundaeSwap team presented a demo using Hydra, so it's probably the furthest along in the implementation.
Cardano will have a system similar to a fee market. The solution is called tiered pricing.
Tiered pricing is based on the assumption that users have different expectations for each transaction in terms of the fee and the delay (priority) in including into the block. Some are happy to pay more to get their transaction into the block as quickly as possible, while others prefer to pay less and are willing to wait longer.
The tiered pricing paper proposes splitting block space into tiers. Each tier will have a different settlement delay and fee. The number of tiers, along with delays and fees in each tier, will be adjusted automatically depending on current demand.
Tiered pricing does not increase the capacity (throughput) of the network, but makes it fairer for the poor and the rich. Bitcoin's fee market makes the network usable only for the rich if it is congested. Tiered pricing maintains determinism and fixed fees, but adds the ability to prioritize urgent transactions and pay more for quick settlement.
These described solutions will not necessarily be the final solutions for Cardano scalability. Further improvements may come in the future if there is demand.
In the context of the upcoming bull market, which is expected in 2025, it is necessary to consider the described short-term solutions. Additionally, DeFi teams may consider using Hydra. However, it is possible that the Hydra team needs to complete some functionalities to make this even possible. Having full blocks is a nice problem to have, but it needs to be addressed. At the same time, it is important not to sacrifice decentralization. This is often forgotten. There are blockchains with very good scalability but at the expense of decentralization. For some users, as well as third-party teams, it is the preferred solution. Not everyone wants the most decentralized solution possible.
The difference between Bitcoin and Cardano is that the IOG team tries to address L1 scalability. While Bitcoin will remain more or less as it is for years to come, Cardano will remain a leader in innovation. This is the biggest difference between the projects and the expectations of their communities. The expectation of the Cardano community is that Cardano will bring decentralization to all who need it, especially those who need it the most. The Bitcoin community has no plans to fundamentally change L1. Higher scalability should only be available via L2 or even via a custodial solution.
One of the Bitcoin narratives is that on-chain transactions will only be available to the rich (maybe only for banks and institutions). From my point of view, this is not the right way. If we are forced to divide users into first-class and second-class citizens, we will have to admit that decentralization has not solved any problem. Decentralization must be accessible to all. This is exactly why we need more blockchains with different trade-offs. Custodial solutions should not be the way for us.