Introduction to Blockchain Consensus Algorithms
What is Blockchain
A blockchain is a record of digital transactions. It is a distributed software network which can function both as a digital ledger and as a mechanism allowing the secure transfer of assets without an intermediary party. It is the technology that allows exchanging the units of value digitally.
Blockchain makes a record of each transaction and each transaction is secured by a digital signature. Every time when a transaction is completed, it generates a hash for the transaction. Hash of the previous transaction is used for generating the hash for a newer transaction. Even a small change in transaction can result in creating a completely new hash. Each transaction is registered in order in which they occur based on the consensus algorithm in use.
None of the transactions in the blockchain is verified by central authority but every transaction is completely secured and verified. This is possible due to consensus algorithms.
It is through a consensus algorithm that each node verifies the authenticity of the new entry which is to be added in the blockchain ledger. Using consensus algorithms each node reaches a common agreement on the authenticity of any transaction and once the authenticity is verified the entry for the transaction is added to the blockchain ledger.
There are many consensus algorithms available for any blockchain. Each algorithm has their own principle and can be used as per the nature of the blockchain.
Let’s have a look at various blockchain algorithms and how they work –
- PoW – PoW stands for Proof of Work. It was introduced in 1993 by Dwork and Naor and reintroduced by Satoshi Nakamoto in bitcoin ledger in 2008. PoW selects a miner for generating the next block. The idea behind PoW is to find a solution for a complex mathematical puzzle. The miner who first solves the puzzle gets to mine the next block. This algorithm is used by bitcoin and requires a lot of computational power for finding the solution of the puzzle.
- PoS – PoS stands for Proof of Stake. PoS was introduced in 2011 as a low-cost, low-energy consuming alternative to PoW. In PoS, miners don’t need expensive hardware for solving a complex puzzle instead the miners lock up their coins as stake and validate the block by placing a bet. Once a new block is added all the validators get rewarded proportionate to their bets and increase the state accordingly. Ethereum uses this algorithm for mining.
- DPoS – DPoS stands for delegated Proof-of-Stake. It was introduced by Daniel Larimer. In DPos, delegates vote for their favourite validator to reach consensus for a new block and the elected validator is responsible for maintaining the network and validating the transaction. In return the validator gets rewarded with transaction fees for the work. EOS, Bitshares, Steem, Tezos, etc use this consensus algorithm for validating transactions in the block.
- PoB – PoB stands for Proof of Burn. As the name suggests, in PoB validators ‘burn’ coins by sending them to an address where they are not recoverable. It’s on miners to burn the native currency or any of the currency of their choice. More the number of coins a miner burns, the higher is his chances of his selection to mine the next block. Though PoB wastes resources, PoB is a good alternative for PoW. The only coin which uses Proof-of-Burn is Slimcoin, it uses a combination of PoS, PoW and PoB.
- PoC – PoC stands for Proof of Capacity. In Proof of Capacity algorithms, instead of burning coins or investing in expensive hardware resources, validators are supposed to invest in their hard drive space. More the hard drive space validators allocate, the better are the validators chances of getting selected for mining the next block for earning the block rewards.
Above are the widely used consensus algorithms used in blockchain. Other than the above ones, there exist other consensus algorithms like Proof of Activity, Proof of Weight, Proof of Importance, Leased Proof of Stake etc. Thus, it is very important to wisely choose the appropriate consensus algorithm as per the blockchain functionality and requirement since Blockchain networks need to verify each and every transaction being committed and cannot function properly without the right consensus algorithms in place.