The way a blockchain works is based upon the way it reaches an agreement or consensus on a single point of the data value. Also known as consensus algorithms. On this page we describe the different popular consensus algorithms and their advantages and disadvantages.
Table of Contents
A consensus algorithm is a process that determines which data input is reliable and ensures that the agreement is reached upon. An agreement like a transaction for example. Preventing people with malicious intentions to carry out false transactions.
Reaching those correct agreements in blockchain platforms are a major challenge within computer science. There are different types of consensus algorithms, each with its own advantages and disadvantages. The most well-known protocols are Proof-of-Work and Proof-of-Stake, but there are others. We’ll briefly explain what these processes mean.
What are the different types of consensus algorithms?
PoW was the first consensus mechanism used in a blockchain platform. Used by both Bitcoin and Litecoin. In Proof-of-Work, anyone can make the computing power of their computer available to make calculations. These calculations add new blocks to the blockchain. This is called mining.
The person who finds/creates a new block is rewarded with an amount of cryptocurrency. Consensus is achieved by looking at the longest chain. As long as more than 50% of the miners have good intentions, the consensus reached can be trusted. Since rewards are only given to created blocks to the longest and correct chain, this 50% is so far always always achieved.
Pros
- Reliable system
- Works very well for several years.
Cons
- Relatively slow confirmation times
- Mining consumes a lot of electricity and is therefore environmentally unfriendly
Examples PoW cryptocurrencies
- Bitcoin (BTC)
- Litecoin (LTC)
- Monero (XMR)
Byzantine Fault Tolerance (BFT)
Delegated Byzantine Fault Tolerance works like this; anyone who has a stake in a specific cryptocurrency can vote for a number of representatives. The select number of representatives then come to their own agreement on the validity of blocks within the blockchain.
Other forms such as Practical (pBFT) and Federal Byzantine fault tolerance (fBFT) are also used. BFT has some similarities to another consensus algorithm, namely the delegated Proof-of-Stake. More on this later. Again, there are several differences within Byzantine Fault Tolerance – BFT.
Pros
- Easily scalable
- High transaction speed, 1,000+ ties per second easily possible
Cons
- Not fully decentralized
Examples BFT cryptocurrencies
- NEO (NEO)
- Ripple (XRP)
- Stellar Lumens (XLM)
PoS is currently the most popular consensus algorithm within the world of crypto. In Proof-of-Stake, “shareholders” vote on the blocks they believe are valid. If more than half vote for the correct chain, shareholders who voted for the incorrect chain will lose their share of the correct chain. This serves as motivation to reach a correct consensus.
Pros
- Scalable
- Efficient, significantly reduces electricity consumption
Cons
- Easy to copy & create forks
Examples PoS cryptocurrencies
- Digital Cash (DASH)
- PivX (PivX)
- Reddcoin (RDD)
Delegated Proof of Stake (DPoS)
The principle of dPoS is very similar to that of PoS itself. The main difference is that in the case of delegated Proof-of-Stake, there is no direct vote on which chain/blocks are valid. Instead, one votes on ‘delegates‘.
These delegates then come to a consensus with each other. Generally, there are between 20 and 100 delegates and so far, dPoS is very similar to dBFT. However, one major difference is that in dPoS a delegate can be voted out. If a delegate does not verify new blocks often enough or votes for the wrong chain every time, this delegate can be voted out.
Pros
- Very fast, because a smaller number of delegates has to find consensus
- Less centralized than BFT
Cons
- Not fully decentralized
Examples DPoS cryptocurrencies
- EOS (EOS)
- List (LSK)
- Solana (SOL)
Other consensus algorithms that are less commonly used are Proof-of-Authority, Proof-of-Weight, Proof-of-Importance and Directed Acylic Graphs.