Consensus Mechanisms Explained: How Blockchains Reach Finality
Jun 12, 2020, 6:12PMBlockchains use consensus mechanisms to achieve finality and confirm transactions. These five mechanisms are key.
Blockchains like Bitcoin are made up of a sequence of "blocks," which contain transaction data and other related information.
This means that every blockchain must have a mechanism that decides which transactions to add the chain, which node operators to listen to, and how to resolve potentially conflicting information.
In other words, blockchains use consensus to settle upon and finalize data. There are several mechanisms that accomplish this.
Proof-of-Work (POW)
Used by: BTC, BCH, ETH, ETC, XMR, LTC, BSV, DASH
Proof-of-work, also called mining, is the original blockchain consensus mechanism. It has been popular ever since Bitcoin introduced it in 2008.
Under this system, various miners dedicate their computer power toward a cryptographic problem. The first to succeed validates a block and earns a reward. More powerful computers (or specialized ASIC devices) are more likely to validate a block.
Proof-of-work has one important advantage: large mining networks like Bitcoin are highly competitive and demand a lot of power. This means that it is very costly to attack a proof-of-work blockchain, or to attempt to roll back its ledger.
The system has drawbacks, though: small mining networks like Bitcoin Gold can be attacked cheaply. Meanwhile, large mining networks like Bitcoin are not always profitable due to the high energy bills that come with mining.
Proof-of-Stake (POS)
Used by: PPC, ADA, NXT, ETH 2.0, ALG
Proof-of-stake was introduced by Peercoin in 2012. It’s now a feature of up-and-coming blockchains like Ethereum 2.0 and Cardano Shelley.
Under proof-of-stake, nodes are selected based on the value of their investment. For example, nodes with a larger amount of cryptocurrency, or a longer staking period, may be more likely candidates when it comes time to validate a block.
Staking is much more energy-efficient than mining, but it is also easier to attack and more prone to unwanted forks, at least in theory. This is called the “nothing at stake” problem, and it has led researchers to create many variations on proof-of-stake.
Often, staking serves a secondary purpose: staking nodes can vote on governance and development decisions. Dash, for example, relies on staking nodes for these duties, even though it primarily relies on proof-of-work as a consensus mechanism.
Delegated Proof-of-Stake (DPOS)
Used by: BTS, EOS, TRX, LSK, OMG, STEEM
Delegated proof-of-stake (DPOS) has been popularized by blockchain developer Dan Larimer through his three blockchains: EOS, Steem, and Bitshares.
DPOS-based blockchains usually have a small number of nodes that are responsible for confirming blocks. General coin holders can cast votes for their preferred node operators (sometimes called “delegates,” "block producers," or "witnesses").
Since DPOS relies on just a few powerful nodes, it is arguably faster than other consensus mechanisms. Often, delegates are fairly large organizations with plenty of system resources and network throughput to spare.
However, DPOS is controversial due to the fact that it arguably leads to centralization: just a few wealthy nodes can collude and take over the blockchain. This issue became especially apparent when TRON bought out Steem witnesses in early 2020.
Byzantine Fault Tolerance (BFT)
Used by: NEO, ATOM, XLM, POA
Practical Byzantine Fault Tolerance (pBFT) has existed since 1985, long before the advent of blockchain, but many blockchains have adapted it to their purposes.
The name is a reference to the Byzantine Generals problem―the same consensus problem that all blockchain consensus mechanisms must confront to some extent. In theory, pBFT-based consensus mechanisms achieve finality to a greater extent than proof-of-work or proof-of-stake, which only offer probabilistic finality.
Variants of pBFT include NEO’s Distributed BFT, Stellar’s Federated BFT, Cosmos’s Tendermint BFT, and POA’s Honey Badger BFT.
Typically, blockchains that use this mechanism have a fairly small number of nodes.
Proof-of-Authority (POA)
Offered by: Azure, Quorum, Geth/Clique, Parity, VEC, GO
Proof-of-authority is a consensus mechanism typically seen in enterprise versions of Ethereum such as Quorum and Ethereum on Azure.
In this system, node operators do not stake cryptocurrency; instead, they stake their identity. Each node has to verify its identity, and nodes that are involved in fraud or malicious activity can have their credentials removed.
This approach is useful because enterprise blockchains are typically meant for internal use within a corporation or financial institution where every participant is fully known.
However, proof-of-authority is also seen on public chains like VeChain and GoChain (where it is known as proof-of-reputation).
Other Considerations
There is some debate over whether these categories are accurate.
Emin Gün Sirer has argued that there is a "terribly wrong framework emerging around consensus protocols." He claims that proof-of-work and proof-of-stake cannot serve as consensus mechanisms on their own and that they must be combined with BFT-based mechanisms.
Nevertheless, the blockchain industry has settled on a few broad categories of consensus mechanisms, typically those described in this article.
Furthermore, each consensus mechanism aims to deal with similar issues: namely, whether the system in question is secure, decentralized, and efficient. That makes these commonplace categories a useful framework.
Disclaimer: information contained herein is provided without considering your personal circumstances, therefore should not be construed as financial advice, investment recommendation or an offer of, or solicitation for, any transactions in cryptocurrencies.