What is consensus?
A consensus protocol is a blockchain mechanism that ensures synchronization among the nodes and establishes an agreement upon the transactions and blocks to be considered legitimate and hence added to the blockchain. These are fault-tolerant methodologies to maintain a single state of the network and harmonize all the distributed nodes.
The purpose of having a consensus mechanism is to validate and authenticate the transactions and hence ensure that the integrity of the blockchain network remains intact. A consensus is an agreement on what is acceptable and what is not! before creating an immutable ledger and adding it to the blocks of the network. A consensus can be given by any or all of the nodes on the network that have earned the rights to validate a transaction(or a block). These nodes are called validators or miners or verifiers based on the terminology suitable for the network and consensus protocol in use. This blog discusses the need for a consensus mechanism and elucidates the analysis and the process of concluding upon the befitting consensus protocol for a blockchain network.
Why is a consensus mechanism needed?
The 4th iteration of the industrial revolution is transitioning the modern industry from a merely digitized version of what was manual a few decades ago, into an efficiently automated, secure, and robust decentralized cyber-physical system. Today, the goal is to introduce better technology tools, capable of enabling a trustless and permissionless network of products and services which are more efficient and better engineered for Web3.0 and other emerging technologies.
They are implemented to ensure a single state of the network and that all the nodes are connected to the correct network. A consensus mechanism is the single controlling identity that ensures the security and authenticity of the decentralized ledger, a blockchain forms. Blocks of transactions are added to the existing blockchain only after being authenticated and validated by the mechanism specific to the blockchain to agree upon the correctness of the transaction. A consensus is mandatory to extend the chain by adding blocks, where each block is a collection of transactions. It is the growth of the chain that keeps the network functional. The consensus mechanism ensures that the transactions remain accessible and the system remains transparent. Consensus algorithms eliminate third-party intermediaries to ensure the correctness of transactions. As consensus achieves a global state of transactions in the chain, all nodes/peers can trust each other. This induces fault tolerance in the network.
In a blockchain, the distributed ledger is managed in a decentralized manner. In some chains, multiple independent nodes take the responsibility for maintaining the blockchain while in others the consensus is more of an automated nature and the nodes are responsible only for submitting or proposing the transactions. It is due to a consensus mechanism that the user experience is enhanced through the agreed truth among the stakeholders that account for the heterogeneous network nodes and components.
Electing a consensus mechanism
The evolution of blockchain technology has been accompanied by a congruent evolution and innovation in consensus mechanisms. The consensus protocol may have many objectives like maintaining security, cooperation, equal node rights, blockchain governance, a certain percentage of node participation, etc. these consensus goals form the premises to scrutinize any block and validate it to be added to the chain to reach the next stable, reliable and secure state in the network.
To conclude upon any consensus mechanism, it is important to understand the priorities and framework of the blockchain. Along with this, there is a need to understand the required architecture, underlying functionality, and the primary components involved in the consensus mechanism. Thereafter a consensus methodology befitting for the blockchain can be concluded. Below are some of the major characteristics accounted for, while evaluating a consensus mechanism to be employed on a blockchain.
Analyzing Consensus Algorithms for the applications
● Blockchain Type
Based on the properties of the application or system that employs blockchain, the amount of control and accessibility of the blockchain is categorized into private, public, or consortium. The consensus mechanism must maintain the same while ensuring the security and integrity of the blockchain.
● Decentralized governance
A network when governed by players distributed across the network ensures firstly, that the blockchain will not end up being centrally controlled resulting in monopolistic governance driven by the interests of a small section of users, and secondly ensures that all decisions made through a distributed consensus are aimed at a common goal of benefitting the blockchain and maintaining its security and integrity.
● Scalability And Attacks
Any blockchain must be scalable. A consensus like PoW that requires high compute power renders it impossible to scale freely. Blockchains aimed at being globally adopted must without fail be scalable and the consensus mechanisms like PoT and ELASTICO are devised to aid the same.
Scalability comes with the tradeoff for the blockchain becoming more susceptible to attacks, hence the blockchain governance and consensus should be chosen carefully to ensure high security.
● Adversary tolerance model
No network can be immune to faults. Every blockchain similarly is susceptible to two major kinds of faults- crash and byzantine, discussed further. Protecting the blockchain against malicious operations should be embedded within the governance and the consensus model of the blockchain. The consensus mechanism must ensure that the robustness of the blockchain is maintained through attacks and vulnerabilities.
A consensus mechanism that may help the blockchain avoid such attacks and even recover seamlessly in case any of these occurs is another measure that helps conclude why a particular consensus mechanism may or may not be suitable for the blockchain.
● Performance parameters
Digitization and globalization have escalated the number of transactions occurring across any industry vertical. Through the years blockchains too have evolved from a few transactions a day to processing complete blocks within seconds. Hence a use case requiring real-time transaction processing and finalization would need such a consensus mechanism as well. Such a consensus mechanism requires the uninterrupted availability of validator nodes.
Bandwidth, latency, and throughput are the essential parameters to be monitored that make a blockchain reliable. A blockchain must maintain high throughput and low latency values. It must support a bandwidth capable of handling the amount of traffic it intends to attract. Mechanisms like DPoS, PoET, and Tendermint support high scalability and throughput.
● The complexity of the communications model
Based on the response time, a consensus protocol must be able to accommodate communication requirements. Be it synchronous (low response time) or asynchronous (high response time), it is the application that determines what kind of communication and what consensus protocol will be best suited for the specific use case.
Gathering consensus from multiple, distributed nodes is a tedious task. From proposing a block to be added to the chain to the point where it is added and all the nodes have arrived at the updated state of the blockchain, the journey is neither smooth nor predictable. A consensus mechanism that acknowledges and manages the same is of high importance for blockchains with a high volume of transactions and hence validation-ready blocks.
● Quorum structure
For a distributed system to enforce consistent operation, there is a minimum number or percentage of nodes that must consent, for a block to be considered valid and added to the chain. A consensus algorithm with a quorum structure that enforces the decentralization and distribution of consensus is preferable for any blockchain.
● Energy requirements
A major concern globally is the energy requirements and emission rates of the consensus. Today, most applications and users are skeptical and inclined to choose a consensus mechanism that has a low impact on the already diminishing environmental quality.
At present, the biggest and the oldest blockchain running on PoW that requires extreme levels of computing power is considered the most hostile to the environment and focus has shifted towards better mechanisms like PoS, PoB, and PoC.
● Mining and Consensus Category
Based on the size of the network consensus protocols can be concluded. A network with a large number of distributed nodes favors proof-based consensus while a smaller network prefers voting-behavior-based consensus mechanisms. This though is quite rudimentary. More important is what modus-operandi a consensus mechanism employs. Consensus mechanisms are broadly categorized as below:
- Proof -Based : The ones that depend on the proof from validators based on parameters like computing power, burning capacity, wealth, memory, etc.
- Capability Based : These are intended to reduce the energy requirements but suffer from an inherent flaw of susceptibility to centralization based on the capability under consideration.
- Voting Based : A miner is elected by voting to propose, generate and commit a block. By-election the problem of centralization is resolved to a great extent. Additionally, the proof-based requirements are also taken care of by the electors. Though, this mechanism may indirectly suffer from:
a). Crash Fault: Overloading the elected node with the task of validation and not having any backup mechanism in case of a failure on the elected validation end.
b). Byzantine Fault: This is a subtle fault where an illusionary distribution of consensus is believed to be there although the consensus might be centralized within a few nodes.
● Consensus finality
There are two major categories of transaction finality- absolute and probabilistic. Probabilistic consensus may have transactions rolled back, which can not be committed later in the same block and hence will be re-generated and re-validated to be committed to a block. Here, response time is a factor that influences the determination of the consensus mechanism whether probabilistic or absolute. Today only ripple and DBFT provide absolute finality. The primary goal of a consensus is to maintain an authentic global state of the blockchain, eliminate the vested interest of one or more nodes, and have a dedicated aim of maintaining the privacy of data. A blockchain must always remain in a state agreed upon by every single node i.e. in a perpetual state of unquestionable integrity.
Global accessibility and transparency make blockchains highly susceptible to threats. A consensus mechanism dealing with financial trade should help users mitigate the risks while keeping asset control within the hands of the owner. The achievement of a global state in the chain and its maintenance induce trust among the nodes and peers.
Depending upon the category of the security attacks a blockchain is susceptible to, consensus mechanisms can be employed to add a layer of security over the blockchain. RAFT, PoB, and PoA are a few protocols that stand strong against DDos attacks while PoT and Ripple are robust when it comes to Sybil attacks.
There are a few more considerations needed to be made before a consensus mechanism is finalized they may include the implementation approach, tokenization, and strength of the algorithm.
No parameter single-handedly influences the selection of any particular consensus mechanism. The combination of those parameters impacts how a consensus mechanism performs in various applications developed over that blockchain.
Without compromising the unique characteristics of consensus mechanisms like scalability, security, decentralization, and permissionless swift operation consensus mechanisms can be combined to form a suitable consensus for a particular use case. The purpose of hybridization is to get the best of both worlds, public and private blockchain. The amalgamation is presided by the compatibility of the employed individual consensus. The resultant here is a hybrid blockchain, that experiences stricter visibility restrictions from external networks and smoother internal processing.
The hybridization may not be employed on the blockchain itself but at a second layer above the blockchain, the functional layer where most applications are deployed. Though here the second layer of scrutiny and functionality is added, it reduces the burden on the main blockchain. This must not be compared to a dual consensus mechanism as utilized by Solana, Solana has a consensus where blocks are pipelined based on PoH while the validation is done through PoS. It is an independent blockchain employing two mechanisms of consent at two different times.
Migrating to another consensus mechanism
Ethereum has created a lot of stir by migrating to PoS from PoW. This is not a smooth process. On top of the effort and capacity, the transition phase is plagued by huge vulnerability and thus requires additional effort to protect against Sybil and other attacks. Ethereum itself has done that in phases as once a blockchain is functional that too a public one, there is no halting of the transactions happening around and generation of blocks. Migration on Ethereum has been carried out in phases, and till the point of writing this PoW is parallelly functional with PoS. The Mechanism and considerations of migration are beyond the scope of this blog, though Ethereum has exemplified that it is possible and complex both at the same time.
The future of the Consensus
The future of digitization is centered around blockchain and hence consensus mechanisms are under scrutiny. Every new blockchain is trying to outdo what has already been done. Solana brought in a whole new set of protocols like sea level, and cloud break to challenge the prevalent blockchains. It did benefit from it and reach competitive popularity in no time. The goal though is not a single blockchain or the best consensus mechanism only. The goal is to reach a level of cooperation where individual blockchains can function and currency or any digital transaction is feasible without the boundaries of underlying architecture or blockchain or the governing consensus mechanism. Metaverse, the ultimate single digital space is far until individual blockchains are seamlessly integrable to form a synergic alliance.
Looking for help here?