Blockchain networks combine groups of transactions into collections (blocks) that are added to each other (chains). The blocks use a function to ensure that values are not reused in transactions, thus avoiding the problem of double spending. The network then uses a blockchain consensus mechanism to agree that a given block is valid.
Blockchains have developed a number of consensus mechanisms to be used for validation. This article explores the most common blockchain consensus mechanisms and some real-world variations.
Certificate of employment
For people who want to understand blockchain, the original Bitcoin white paper is a good place to start. It introduces Bitcoin as a peer-to-peer electronic cash system and discusses the first blockchain consensus mechanism, Proof of Work. This mechanism is the seed from which all other blockchain consensus mechanisms grow.
Any consensus mechanism exists to solve a problem. Proof of Work was developed to solve the problem of double consumption, where some users may attempt to transfer the same resources more than once. The first challenge for a blockchain network was thus to ensure that values were only transferred once.
Bitcoin’s developers wanted to avoid using a centralized “coin” to track all transactions moving through the blockchain. While such a coin could certainly deny double-spending transactions, it would be a centralized solution. Decentralization of control over assets was the whole point of the blockchain.
Instead, Proof of Work moves the job of validating transactions to individual nodes in the network. When each node receives a transaction, it attempts the expensive computation required to discover a rare hash. The resulting “proof of work” ensures that a certain amount of time and computing power was spent by the node to accept a block of transactions. Once a block is hashed, it is disseminated to the network with a signature. Provided it meets the criteria for validity, other nodes in the network accept this new block, add it to the end of the chain, and start work on the next block when new transactions arrive.
Proof of effort
Proof of Work was an ingenious solution to the problem of double spending. It represented an entirely new model of distributed computing by enabling permissionless, peer-to-peer consistency. All blockchain networks elaborate on the basic idea of securing open networks with cryptography.
However, the original blockchain mechanism has significant drawbacks. The hashing function requires high energy consumption. It also creates a bottleneck in how many transactions can be processed in a given time period.
These shortcomings inspired some interesting variations on the original idea. The first and most influential alternative to the Proof of Work consensus mechanism is Proof of Stake, which was introduced by the Peercoin project.
Proof of Stake creates incentive for nodes to approve transactions honestly by holding their own currency as a bond. Proof of Stake works very similarly to Proof of Work in terms of its relationship with the network. It fulfills the same role. The difference is that Proof of Stake validator nodes have a stake in the network: if they act dishonestly, they not only stand to lose part of their stake, but they devalue their own currency.
Proof of Stake potentially offers much longer block processing time because it is not limited by hash function processing. It also reduces the use of computing power. Many newer blockchain networks have adopted Proof of Stake, including Ethereum 2.
Delegated Proof of Stake
Delegated proof of stake is an elaboration of the mechanism for proof of stake. Essentially, it means that validators can be selected by other participants in the network, usually according to a weight based on their token holdings (that is, their share). This mechanism works in the same way as the electoral college in elections.
A Delegated Proof of Stake network is more flexible because token holders can adjust how validators are distributed in validation blocks more dynamically. It also reduces the influence of valuable validators who might otherwise have excessive control over the network. Delegated Proof of Stake is a way to build governance into a more fundamental layer of the network. Voting on validator status is built into the daily operation of the network.
Evidence of history
Proof of History is an idea proposed by the Solana Project. It is not a stand-alone consensus mechanism, but rather a means to improve the effectiveness of other mechanisms. Proof of History uses a Verifiable Delay Function (VDF) server that ensures the ordering of transactions across the network. The validator nodes are then able to handle transactions more efficiently because they do not need to be concerned with timing.
The time server is integrated into the network in a decentralized manner by rolling over to another validator at regular intervals or in case of failure. Proof of History is an increase in architectural complexity in exchange for optimized performance. (See my introduction to the Solana blockchain for more on the Proof of History mechanism.)
Proof of space
Proof of Space covers a variety of techniques to demonstrate that a node in the network has committed storage resources. It is sometimes also called Proof of Storage.
The basic idea is to commit nodes to honest block validation in a similar way to Proof of Work, but instead of CPU cycles, this mechanism uses disk space. An algorithm used for this purpose is what is called a hard-to-roll graph. In this mechanism, nodes claim to have reserved space based on a graph that is difficult to compute. Consensus is reached when the network requests proof in the form of random samples from the reserved space. Nodes must actually solve and save the problem to provide the proof.
Proof of capacity
Using disk storage to commit nodes offers the potential for less energy usage than the Proof of Work mechanism. A variant of the Proof of Space mechanism performs the work in advance and stores it, thereby creating a sort of queue that validators can trust. This mechanism, known as Proof of Capacity, is used by the Signum project.
Proof of spacetime
Proof of Spacetime is another improvement to the Proof of Space mechanism that ensures that disk space has been held for a certain amount of time. It’s a pretty ingenious mechanism in that it not only establishes an algorithm for proving the use of space and time in computational resources, but dynamically adjusts the relative weight the prover applies to each one. Read the Proof of Spacetime proposal to learn more about it.
Evidence of activity
Proof of Activity is an attempt to combine proof of work with proof of effort. It basically works in two phases, first using Proof of Work to validate blocks and then confirming the blocks via Proof of Stake. This mechanism increases the overall security of transactions by ensuring that blocks are both hashmined and stake validated. On the other hand, it does not address the shortcomings of Proof of Work.
Proof of elapsed time
Proof of Elapsed Time was first proposed by Intel and is a different animal than the others described here because it applies permission blockchain network. One of the key characteristics of Bitcoin-like blockchains has been that they are permissionless. Having nodes identify themselves with credentials to participate results in a private blockchain. The idea is to leverage some blockchain properties, such as network resilience, but in the context of a proprietary network.
The open source HyperLedger Sawtooth project is the most prominent example of Proof of Elapsed Time.
Certificate of authority
Another more drastic departure from Nakamoto’s Proof of Work is Proof of Authority. In this model, validators are checked in advance using both computer and human aspects. Instead of distributing proof of validity across the network via something like a hashing function, Proof of Authority uses an external mechanism that enforces compliance from the outside. The VET cryptocurrency uses Proof of Authority.
Evidence of combustion
Another high-level alternative to Proof of Work and Proof of Stake is the Proof of Burn mechanism. In this type of network, nodes validate their work by burning tokens. Burning tokens is a costly activity, which ensures that they have skin in the network. The Proof of Burn mechanism still relies on other mechanisms to ensure that the tokens themselves have value. At this point it will likely be proof of work or proof of effort.
Proof of Burn’s strength is providing a kind of bridge between networks operating with different consensus mechanisms. It has interesting uses for enabling cross-chain transactions.
Evidence of importance
Proof of Importance is a kind of Proof of Stake mechanism that tries to incorporate more data into the decisions about which nodes are accepted as validators. It creates a score for nodes that weighs their legitimacy, and the amount of tokens staked is a factor in this score. Proof of importance includes other factors such as longevity and activity that nodes display, their relationship to other nodes, and can use weighting as a moving average of token usage. Proof of Importance was introduced by the NEM project.
Identification
Proof of identity is a fruitful area of development because it represents the intersection between blockchain and identity. This is the overall goal of linking a blockchain ID – a private key – to a real identity such as citizenship. One of the most likely areas of disruption for blockchain is authentication using a decentralized ID. If a generally accepted means of verifying personal or organizational identity in a blockchain was implemented, blockchain users and networks could use Proof of Identity to participate and validate transactions.
See my introduction to zero-knowledge proofs for more on decentralized authentication.