In a previous article, we familiarized the concept of consensus mechanisms and how to choose the right consensus mechanism for a permissioned blockchain network. In this article, let’s explore what’s new in the world of DLT, blockchain and newer consensus mechanisms.
A quick brush up on the basics,
A consensus mechanism is the core element of any blockchain network. A blockchain network is formed by numerous nodes that verify the authenticity of transactions happening in the network and the consensus mechanism enables these nodes to arrive at a consensus on what transactions to be added in a new block in the blockchain. Hoping you have a basic understanding of blockchain technology, let’s explore in detail various consensus mechanisms.
By choosing the right consensus protocol, it is easier to guarantee the fault tolerance and security of the blockchain systems. The consensus protocols enable every single node in a blockchain network to maintain the exact same distributed ledger. In a centralized system, arriving at consensus isn’t a challenging task since there is only one central server/node or a group of distributed central nodes. But in DLT and blockchain networks, each node exists as a host and a server. They need to exchange information with other nodes to reach a consensus.
Some nodes may be offline, some may not work as expected. And this will adversely impact the process of consensus. This is why it is important to choose a good consensus protocol that can tolerate such occurrences and minimize the harm so as not to affect the final consensus result.
While choosing a consensus protocol, it is also important to consider the type of blockchain network used in the system. There are three basic types of blockchain networks: permissioned blockchain, consortium blockchain, and permissionless blockchain. Each type of blockchain has different application scenarios. The consensus protocol being adopted must meet the requirements of this application scenario. If you want to know more about consensus protocols in permissioned blockchain networks, you can read our previous article, how to choose the right consensus protocol for permissioned blockchain networks.
From incremental modifications in the Nakamoto consensus protocol to innovative alternative consensus mechanisms, many consensus protocols have been proposed to improve the performance of the blockchain networks. In this article, we will discuss other types of consensus algorithms that can be used for any type of blockchain network.
The design and deployment of a consensus protocol require a lot of planning. It is important to consider important factors like resiliency against node failures, node behavior, network partitioning, network latency, corrupt or out-of-order inputs, etc.
There are two primary fault-tolerance models that can be seen in distributed blockchain networks: crash failure and Byzantine failure.
In order to respond to these two failure models, two types of consensus mechanisms have become popular:
Consensus algorithms can also be classified based on the reward mechanism that participating nodes might receive. The categories include incentivized and non-incentivized consensus.
In order to tell whether a consensus mechanism is a good candidate for your blockchain application, you must consider the following factors-
Choosing a bad consensus algorithm increases the vulnerability of the chain. It can often lead to blockchain forks. These refer to circumstances where a single chain diverges into two or more. When a Blockchain fork occurs, the application begins operating in an unpredictable manner, creating two or more diverged nodes ahead.
When a bad consensus mechanism is considered, either the node gets malfunctioned or suffer from network partition. This delays the process of exchanging messages between nodes and increases the latency of the application, which ultimately lowers down the performance level.
Another effect of incorporating a bad consensus mechanism into your business model is consensus failure. In this situation, a fraction of nodes fails to participate in any process, and thus, in the absence of their votes, the consensus fails to deliver accurate and desired outcomes.
Proof Of Stake (PoS)
To counteract the limitations of PoW (Proof of Work) algorithms, the PoS algorithm was proposed in 2011. Although PoS and PoW are similar in many ways, they have some distinct points of difference. especially during the validation of new blocks on the blockchain network. The core idea of PoS revolves around the concept that the participating nodes in the block creation process must prove that they own a certain number of coins at first. They must also lock a certain amount of its currencies, called a stake, into an escrow account in order to participate in the block creation process. The stake acts as a guarantee that it will behave as per the protocol rules. Peercoin, released in 2012, was the first currency to utilize the PoS consensus algorithm. The Ethereum blockchain, which is the world’s largest blockchain network in terms of developer activity, has made the switch from the PoW algorithm to PoS in an attempt to increase the network’s scalability and reduce excessive electricity wastage.
Delegated Proof-of-Stake (DPoS)
Although it has the name PoS associated with it, it is very different from PoS algorithms. In DPoS, users of the network vote to select a group of delegates (or witnesses) who are responsible for creating blocks. Users utilize reputations scores or other mechanisms to choose their delegates. Delegates are the only entities who can propose new blocks. For each round, a leader is selected from the set of delegates who can propose a block. The selection of the leader is carried out according to the respective system. The leader gets rewards for creating a new block and is penalized and delisted from the set of validators if it misbehaves. The delegates themselves compete with each other to get included in the validator list. Blockchain projects like EOS, Bitshares, Steem, Tezos, etc. use DPoS consensus algorithms for validating transactions. Many experts also call it a democratic version of the Proof of Stake consensus system because it is based on a voting process and elects representatives instead of independent network nodes. According to experts, DPoS can manage a higher transaction volume and quicker confirmation times than PoW and PoS consensus mechanisms because of a limited number of network nodes or trusted witnesses are needed to verify data in each new block of the network chain.
Proof of Authority (PoA)
This algorithm depends on the reputation of the parties in a blockchain network and is commonly used in private blockchain networks. The PoA algorithm was proposed by Ethereum co-founder Gavin Wood in 2017. PoA consensus algorithm is based on the value of identities within a network. Validators do not stake assets but their own identities and reputation. So, PoA blockchain networks are secured by the validating nodes that are arbitrarily chosen as trustworthy parties.
The Proof of Authority model works on a fixed number of block validators, making it an easily scalable blockchain system because transactions are checked by already-approved network participants. PoA consensus algorithms can be utilized in applications such as supply chains or trade networks because the real identities of the nodes are known and trusted.
Proof of Elapsed Time (PoET)
In this algorithm, each participant in the blockchain network waits a random amount of time to participate in the mining process. The first participant to finish waiting gets to be a leader for the new block. Each node also comes up with their own waiting time, after which they go into sleep mode. So, as soon as a node gets active and a block is available, that node is considered as the ‘lucky winner’. This node can then spread the information throughout the network while maintaining the property of decentralization and receiving the reward. PoET comes from Intel, and it relies on a special CPU instruction set called Intel Software Guard Extensions (SGX). SGX allows applications to run trusted code in a protected environment.
Proof of Burn (PoB)
Considered an alternate solution to PoW and PoS in terms of energy consumption, the Proof of Burn (PoB) consensus model works on the principle of letting miners ‘burn’ or ‘ruin’ the virtual cryptocurrency tokens, which further provides them with a privilege to write blocks in proportion to the coins. The more coins they burn, the more are the chances of picking the new block for every coin they get. But, in order to burn coins, they are required to send it to an address where it couldn’t be spent for verifying the block. This is widely employed in the case of distributed consensus.
Proof of Identity (PoI)
The concept of PoI (Proof of Identity) is just like that of the authorized identity. It is a piece of cryptographic confirmation for a users’ private key that is being attached to each particular transaction. Each identified user can create and manage a block of data that can be presented to others in the network. This blockchain consensus model ensures the authenticity and integrity of the created data.