Consensus Algorithms

127

Blockchain is a distributed decentralized network that offers immutability, privacy, security, and transparency. In blockchain technology, you do not need any central authority to validate and verify the transactions. But, then we consider Blockchain technology as a secure and verified platform. This surety comes only because of the presence of the consensus protocol which is the major part of the Blockchain network.

What is a consensus algorithm?

A consensus algorithm is a mechanism used to achieve agreement on a single data value among distributed systems. They help in achieving reliability in a network involving multiple nodes. The algorithm ensures that all the agents in the system will agree on a single source of truth, even if some agents fail. Such a system is called a fault-tolerant. 

In centralized systems, a single entity controls the entire system. They have all the right to make changes according to them. But, in decentralized systems, it’s a completely different story. If you’re working with a distributed database, then reaching an agreement on what entries to add will be a challenge.

In cryptocurrencies, user’s transactions are recorded in the blockchain. In such cases, it is necessary that everyone should maintain an identical copy of the database. If not, it may result in conflicting information, undermining the purpose of the cryptocurrency network. The use of public-key cryptography ensures complete security as the users cannot spend each other’s coins.

But then, there should be a single source of truth that the network participants can rely on to understand if the funds have been spent already. The Bitcoin creator, Satoshi Nakamoto proposed the Proof of Work consensus algorithm. We’ll discuss this algorithm later in this article. 

The first thing we need is the users who want to add blocks to the chain. These users should be able to provide a stake. The users have to provide a stake to ensure that they do not act dishonestly. It means that if they cheat, they will lose all their stake. It may be computing power, cryptocurrency, or even reputation. 

Now, you may be wondering why would someone risk their own resources? It is because there is a reward for doing so. The reward is the protocol’s native cryptocurrency that is made up of fees paid by other users, freshly-generated cryptocurrency units, or both.

Then comes transparency. If someone is cheating we have to be able to detect them. It’s actually costly to produce blocks, but it’s cheap for anyone to validate them. So, validators are kept in check by regular users.

Types of Consensus Algorithms

Now, let’s discuss various types of consensus algorithms. 

Proof-of-Work

Proof-of-work is the first consensus algorithm devised by Satoshi Nakamoto to use in the Bitcoin blockchain. This algorithm is known for the massive mining operations and power consumption. Now, it is considered to be a legacy technology. Ethereum is also moving away from PoW for more energy and economically efficient PoS.

In this algorithm, miners solve complex problems to create blocks. It runs on a system of “the longest chain wins.” Assuming most of the miners work on the same chain, that one will grow fastest, longest and most trustworthy. Therefore Bitcoin is safe as more than 50% of the work done by the miners is honest.

Proof-of-Stake

In the Proof-of-Stake algorithm, blocks are created by minters staking their tokens to “bet” on which blocks are valid. In the case of forks, minters will spend their tokens to vote on the fork they support. If the majority of them vote on the correct fork, validators who voted on the wrong fork will lose their stake in the correct one.

There is a common argument against the PoS algorithm that is the Nothing at Stake problem. PoS does not cost its validators any kind of computational power to support a fork. Validators can vote for both the sides of every fork. Ultimately, forks become more common in PoS rather than in PoW. So, it may cause some people to worry about the credibility of the currency.

Proof-of-Authority

In the Proof-of-Authority algorithm, transactions are validated by approved accounts. These accounts hold the authority that other nodes will receive their truth from. PoA has high throughput, and is also optimized for private networks.

Delegated proof-of-stake

Daniel larimer is the mastermind behind DPoS. In this algorithm, the token holders do not vote on the validity of the blocks but they vote to elect the delegates to perform validation on their behalf. There are nearly 21-100 elected delegates in a DPoS system. These delegates are shuffled periodically.

If delegates miss their blocks or publish invalid transactions, the staker will replace them with a better delegate. In DPoS, miners collaborate to create blocks. DPoS can run orders of magnitude faster than other consensus algorithms. 

Proof-of-burn

Proof-of-burn is an attempt to create a system to determine any fraudulent activities on a blockchain. It also improves the functioning of the blockchain as a tool for transactions. Proof-of-Burn is called a PoW system without energy waste. This algorithm operates on the principle of allowing the miners to burn virtual currency tokens. Then they are granted the right to write blocks in proportion to the coins burnt. 

Final Word

Consensus mechanisms are important for the functioning of distributed systems. The greatest innovation in Bitcoin was the use of Proof of Work to ensure that the users will agree on a shared set of facts. Consensus algorithms are a cornerstone of blockchain technology and are necessary for the long-term viability of the various existing networks. Among all the consensus algorithms, proof of Work is the dominant one.