Scaling through reductionism
Optimising consensus with validator subcommittees
Last updated
Optimising consensus with validator subcommittees
Last updated
Once a transaction is executed by the leader, it is immediately recorded to the validator’s copy of the ledger and propagated to the rest of the network. After a block has achieved the necessary votes from consensus, the transaction is considered "confirmed." Finally, a block is considered "finalized" when 31+ confirmed blocks have been built upon it. These stages are returned through the RPC back to the front-end, allowing the user to see the status of their transaction.
Many blockchain networks construct entire blocks before broadcasting them, known as discrete block building. Solana, in contrast, employs continuous block building which involves assembling and streaming blocks dynamically as they are created during an allocated time slot, significantly reducing latency.
For a block to gain acceptance, all transactions within it must be valid and reproducible by other nodes. The leader divides the block into smaller pieces called "shreds." Each shred contains a portion of the block data and is linked to others using cryptographic hashes.
The leader broadcasts the shreds to the validator nodes in the cluster. This is typically done via a gossip protocol to ensure wide and efficient dissemination of data. Validators collect shreds and reconstruct the full block from the received shreds.
Validators verify the integrity and validity of the block by checking the PoH hashes and ensuring the transactions are valid and have not been double-spent.
Once a validator verifies a block, it sends a vote transaction to the rest of the network, indicating that the block is valid. When enough votes are collected, the network reaches consensus, and the block is added to the blockchain.
In the Solana blockchain, for a block to be confirmed, a supermajority of votes from the validators in the cluster is required. Specifically, this supermajority is defined as two-thirds (or 66.6%) of the total voting power in the network.
While the network is small this model works very well but will lead to scaling challenges over time, best addressed by the concept of algorithmic complexity.
Addressing scalability while maintaining security and decentralization presents a significant hurdle for blockchain technologies. Traditional blockchains, such as Bitcoin and Ethereum, encounter challenges in this area, frequently experiencing bottlenecks with the expansion of network size and activity. These networks utilize a Nakamoto-style consensus mechanism, necessitating that end-users compete through transaction fees for block inclusion.
Due to the static nature of block size and the fixed frequency of block creation, in contrast to the continuously increasing demand for network usage, this mechanism results in heightened transaction fees and prolonged confirmation times during peak demand periods.
Unlike Bitcoin and Ethereum, blockchains like Fantom and Solana adopt an alternative approach by implementing asynchronous block voting mechanisms. This method requires a minimum participation of two-thirds of all network nodes in message exchanges that facilitate voting. The outcome of this process is a consensus complexity that grows quadratically, denoted mathematically as O(n^2). Although this strategy can be highly efficient and swift for the user's transactions, it inherently restricts the network's scalability with increasing node numbers.
Avalanche employs a novel strategy to mitigate complexity through the introduction of neighborhoods. By adopting a gossip-like structural mechanism, Avalanche effectively reduces its consensus complexity to a logarithmic scale, or O(log(n)). This advancement marks a significant leap towards enhancing scalability without a proportional increase in consensus complexity, while maintaining fast transaction execution times.
The X1 Blockchain improves its consensus algorithm by incorporating subcommittee voting, a concept borrowed from the HotStuff2 consensus model. This enhancement addresses the inefficiencies found in traditional blockchain networks, such as Solana, where the voting process is O(n^2) due to the flat network topology requiring all nodes to participate in voting. This excessive communication creates a bottleneck, slowing down the consensus process.
In contrast, the X1 Blockchain employs a more streamlined approach by selecting a smaller subset of nodes, or subcommittees, to handle voting and validation. This reduces the overall communication overhead and computational load, enabling faster consensus with fewer resources. By supporting an indefinite number of nodes (n) while only requiring a limited group (x) to vote, the X1 Blockchain maintains a constant time complexity, O(1), for consensus operations.
This strategic use of subcommittees enhances the scalability and efficiency of the X1 Blockchain, allowing it to handle larger networks and higher transaction volumes without the drawbacks of traditional consensus methods. The adoption of subcommittee voting ensures that the network remains both scalable and secure, providing a robust foundation for future growth.