Reaching Consensus: How Decentralized Networks Make Decisions
Cryptocurrency Ethereum
Subscribe to our newsletter

Join our mailing list for the latest news, exclusive offers and community events.

article avatar

Consensus algorithms are the means by which individual nodes in a distributed system come to an agreement regarding which data to validate as accurate and which to disregard.  In the case of cryptocurrency, this takes the form of deciding which transactions to honor and which to decline. These algorithms make it very difficult and expensive for someone to attempt to attack the system.

The first, most popular, and most battle-tested consensus algorithm is known as Proof-of-Work (PoW), and is used by Bitcoin, Ethereum (although there are plans to change this), Monero, Zcash, Litecoin, and others.

PoW

PoW requires computers to solve complex mathematical puzzles in order to verify transactions and add blocks to the chain.  These puzzles are difficult to solve but easy to verify by other nodes in the network (thus, each miner can “prove” its “work”).

To gain control of a Proof-of-Work system, an attacker would have to supply at least 25 percent of the network’s computing power.  Thus, the costs of performing such an attack outway the potential benefit.  Gaining control to the Bitcoin network by successfully amassing 25 percent of the network’s hash power currently would cost approximately a million dollars every four hours for the duration of the attack.

Thus, launching such an attack is not financially feasible for all but the wealthiest individuals and institutions.  Even then, the potential gain from launching a 25 percent attack is vastly outweighed by the cost of the attack. Not to mention the fact if such an attack were successfully launched, it would likely crash the markets, massively and perhaps entirely devaluing the gains received from the attack.  This is the means by which PoW incentivizes against behavior that is harmful to the system as a whole.

Proof-of-Work has its downsides--one such drawback is the massive amount of energy demanded by the computer’s performing the work necessary to sustain the network.  It is estimated that the Bitcoin network alone uses as much electricity in a year as the nation of Ireland.

PoW has also led to some level of network centralization.  As mining has become more expensive and computationally difficult, network hash power has become concentrated in a handful of mining pools that employ special ASIC (application-specific integrated circuit) computers designed solely for mining.

One interesting proposal to solve (or, more aptly, utilize) the energy demanded of PoW is Proof-of-Useful-Work.  This consensus algorithm uses the same model as PoW to dissuade attackers, except instead of expending large amounts of energy to perform work that has no purpose other than to secure the network, the computationally difficult work performed is beneficial to society.  

One example of a Proof-of-Useful-Work system is Primecoin, in which miners search for special prime number chains known as Cunningham chains and bi-twin chains, which are useful to mathematicians, in order to verify transactions and add blocks to the blockchain.

Proof-of-Stake (PoS) is currently the biggest competitor to Proof-of-Work. Instead of requiring computational power to add blocks to the chain, PoS requires an economic “stake” in the system.  Users who wish to validate transactions and package new blocks must first lock up some of their own funds. In a PoS system, one would have to hold at least 33 percent of the validators’ staked funds to prevent the network from being able to reach consensus, and at least 66 percent of the validators’ staked funds to successfully gain control of the network--meaning, again, the economic costs and logistical burden would far out-way the benefit of such an attack, as the attack itself would most likely devalue the tokens acquired by the attacker.

PoS

PoS was first introduced by Peercoin, and Ethereum is planning on switching from a PoW to a PoS consensus algorithm.  Despite the interest in this consensus mechanism, there are notable criticisms of PoS as well, including that PoS favors the rich, by giving the wealthiest individuals (the largest token holders) in the ecosystem the greatest amount of power.

A variation of PoS, Delegated Proof-of-Stake (DPoS), is used in platforms such as Cardano and EOS.  DPoS operates by allowing token holders to vote on a select group to process and validate transactions.  In essence, DPoS is the equivalent of representative democracy on the blockchain. Token holders vote on whom they want to be in charge of validating transactions and publishing new blocks.  The weight of each token holder’s vote is proportional to the amount of tokens held. The voting process is continuous, so bad actors can be removed by the community at any time for any reason.  The main criticism of DPoS is that concentrating power in the hands of a few “elected” individuals makes the network partially centralized.

Proof of Elapsed Time (PoET), is unique among consensus algorithms, as it was created by a corporation--Intel.  In PoET, block validators are chosen based on a provably fair lottery system, without having do the work involved in PoW.  Basically, in PoET, each node competing to validate the next block waits a random amount of time determined by the network.  The first node to complete its time-out gets to validate the next block and claim the block reward.

Intel designed PoET to work within their provably secure CPU instruction set, Software Guard Extensions (SGX), to ensure that no bad actor could rig the system to always give them the shortest time-out.  A PoET-based blockchain requires special CPU instruction like SGX to preserve the randomness of the wait time allotments.

This, of course, has the drawback that the entire system requires a high level of trust in Intel.  However, PoET was not designed as an alternative to PoW, PoS, or any consensus algorithm underpinning a permissionless blockchain.  Rather, PoET is designed for permissioned blockchains, secure databases in the form of distributed ledgers that are created and maintained by and for a certain firm.  In the context of creating a system for a private organization, having to trust the code of an established technology company is not necessarily a big security risk. However, in the general crypto-space, there is significant distrust of any system that centralized distributed ledger technology in any fashion.

This is by no means an exhaustive list of consensus algorithms.  In a space as dynamic as the blockchain industry, new means of reaching consensus are constantly being experimented with.  The consensus mechanisms detailed here are the most popular, most researched, and most secure methods currently at our disposal.  However, that certainly does not mean they will not be overtaken later by an as-of-now unknown consensus algorithm. As the space evolves, we will continue to provide information on new consensus-reaching procedures, and updates to existing ones.