Consensus protocol is a software-encoded protocol by which nodes or participants on the network review and agree on the state of transactions and ultimately, the block itself. Part 1 of this whitepaper discussed that the Bitcoin platform uses a Proof of Work (PoW) consensus protocol and provides detail on how it works.
A concern with PoW consensus is that over time, it becomes quite expensive to solve as there is an exponential increase in computing power and cost. This makes it impractical for businesses or enterprises to use blockchain platforms that use PoW consensus protocol. A more practical approach is to use Proof of Stake or other protocols to ensure consensus in the network.
- Proof of Stake (PoS) – This is the consensus protocol for Hyperledger Fabric and a number of other blockchain platforms. Ethereum currently uses PoW but there is an effort to switch this to PoS due to computing and cost concerns noted above. This should occur in 2018.
PoS is a “consensus protocol in which, instead of mining, nodes can validate and make changes to the blockchain on the basis of their existing economic state.”5 Instead of miners, we have validators – nodes that validate the transactions in a deterministic fashion and complete the blockchain. These nodes stake an amount of their capital, asset or cryptocurrency if they want to process a block. If they are successful at solving the puzzle, they are rewarded with a like amount. If not, they do not lose anything. However, if they are committing fraud or attempting to fraudulently validating a transaction, the other participants in the network can strip them of their stake resulting in a loss for the node; this acts as a deterrent against fraud.
PoS rewards the validators through transaction fees paid for by the users of the block undergoing verification and inclusion into the blockchain.
Depending on the blockchain platform, consensus could range from 100% of the nodes having to sign-off, to a majority, or to a group of nodes that is randomly selected by the platform.
- Other – There are a number of other consensus protocols such as Delegated Byzantine Fault Tolerant (DBFT), Practical Byzantine Fault Tolerant (PBFT), Proof of Elapsed Time, Proof of Authority and others. These alternatives are quite complicated and outside of the scope of this discussion.