Preface – This post is part of the Blockchain Basics series.
Table of Contents
The literal meaning of consensus is “A general agreement” which means a consensus for a Blockchain is a mechanism of validating transaction before pushing it into a block, based on general agreement. The common example of agreement can be seen in bitcoin where it is required to have miner’s agreement of more than 51%. Consensus mechanism used in bitcoin is Proof of Work.
For example, Gargi sends $100 worth of Bitcoin to Rudra, Gargi will lose 100$ worth of Bitcoin from her wallet, and Rudra will gain 100$ worth of Bitcoin in his wallet. But it must be validated and verified that if Gargi actually had 100$ worth Bitcoin in her account or not. This is validated by the miners in the Blockchain and if more that 51% miners agreed upon this transaction, then only the transaction will be validated.
There are several ways to reach on a consensus technically, we’ll discuss the few and wide used agreement mechanisms:
Proof of Work (PoW)
The process of finding nonce is available for everyone and it will be achieved earlier by the one who has better computational power (because of higher probability to guess). This way of corroborating a block in Blockchain where the work (here guessing a nonce) is taken into account as a signal of validation is termed as Proof-of-Work. This mechanism is employed in Blockchain based cryptocurrencies like Bitcoin.
Proof of Stake (PoS)
The process of finding nonce is achieved earlier by the one who has better computational power. This could end in a monopoly of wealth and will lead the monopoliser to impose conditions on the remainder of network. And if this monopoliser has malicious intentions, then it could lead low confidence in Bitcoin. To overcome this issue, an agreement mechanism was designed in such a way that the forger/validator can keep associated quantity of crypto currency as a stake and will be probabilistically appointed an opportunity to be the one validator and build new blocks. This too provides a monopoly to rich as they could stake more and will have high probability to become validator. As stake can be confiscated if dishonourable validation unit are created, hence it seems safer than PoW. This mechanism is employed in Dash, NEO and PIVX.
Proof of Elapsed Time (PoET)
In 2016, Intel observed the difficulty of terribly high resource utilization and energy consumption in current agreement mechanisms. To solve this issue and serve the aim “cost should stay proportional to the worth derived from the process”, Intel brought Proof of Elapsed Time. In this paradigm, each participating node of a permissioned Block within the Blockchain are assigned random waiting time. The one with lowest waiting time wins the chance to become a validator. This is more like a lottery type. This mechanism is used in Hyperledger.