Welcome to the World of Blockchain Consensus Protocols
For cryptocurrency transactions to be conducted successfully, they need to be confirmed by the blockchain. These confirmations are based on what are referred to as consensus mechanisms.
According to KPMG:
“In distributed ledgers, a consensus mechanism is the way in which a majority, (or, in some mechanisms, all) of network members agree on the value of a piece of data or a proposed transaction, which then updates the ledger. In other words, a consensus mechanism is a set of rules and procedures that mains a coherent set of facts among the participating nodes.”
The consensus mechanism is a vital feature of a blockchain as it ensures that all participants of a distributed ledger are on the same page and enables the network to keep functioning even if some of its members are failing.
In this article, we introduce the main consensus mechanisms used by leading digital currencies and tokens.
For a blockchain that uses the Proof-Of-Work protocol transactions are confirmed by ‘miners,’ who are required to make lengthy trial and error computations until a consensus is reached to verify that a transaction a valid. For using their computational power to confirm transactions and to maintain the peer-to-peer network miners are rewarded with new bitcoins.
Cryptocurrencies that are using the Proof-Of-Work protocol include bitcoin, litecoin, dogecoin, and namecoin.
The Proof-Of-Stake protocol differs from the Proof-Of-Work protocol as it makes mining new blocks easier for those who hold the highest amounts of the cryptocurrency. In other words, the stakeholders in a particular cryptocurrency network who have the greatest incentive to ensure the network runs smoothly will find it easier to do so. This feature of the Proof-of-Stake protocol creates an incentive for miners to consume their mined currency as opposed to converting it into fiat currency immediately upon mining, which creates downside pressure on the cryptocurrency.
Furthermore, as pure computational power is not the driver of mining rewards, blockchains that use Proof-Of-Stake protocols require less energy consumption than Proof-Of-Work-based blockchains and alleviate the risk of hardware centralization.
Furthermore, it is argued by some cryptographers, most notably Vitalik Buterin, that Proof-of-Work algorithm behind Bitcoin has nailed the incentive of rewarding members of the ecosystem, but has not implemented any form of punishment. In light of the current schism between the Bitcoin Core and Bitcoin Unlimited, if there was some way to punish ‘bad actors’ that attempt to sabotage the network, then the situation for the Bitcoin community today may be very different.
Also, early Proof of Stake algorithms only included rewards for producing blocks, and no penalties. Without penalties, incentives become misaligned if there are competing chains, as a rational person would stake on top of both chains to ensure their reward. Consequently, even in the absence of attackers, the blockchain may never reach consensus.
Cryptocurrencies that are mining using the Proof-Of-Stake mechanism include Nxt and MintCoin.
The Proof-Of-Importance (POI) consensus protocol is relatively new and is currently being used exclusively by the NEM blockchain to harvest its cryptocurrency, XEM.
The Proof-Of-Importance protocol takes into account how much XEM a participant in the NEM network holds but also how much the user is transacting in the cryptocurrency and, thereby, contributing to the NEM community. In other words, the more important a participant is in within the network, the easier he or she will find it to harvest more XEM.
Like Proof-of-Stake, POI is designed to be energy efficient and it is possible to run a node on a Raspberry Pi device. However, participants are incentivized to run high-performance nodes, or Supernodes, which are given a higher reward and contribute higher throughput to the network. As stated by NEM: “They are regularly tested on their bandwidth, chain height, chain parts, computing power, version, ping, and responsiveness to make sure that they are performing to high standards. If they meet all these requirements, they are given rewards daily.”
Byzantine Fault Tolerance
Another type of consensus mechanism that can be applied to verify the validity of transactions within a blockchain network is the practical Byzantine fault tolerance (PBFT).
The way that practical Byzantine fault tolerance (PBFT) is used to create consensus is that each node in the network publishes a public key. Then, when messages come through a node it is signed by the node to verify the message as being the correct format. Once enough identical responses to the message are reached, consensus that the message is a valid transaction is met.
Unlike Proof-Of-Work and Proof-Of-Stake, a PBFT consensus mechanism does not require any hashing power to validate transactions within a blockchain, which means there is no need for high energy consumption and the risk of centralisation is lower than in PoW and PoS-based blockchain networks.
Practical Byzantine fault tolerance is currently being used by the Hyperledger project, which allows developers to build their own digital assets on a distributed ledger.
Federated Byzantine Agreement
Another consensus mechanism used in the cryptocurrency industry is the federated Byzantine agreement (FBA). This consensus mechanism assumes that participants of a network know each other and can distinguish which ones are important and which ones are not. A participant’s node then waits for the majority of the nodes it deems important to agree on a transaction before the participating node agrees to the transaction. The same goes for other nodes in the network. A transaction is verified once enough nodes deemed important by enough nodes have agreed on its validity.
Stellar, a blockchain-based international money transfer platform, developed its Stellar Consensus Protocol using the federated Byzantine agreement.
Hybrid Proof-Of-Work and Proof-Of-Stake
Blockchains can also use hybrids of two consensus mechanism. Peercoin, for example, uses both Proof-Of-Work and Proof-Of-Stake to verify its transactions.
Peercoin (PPC) uses an initial Proof-Of-Work consensus combined with a Proof-Of-Stake consensus to alleviate issues of a pure PoW consensus-based blockchain. By combining the two consensus models, much lower amounts of energy need to be used for the maintenance of the network and the risk of a 51 percent attack is also lessened substantially.
Miners who have a higher Proof-Of-Stake find it easier to mine further peercoins than those who are mining using pure computing power but are immediately converting their Peercoin into another digital or fiat currency.
A controversial theoretical consensus mechanism that has been introduced by University of Michigan researchers Eric Wustrow and Benjamin VanderSloot for the fictional cryptocurrency DDoSCoin is called Proof-Of-DDoS.
In their research paper, Wustrow and VanderSloot suggest a theoretical cryptocurrency called DDoSCoin that uses a malicious “Proof-Of-Work” consensus mechanism that rewards participants in DDoS (Distributed Denial of Services) attacks with DDoSCoins.
“The malicious “proof-of-DDoS” operates by having miners create a large number of TLS connections to a target web server, and using the server’s signed responses as a proof of connection,” Wustrow and VanderSloot stated in their paper.
Furthermore, “DDoSCoin allows miners to select the victim servers by consensus using a proof- of-stake protocol. Rather than specify a single website or static list that DDoSCoin miners target, choosing them by consensus allows the choice of who is attacked to be made collectively and fairly by DDoSCoin participants,” Wustrow and VanderSloot theorize.
Wustrow suggests that the paper is not a call to action for coders to actually create such a cryptocurrency when speaking to VICE Motherboard:
“We hope that Proof-of-DDoS is eye-catching enough to get people thinking more about [alternate kinds of proof-of-work systems]. We have only attempted to show that the idea is possible; we have not pushed to actually make it a reality today.”
Given the debate about Bitcoin’s scalability and the issues faced when using the Proof-Of-Work consensus, it will be interesting to see what consensus mechanisms will be implemented in future blockchains to ensure secure networks that can carry out a large number of fast transactions at a low cost.