Consensus algorithms help achieve reliability on networks involving multiple nodes, making sure all nodes conforms to the said rule.
The introduction of blockchain and the Bitcoin cryptocurrency in 2009 by Satoshi Nakamoto brought the evolution of Consensus algorithms, ever since, many more algorithms have been established which aims to solve the faults of the first ever, the Proof-of-Work (PoW) algorithm system.
This guide clearly explains few of the world’s powerful consensus algorithms.
1. The Proof-of-Work (PoW) Algorithm
As earlier mentioned, this is the first ever to be implemented. Though a couple of people like Cynthia Dwork and Moni Naor in 1993, and Markus Jakobsson in 1999 had different proposals for implementing their version of the Proof-of-Work algorithm.
With the Proof-of-Work kind of algorithm system, users referred to as miners are required to solve complicated computations for a reward which comes in the form of units or fractions of the cryptocurrency which runs on the blockchain. Solving the necessary mathematical computation on the network brings about the formation of a new block.
Cryptocurrency projects which currently implements this project include Bitcoin, Ethereum (soon to change), Litecoin, Dogecoin, Monero, Dash, Bitcoin Cash, among others.
This form of consensus algorithm is considered legacy as more faults have been discovered with the system over time, one of which is the huge power the process of mining consumes; estimated to be enough to power over 5 million households in the United States and even some countries of the world.
Moreover, anyone who has a 51% stake/access to a 51% stake in the network can control and manipulate things at will.
The problems as mentioned earlier brought about the release of other consensus algorithms as discussed below.
2. The Proof-of-Stake (PoS) Algorithm
With the Proof-of-Stake (PoS) algorithm, block creation/transaction verification and network security isn’t dependant on the miners but on those who stake a required amount of said cryptocurrencies in their staking wallets.
The Proof-of-Stake algorithm has been confirmed to consume less energy than it’s predecessor, the PoW. Also, those who mine under this algorithm are not likely to be the owners of the cryptocurrencies they mine.
Despite the huge benefits, and the announcement of big cryptocurrency franchise like Ethereum announcing they are changing their algorithm from a PoW to PoS, it has gotten some criticisms, one of which is the “nothing at stake” issue. Because if users choose not to stake their coins/tokens, consensus will not be reached and this can cause the network to halt.
This algorithm has been successfully implemented by a bunch of popular projects which include Dogecoin, NEO, Ethereum (soon to begin), Pivx, Okcash, NAV, Stratis, Reddcoin, among others.
3. The Delegated Proof-of-Stake (DPoS) Algorithm
DPoS, otherwise known as a Delegated Proof-of-Stake makes use of a real-time voting system which is combined with a social system to achieve consensus on the network. This is similar to the PoS as users still need to stake cryptocurrencies to vote, but this time, votes are done to choose super representatives whose jobs are to protect the network. Those to be voted for are called ‘delegates’, and the number of delegates on the DPoS system is between 21-100. The algorithm is said to be more decentralized as it’s a community governed and democratic system.
Unlike the PoW and PoS, the DPoS is even more energy conservative. Because of the limited time users have to add the next block on the network, there’s a reduction of energy cost in adding new blocks. Also, the DPoS is said to be truly decentralized as stakeholders are the ones to vote, thereby making it easy for the community to kick out anyone they think isn’t qualified.
Cryptocurrencies that’s successfully implemented the DPoS system include BitShares, Lisk, EOS, Steem, Nano, Ark, Cardano, and Nano.
Besides its advantages, the DPoS form of achieving consensus has not been without its own faults have analysts have indicated that there’s no sufficient decentralization on the network.
4. The Proof-of-Authority (PoA) Algorithm
On the PoA network, transactions and block creation are validated by accounts approved on the network; which are known to be validators. Validated account holders do not need to apply any special efforts in running the network as the process is automated. Nevertheless, validators are required to making sure their computers are maintained for optimal performance.
When staking on the PoA network, users are to disclose who they are for the right to validate blocks on the network.
The PoA is different from the PoW and PoS in the sense that no mining is carried out, that eliminates any form of high purchase of specialized equipment and also electricity charges. PoA also doesn’t require users to stake to create a block using their nodes, all that’s required from the user is verification, and the authority to validate would be granted to such user.
5. The Proof-of-Weight (PoWeight) Algorithm
PoWeight is based around the Algorand, consensus model. On this network, Algorand assigns a weight to each user. Before consensus is reached, the system makes sure a higher fraction of users agree.
Users are weighed based on how much tokens they own in their accounts. As long as the users hold a higher fraction, majorly 2/3 of the money, the network is able to operate normally and also avoid forks and double-spending.
Just like its pairs, the PoWeight system is energy efficient; it’s also highly scalable. The sad part is, it can be pretty hard to get rewards on the PoWeight system.
6. The Byzantine Fault Tolerance (BFT) Algorithm
The Byzantine Fault Tolerance or the BFT assumes components may fail and result in imperfect information in cases of such occurrence. In this case, active actors then have to agree on a strategy to avoid complete system failure.
Byzantine fault tolerance has also been referred to in some ways; source congruency, error avalanche, Byzantine generals problem, Byzantine agreement problem, and lots more.
In essence, without the BFT algorithm, a node is able to transmit false information to the network, making information on the blockchain unreliable. Implementing the Byzantine Fault Tolerance algorithm makes sure all possible situations are taken cared of using the Practical Byzantine Fault Tolerance (PBFT) and the Federated Byzantine Agreement (FBA) among few others.
7. The Directed Acyclic Graphs (DAGs) Algorithm
The DAG technology is said to be the Web 3.0. In this algorithm, new transactions confirm previous ones. DAGs still follow the idea of sidechains – running different transactions on different chains simultaneously. NXT is the first cryptocurrency recorded to have implemented DAGs.
The advantages of DAGs are numerous some of which are high-speed transactions which take place within seconds compared to the PoW and PoS algorithms. Secondly, mining isn’t done on the DAG network, as validation of new transactions depends on the previously confirmed ones.
Other projects/cryptocurrencies that implement DAGs include IOTA, Oyster PRL, Radix, IoT Chain (planning on switching in 2019), HCash, Aidos Kuneen, and ByteBall.