Consensus Protocols 101
Table of Contents
Choosing a Consensus Protocol to Bridge Facebook-Backed Diem
In August 2020, Ethereum Classic (ETC) was subjected to one of the most serious challenges ever faced by a cryptocurrency. In just one month, the ETC network suffered three 51% Attacks. In a 51% Attack, a group of miners, who together control more than half of a coin’s mining hashrate, seize the network and reorganize its recent blocks. This results in lost transactions, widespread delays, and even stolen coins. The spate of attacks was so damaging that exchanges considered delisting ETC and other penalties; it was a genuine threat to Ethereum Classic’s nearly $1 billion market cap and its entire existence. This story illustrates the need for consensus protocols on blockchain networks.
What is a blockchain consensus protocol?
A consensus protocol provides security and immutability to blockchain ledgers. Since blockchain networks are inherently decentralized, there is no official entity responsible for ensuring the legitimacy and accuracy of transactions. In your dealings with a bank or other traditional financial institution, you trust them to record your transactions and balances with integrity. (They might face regulatory and reputational penalties if they do not.) However, the responsibility to maintain accurate and honest records on a blockchain network falls to its users. The mechanism that does that is known as a consensus protocol. The consensus protocol allows the state of the network to be an agreed-upon truth.
What is the Byzantine General Problem?
Consensus protocols also solve the Byzantine General Problem. Imagine this scenario:
A general has a castle surrounded and needs to stage one final attack to win the battle. He needs his entire army to be coordinated and advance at the same time. However, the general is concerned there are traitors in his army. He fears that if he tells everyone to advance, the traitors will sabotage him by saying to retreat or leak his plans to the enemy. How can the general tell everyone to attack in a way that ensures the group follows him?
In computer science, this analogy is used to explain decision-making in decentralized systems, like the blockchain. Consensus protocols solve the Byzantine General Problem by ensuring that groups can make decisions and share information even if malicious actors are present.
What is a proof-of-work consensus protocol?
Different networks use different forms of consensus protocol. The most famous is proof-of-work, which is used by Bitcoin. Bitcoin miners create new blocks and validate existing blocks for other users. The “work” that enables this is an extremely complex math problem, like a giant Sudoku puzzle. Bitcoin “miners” compete to solve the puzzle with powerful computers. Solving it creates new blocks on the blockchain, and the miners get a reward. Miners also compete to check others’ solutions first, which validates existing blocks. Like a Sudoku, solving the puzzle is quite challenging, but checking someone else’s solution is relatively quick, which allows the system to run smoothly. Each new block shows the work required to create it and previous blocks, making it nearly impossible to fabricate false blocks or alter existing ones.
What are the drawbacks of proof-of-work?
This system is relatively slow, with new blocks created only every 10 minutes. It also demands a lot of electricity, which has been a major source of criticism for Bitcoin. At its peak in May, the network used 143 terawatt-hours of electricity — more than the entire country of Argentina. The environmental concerns also had a serious financial impact: when Elon Musk tweeted that Tesla would stop accepting Bitcoin for this reason, the price crashed by more than $2000.
Tweet: https://twitter.com/elonmusk/status/1392602041025843203 — embed into arcticle
Due to these concerns, Ethereum is currently upgrading its proof-of-work protocol to a new system, which will be used in Ethereum 2.0. This newer iteration (which is still in testing stages) will use a new consensus protocol called proof-of-stake.
What is a proof-of-stake consensus protocol?
With proof-of-stake, rather than validating blocks through the “work” of solving equations, users become validators by “staking” 32 ETH in a locked holding account. Validators are then selected at random to create new blocks and confirm blocks created by others and are rewarded for their effort. Their stake is held as collateral against actions which hurt the network. Some or all of the stake can be lost if validators fail to create and confirm blocks (known as “going offline”) or attest to false transactions. Many believe proof-of-stake can improve the energy inefficiency and slow speed of proof-of-work, as well as protect networks from security breaches such as 51% Attacks.
What is a Nothing at Stake Hack?
Proof-of-stake is still considered experimental. It is possible that Ethereum 2.0 is taking so long to develop in part because of the complexity of its consensus protocol. There are also still security concerns due to the lack of “work” backing up a validator. Some fear Ethereum 2.0 could suffer a Nothing at Stake Hack; since there is no cost (or “stake”) to validating a block once you have consigned your stake, individuals might execute a transaction for personal gain, then validate blocks which were created before the transaction for others to continue mining on. The transaction would not be recorded publicly and the perpetrator could go unpunished. However, this attack is still theoretical, and it is believed that the loss of stake and probable price drops effectively disincentivize Nothing at Stake Hacks.
What is a delegated proof-of-stake consensus protocol?
An alternative iteration of proof-of-stake is delegated proof-of-stake, which is used by networks such as Cardano, Cosmos, and Polygon, which emphasize scalability. In this consensus protocol, users also stake coins to create new blocks. But, instead of becoming validators themselves, stakers elect “delegates” to be validators on their behalf. The delegates have power proportional to the stakes of their electors, but must reach consensus among each other to create and approve blocks. Elections happen quite frequently (as often as every two minutes on some networks) which creates a constant incentive for validators to be honest and fair. This protocol allows consensus to be reached much more quickly and DPoS networks like Cardano can execute millions of transactions per second. For comparison, Ethereum can run just 14 transactions per second.
Delegated proof-of-stake is thought to provide more transparency, diversity, and access than other consensus protocols, since validators are chosen based on trust, rather than wealth. However, DPoS is also considered experimental and has several drawbacks. It requires active participation due to constant elections and the need for consensus among validators. Plus, voting power can be concentrated among colluding actors with large stakes and their validators could censor or delay blocks for their benefit.
What is a nominated proof-of-stake consensus protocol?
To deal with these issues, networks such as PolkaDot use nominated proof-of-stake. It’s also the consensus protocol we chose for Pontem. The key difference between nominated and delegated proof-of-stake is that power is distributed more evenly. Both nominators and validators lock up stakes as collateral, meaning all network participants are incentivized to promote honesty and accuracy. Each nominator can select up to 16 validators, to whom the network automatically assigns equal amounts of voting power. An algorithm uses election theory, game theory, and discrete optimization to distribute control efficiently. The power of the validator is not proportional to the nominator’s stake, which reduces the likelihood of collusion or coercion. The fairness, security, and scalability of this protocol are why we chose it for Pontem.
Consensus protocols are essential to blockchain networks by providing a truthful and immutable record of transactions. As blockchain networks have evolved, so have the consensus protocols which enable them. Engineers and users sought to improve the efficiency and exclusivity of Bitcoin’s proof-of-work protocol, so they created the proof-of-stake system used in Ethereum. Then, delegated proof-of-stake improved the security and scalability of proof-of-stake and nominated proof-of-stake made networks fairer.
What is the future of consensus protocols?
Just as Pontem employs nominated proof-of-stake to integrate blockchain networks with Facebook’s ecosystem, we can expect new types of protocols for new blockchain applications. As blockchain expands for use in decentralized finance, NFTs, supply chain management, and cybersecurity, new consensus protocols will be created to enable them. Today, projects are already designing protocols which can prove a user is human or prove a device’s physical location. The sky’s the limit.