Charles Hoskinson has stated that Cardano can challenge Solana in terms of TPS while maintaining decentralization. The Ouroboros Leios protocol aims to enhance Cardano's scalability. Let's explore whether it is feasible for Cardano to compete with Solana in this regard. High Throughput: Adapting Consensus to Real-World Conditions Generally, a blockchain's throughput is limited by real-world conditions. These conditions are consistent across all blockchain projects. In theory, all blockchains can achieve high TPS. However, projects vary in how they utilize these real-world conditions to achieve their preferred properties. Teams must strike a balance between decentralization, security, and scalability. For instance, prioritizing high scalability may require sacrificing some level of decentralization. Each project team designs a network consensus—the method by which nodes in the network communicate to agree on a single global state. Understanding Throughput Throughput refers to the number of transactions processed by the network within a certain timeframe, often expressed as TPS. For this discussion, we'll assume an average transaction size of 250 bytes and exclude the execution of smart contracts, which require additional computing power. Scalability can be gauged by the number of transactions or the amount of data processed over a given period. In this article, we will cover multiple projects. It is important to understand the differences at the block level. The first-generation blockchain The traditional first-generation blockchain like Bitcoin works as follows. A randomly selected block producer (leader) produces a block. Once the block is finished, it is broadcast to other nodes who can validate it. Once the block is validated, another randomly selected node starts building a new block. This approach is inefficient because the computing power and bandwidth are not fully utilized. Most of the time, nodes have almost nothing to process. They can only validate newly submitted transactions that are placed into the mem-pool. Therefore, the throughput of the first generation of blockchain is low. It is determined by the frequency at which blocks are produced and the block size. A Bitcoin block is about 1 MB in size, and a new block is produced, on average, every ten minutes. Each block can accommodate around 4,000 transactions, but throughput is primarily restricted by the long block time (low mining frequency). Bitcoin's TPS rate is 7. The issue is that transactions can only be included in a new block 10 minutes after the previous block has been added. Most of the time, nodes have very little to do, merely waiting for the next block to be produced. Solana Solana has introduced a unique form of concurrency and optimization. Instead of broadcasting blocks as a single unit upon completion, blocks are broken down into smaller pieces called shreds. Block producers (leaders) stream these shreds while they are being built. Other nodes begin receiving and verifying these shreds even as the block is still under construction. While blocks are finalized sequentially in the ledger, Solana decouples block production from finalization. In this respect, Solana is similar to Ouroboros Leios, which we will describe later. Leaders in Solana do not need to wait for the entire previous block to start building the next one. Blocks are scheduled in advance, allowing the next leader to begin work on the new block as soon as its slot starts (following a 400ms schedule), even if the previous block isn't fully processed. Validators process shreds as they arrive and can also execute transactions “speculatively” before blocks are finalized. Notice that Node 3 began working on the next block (starting with shred 1b) even though the previous block (shreds 1a-4a) had not been fully processed. Solana has a block time of 400 milliseconds and a maximum block size capped at 128 MB. Theoretically, up to 512,000 transactions can fit into a block. Solana produces 2.5 blocks per second, resulting in a theoretical maximum TPS of an impressive 1.3 million. However, this is purely a mathematical estimate and does not account for real-world constraints. In practice, theory and reality often diverge. Currently, Solana cannot achieve such a high TPS. In reality, Solana typically processes 2,500 to 5,000 TPS. The usual block size ranges from 1 to 2 MB, allowing the network to handle 10,000 to 20,000 transactions or up to 5 MB of data per second. Solana follows a fixed schedule of leaders (block producers). Every 400 milliseconds, a leader starts producing a new block, regardless of whether the previous one is finished. This sometimes necessitates discarding some blocks and the transactions within them. Solana's optimal throughput is approximately 2-3 MB per second, assuming users do not wish to encounter failed transactions. While Solana may achieve higher throughput for short periods, sustained user activity often results in a large number of failed transactions. Many transactions may expire, and in extreme cases, a network restart may be required. Solana needs further improvements to achieve higher throughput and reliability simultaneously. Cardano’s Ouroboros Leios The goal of Ouroboros Leios is to achieve near-optimal throughput. Leios allows for the parallel insertion of transactions into multiple blocks. This means that at any given moment, there can theoretically be multiple block producers. However, it is more likely that new blocks will be minted at various locations in the network with a high frequency of tens of milliseconds. This is a fundamental difference between Solana and Cardano. The goal of Solana's consensus is to build one block at a time and try to complete it within 400 milliseconds, before the next leader starts building the next block. Ouroboros Leios will use 3 types of blocks: Ranking Blocks Endorsement Blocks Input Blocks Ranking Blocks will be processed sequentially to maintain the basic principle of the blockchain. A single global state will be maintained. Input Blocks are data carriers. New transactions will be inserted into them. The minting frequency of Input Blocks can be 0.2 to 2 seconds. A Ranking Block can reference multiple Endorsement Blocks. Endorsement Blocks can reference multiple Input Blocks. New transactions in Input Blocks are validated against the last Ranking Block. Thanks to the UTxO model, Input Blocks are independent of each other in terms of validation. Nodes can process Input Blocks and Endorsement Blocks in parallel. In the network, a majority agreement between nodes regarding the Input Blocks is achieved through Endorsement Blocks. To confirm an agreed state, certificates are regularly created. The computational power and bandwidth of nodes can be utilized almost to the maximum. This optimal utilization of resources is necessary to achieve high TPS. Note that all nodes in the network have something to do at any given moment. Ouroboros Leios aims to achieve the highest possible degree of parallelization while maintaining decentralization and a single global state. I do not believe that Cardano will have a higher TPS than Solana immediately after Leios is implemented, as the block minting frequency will likely be set conservatively. The important aspect is the potential for gradually (and safely) achieving a very high TPS, depending on what the network can support. As Internet throughput increases, the frequency of Input Block minting and their size may also increase. Similar to Bitcoin and Solana, Cardano's throughput will depend on the minting frequency of blocks (Input Blocks) and their size. The team recently conducted simulations and revealed that they are testing a minting frequency of around 50 to 100 blocks per second. It turns out that a safe limit is currently around 30 to 50 minted blocks per second. Assuming the Input Block size is 90 KB, which is the same size as the current Cardano block, each block can hold around 360 transactions. In terms of transactions per second (TPS), this would translate to approximately 10,800 to 18,000 TPS. Cardano's throughput would range from around 2.7 MB to 4.5 MB per second, similar to what Solana currently achieves. In practice, the TPS might be lower because some Input Blocks might contain duplicate transactions. Additionally, Input Blocks may need to be smaller if the minting frequency is high. It is theoretically possible to experiment with a lower minting frequency and larger block sizes. Conclusion The battle for the highest TPS is constrained by real network conditions, which are the same for everyone. Assuming a well-designed consensus can process approximately the same amount of MB per second, it is intriguing to see what compromises the team had to make regarding other network properties, especially security and decentralization. Higher decentralization may place greater demands on communication between nodes, which could hinder achieving higher scalability. Blockchains also differ in many other aspects, such as reliability, hardware requirements, robustness, and resistance to spam transactions. Blockchains using sharding can process more MB per second because they divide the global state into sub-states, effectively partitioning the network into multiple, somewhat independent networks while still maintaining a single global state. Although Cardano is optimized for high decentralization, it could one day achieve throughput similar to Solana's with the implementation of Ouroboros Leios. Solana is optimized for scalability and will always have an edge in this regard. However, the gap between the networks may not be as wide as it is today.