When you become more familiar with how blockchain works and get acquainted with the basic terms and processes, eventually you’ll come across consensus algorithms (or consensus methods). The consensus algorithm is a cornerstone of every blockchain as it determines the general operating principle of the network.
You’ve probably heard of the Proof of Work algorithm, or maybe the Proof of Stake, already. Blockchains use these (and many other) consensus algorithms to achieve reliability when dealing with multiple unreliable nodes.
As a matter of fact, Ethereum is in the middle of transitioning to its brand-new Ethereum 2.0 protocol which will utilize the Proof of Stake algorithm.
Now, what is it all about? And what difference will it make?
Let’s try to figure that out together.
Proof of Work: Mining
- All miners are engaged
- Centralized hashing power
- More expensive but more secure
Blockchains that use Proof of Work method: Bitcoin and its forks, Ethereum, and many others
The Proof of Work concept was originally created in 1992 as a way to fight junk emails but was not really implemented in real-life cases until Satoshi Nakamoto came up with an idea to use it and described the mechanism in Bitcoin’s whitepaper.
The mechanism was perfect for reaching consensus in a network that consists of multiple nodes. Third-party verifications are no longer necessary as the Proof of Work algorithm suggests that you can send transactions directly to the receiver and rest assured your funds are safe as the information regarding this transaction is written on a blockchain.
Now, who verifies that information and why should we trust them with our money?
Crypto mining is a process that is carried out by miners who receive new coins for verifying transactions and avoiding the double-spending problem. At first glance, the process is relatively simple: transactions are collected into a block, then miners verify transactions of each block, and if they manage to be the first to do so, collect the reward. As a result, new coins are created and transactions are confirmed and recorded on the blockchain.
But there’s a catch. In order to verify a transaction, a miner needs to use a lot of energy to solve difficult math problems, the Proof of Work problems. The miner who solves the problem first receives the reward and the competition gets even more intense as the mining difficulty increases according to the amount of computing power concentrated in the network.
This competitiveness leads to creating huge mining farms and mining pools, which ends up making the whole process far from decentralized. In theory, if several large mining pools join their efforts they could potentially start approving malicious transactions.
However, tampering with the Proof of Work system is very expensive and probably won’t even pay off in the end.
Proof of Stake: Validating
- Only a few validators are selected
- Less centralized
- More affordable
- Possible inequality: rich people getting richer
Blockchains that use the Proof of Stake method: EOS (Delegated Proof of Stake), Dash, Lisk, soon Ethereum
Let’s admit it, mining is wasteful. Despite numerous arguments against this statement, mining does take a lot of resources. And if there is a chance of using them wisely, then why not do it?
And that’s exactly what Proof of Stake suggests as it shuns the concept of mining and uses validators who forge new blocks instead of miners.
Proof of Work facilitates the network to randomly choose one node that will validate the block. If you wish to take part in this lottery, you need to stake some coins and the more coins you stake, the bigger your chances of being chosen are.
But what if a validator puts in a really high stake to get chosen and confirms a fraudulent transaction? That’s simply unreasonable.
Validators get their rewards in transaction fees from the block they confirmed. Also, the stake and the rewards are released only after some time as the network needs to check if the block was confirmed correctly.
This means that if a validator approves malicious transactions, he or she will lose part of the stake and consequently lose a lot more money than they gain.
The problem with the Proof of Stake algorithm is that it silently favors the rich. A person who is able to stake more coins will be most likely chosen to become a validator, receive the rewards, get richer, and repeat the same process once again.
Although the choosing process does not fully guarantee that it will be the same person every time, the chances are still high enough. Moreover, the biggest stakeholder becomes an unspoken authority and may potentially harm the network.
Delegated Proof of Stake
Delegated Proof of Stake, proposed by Dan Larimer of EOS, anticipates that token holders vote for validators who will do the validation process for them. These delegates are randomly chosen to deliver the blocks. If the delegate fails to do so on several occasions, or approves invalid transactions, they will be replaced.
As of now, this algorithm still remains controversial due to the lack of decentralization. But then again, nobody’s perfect.
Proof of Authority: Reputation
- Reputation-based system
- Independency (do not depend on the number of nodes)
- Possibility of censorship
- Centralized and fits only smaller enterprises
Blockchains that use Proof of Authority: Ethereum Kovan testnet, Hyperledger, Vechain
Proof of Authority was introduced in 2017 by a team of developers who were working out the solution to fighting spam attacks on the Ethereum test network, but as it often happens, eventually it turned out that the consensus method could benefit a number of other projects.
Proof of Authority is actually a modified version of the Proof of Stake algorithm and suggests that instead of staking tokens, participants choose a few authorities they trust and let them validate the transactions.
As you might have guessed, the most important thing in this concept is to choose an appropriate validator that everyone can trust.
So how exactly can one become a validator?
- Firstly, they should be officially identified on-chain and on the public notary database, so that their identity can be cross-referenced via a public domain.
- Secondly, the process of becoming a validator should be hard enough so that it motivates them to stay honest and efficient.
- And finally, the process should be universal and consistent for anyone who’s willing to participate.
However, the necessity to choose an authority that controls and verifies all the important processes of the network is at odds with the blockchain’s main idea of decentralization. That’s why this consensus is a good match for private blockchains with generally recognized players.
On the bright side, you don’t need to buy and figure out complicated and expensive equipment and endlessly waste watts of energy. Transactions are supposed to be finalized faster and a 51% attack is almost impossible.
A Few Other Algorithms
Although all of these consensus algorithms have their advantages, they are not without their flaws either. That’s why communities keep coming up with new and creative solutions.
Byzantine Fault Tolerance
- Cheap and scalable
- Questionable reliability
In distributed computing, there is a problem referred to as the Byzantine generals problem. A group of Byzantine generals surround a city and try to simultaneously decide if they should attack.
The problem is that they are far away from each other, on different sides of the city, and have to communicate via messages. If they don’t act together and attack at the same time, it may turn very nasty.
There are a few implementations of the Byzantine Fault Tolerance protocol used by different cryptocurrencies like Stellar, Dispatch, and Ripple.
Proof of Burn
Proof of Burn suggests a popular-in-blockchain-related-projects idea to burn the coins and send them away. Once the validators do so, they get a chance to join the mining competition. Of course, the more coins they burn, the higher their chances are of winning the right to mine. This way they show their level of commitment and put a small sacrifice to be eventually handsomely rewarded.
Proof of Capacity
Another curious consensus method is called Proof of Capacity. This mechanism suggests that instead of solving complicated and useless problems on the blockchain, or staking or burning coins, validators share their hard drive space. And, as custom has it, the more they share the better are their chances.
Although Proof of Work still remains the most widely-used consensus algorithm, it is highly wasteful in terms of energy consumption. Projects like Ethereum are already turning to other, greener ways for blockchain consensus.
Proof of Stake and Proof of Authority are decent alternatives, however, depending on the particular blockchain, they both could use a series of improvements.