How much will Ouroboros Leios increase Cardano throughput?

Ouroboros Leios aims to address the challenge of optimizing capacity in the Cardano blockchain network, focusing on achieving near-optimal throughput. By balancing computational resources, bandwidth, and consensus efficiency, Leios strives to substantially increase the system’s overall throughput while maintaining security properties. Although Transactions Per Second (TPS) is not an ideal metric for Cardano, we will examine the theoretical TPS that could be achieved with Leios.

Current TPS

Currently, a Cardano block is 90,112 bytes in size, and a typical transaction is roughly 300 bytes, though this can vary with the number of input and output UTxOs. Each block can hold about 300 transactions, and since Cardano mints a new block every 20 seconds, this results in approximately 15 TPS.

Large multi-recipient transactions are more economical than single transactions. The maximum transaction size is limited to 16,384 bytes, which can contain up to 250 recipients. If a block contained such large transactions, roughly six transactions would fit into a block, sending values to up to 1500 recipients per block, equating to 75 recipients per second. However, blocks with such transactions are exceptions.

This example demonstrates that TPS is not a suitable metric for Cardano, as it does not consider multi-recipient transactions.

During a recent DDoS attack lasting approximately 16 hours, Cardano managed 40 TPS reliably.

Factors Limiting Current TPS

IOG has set the block size and minting rate conservatively. In the past, transaction demand has occasionally exceeded the network’s capacity, prompting IOG to increase the maximum block size. They follow a strategy of incrementally increasing network throughput as needed.

Higher throughput can also be achieved through optimizations. Applications migrating from Plutus V1 to Plutus V2 require less block space, increasing throughput. However, fundamental throughput increases cannot be achieved solely through optimizations.

TPS with Ouroboros Leios

In Ouroboros Leios, throughput will depend on the size and minting rate of Input Blocks (IBs), which serve as data carriers. Endorsement Blocks (EBs) and Ranking Blocks (RBs) will only contain block references, potentially as small as a hash. Endorsement certificates will be transmitted within the network, with part of the resources allocated for voting.

Input Blocks will occupy the largest capacity, with a minting rate between 0.2 to 2 seconds. The size of Input Blocks is expected to be similar to or larger than other block types. The minting rate for Endorsement Blocks will range from 10-15 seconds and for Ranking Blocks from 15-30 seconds.

Possible Scenario

Consider a scenario where 100 IBs, 4 EBs, and 1 RB are minted every 20 seconds. If each block is 90 KB, approximately 10 MB of data would be created in 20 seconds, totaling 1.8 GB per hour. Each Endorsement Block would reference about 25 Input Blocks, and each Ranking Block would reference 4 Endorsement Blocks (plus endorsement certificates).

Initially, the minting rate and size of all blocks will likely be set conservatively to match demand. Smaller blocks diffuse faster in the network, and as block size increases, throughput increases due to more transactions per block. However, larger blocks diffuse more slowly, an undesirable side effect. As the number of nodes grows, the total delay increases, meaning it takes longer for data to reach the farthest node in the network.

TPS Achievements

The table below shows TPS that is achievable with different minting rates and Input Block sizes. We put a maximum block size of 500 KB in the table. It’s just a random number.

As you can see, roughly 1500 TPS can be achieved with a block size set to 500 KB and a minting rate set to 1 second. A similar TPS can also be achieved with a block size of 90 KB and a minting rate of 0.2 seconds.

It will be necessary to observe the network to set the ideal ratio between minting rate and block size.

In theory, it is possible to strive for a higher TPS by changing the parameters. In practice, however, we encounter limitations in the form of bandwidth, CPU, and disk storage. Higher throughput will place high hardware demands on SPOs. This could lead to higher reward requirements.

Achieving 1500 TPS is significant for Cardano because, in terms of recipients per second, it can handle around 5,000 user requests per second. The 1500 TPS result assumes simple transactions, requiring 300 bytes to transfer value from Alice to Bob. Other networks, not blockchain, will likely be used for payment transactions.

Conclusion

The numbers given in the article are still only theoretical. IOG is working on a prototype of Leios. Testing in practice will reveal the limits of Ouroboros Leios.

Increased traffic will present a challenge for SPOs, especially concerning disk storage. It will be necessary to introduce some of the techniques that will reduce these demands. Options are data sharding, data pruning, or data compression.