Blockchain Consensus algorithms ensure each new block added to the network is the only version of the truth, which is agreed by all the nodes in a distributed/decentralized computing network.
Blockchain is a distributed decentralised network that aims to give immutability and security of data. Without a central authority to validate and verify the transactions, each transaction in a Blockchain network is considered to be truly secure and validated.
As blockchain functions in a decentralised manner and records large volume transactions in real-time, there may be the complexity of what is the truth is. The key is to get consensus one way or another, or else malicious things like double-spending attacks can occur. This is where the consensus algorithm comes in.
Sign up for your weekly dose of what's up in emerging technology.
A consensus algorithm is a mechanism in computer science used to establish agreement on a single data value across distributed processes or systems. A consensus algorithm is a protocol through which all the parties of the blockchain network come to a common agreement (consensus) on the present data state of the ledger and be able to trust unknown peers in a distributed computing environment.
For blockchain networks, the consensus algorithms are an essential element because they maintain the integrity and security of these distributed computing systems. In this article, we look at the different types of blockchain consensus systems that are popular today.
Proof Of Work (PoW) Based Blockchain Consensus
Proof of Work (PoW) is the process of producing a cryptographic hash, and the concept was first introduced in 1993 by Cynthia Dwork and Moni Naor, and later re-introduced by Satoshi Nakamoto in the Bitcoin whitepaper in 2008. Proof of Work in blockchain systems historically originates from its use in Hashcash, which was conceived by Adam Back as a system to limit email spam and denial-of-service attacks.
In a PoW system, blockchain validators must take data from a block header as an input, and continuously run it through a cryptographic hash function. Validators hash slight variations of the input data by including an arbitrary number called a nonce every time the input data is run through the cryptographic hash function. PoW needs high levels of electricity of processing power to decide what data gets added to the next block in a blockchain. Specialised computers called ASICs are required to compute complex mathematical problems needed for the PoW system.
Proof Of Stake (PoS) Based Blockchain Consensus
The PoS consensus algorithm was created in 2011 as an alternative to PoW. Although PoS and PoW have similar objectives, they present some fundamental differences and features, especially during the validation of new blocks on the blockchain network. The Proof of Stake (PoS) consensus algorithm differs with the PoW mining consensus with a mechanism where blocks are validated based on the stake of the network participants. Here, unlike running hash functions, validators stake resources primarily in the form of digital money or tokens. The validator of every block is then randomly selected from the stakeholders based on the amount of computational power allocated.
Each PoS system may implement the algorithm in different ways, but, in general, the blockchain is secured by a pseudo-random election process that considers a node’s allocation and the allocation– determining the commitment of the party to ensure the network. The Ethereum blockchain, which is the world’s largest blockchain network in terms of developer activity has initiated to switch from PoW algorithm PoS in an attempt to increase the network’s scalability and reduce excessive electricity wastage.
Delegated Proof-of-Stake (DPoS) Based Blockchain Consensus
Conceptualised by Daniel Larimer, delegated Proof-of-Stake (DPoS) is an another type consensus algorithm, which is based on voting systems where “delegates” vote for their favourite validators to help in the consensus state of new blocks. These validators will also be responsible for validating transactions, maintaining the blockchain network, and will get rewarded in return in doing so with transaction fees. Also, each voter’s power is proportional to the size of the stake in the network. Blockchain projects like EOS, Bitshares, Steem, Tezos, etc. use DPoS consensus algorithm 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 Elapsed Time (PoET)
PoET consensus system was developed by Intel to solve the computing challenge of “random leader election.” It was released as part of the Software Guard Extensions (SGX) programming reference manual. PoET is now utilised by many private blockchains, including Hyperledger Sawtooth as it relies on randomised timer system for network participants rather than using mining hardware as in the case of Proof of Work (PoW). Each participating blockchain node in the network is needed to wait for a randomly chosen period, and whoever with finished time wins the new block and validates it.
Proof of Authority (PoA)
Proof of Authority (PoA) is a consensus algorithm type based on the reputation of trusted parties in a blockchain network. It is considered an efficient mechanism for private blockchains and was conceptualised by Ethereum co-founder and former CTO Gavin Wood in 2017. PoA consensus algorithm is based on the value of identities within a network- and in a system block, validators do not stake resources 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 algorithm can be utilised in applications such as supply chains or trade networks because the real identities of nodes are known and trusted.