Different Types of Blockchain Consensus Algorithms

in #crypto6 years ago

Image source: http://www.nortonrosefulbright.com/knowledge/publications/143051/a-few-things-to-consider-before-patenting-blockchain-tech

Blockchain Consensus Algorithms are mechanisms used to obtain reliability on the contents of the blockchain in a distributed and trustless manner. The algorithms are necessary to prevent 'double-spending', as well as to ensure that the network are not swarmed with bad actors, or unreliable network participants. Across all the crypto projects, there are various forms of algorithms, each with its own pros and cons as follows:

Proof of Work (PoW)

Proof of Work is the first successful blockchain consensus algorithm currently used by Bitcoin, Ethereum (switching to a PoS consensus algorithm by end of 2018), Litecoin, Monero and many other projects. In PoW, miners compete against each other with computational power to solve difficult mathematical puzzles. Mining in PoW is akin to a lottery-based system whereby every miners will contribute power to solve a block, with only the miner that solves and finishes the block earning mining rewards and transaction rewards. PoW builds on the 'longest-chain wins' system, as the longest chain will be the most trustworthy and hence, trusted.

The downsides of PoW are that tremendous computational powers are needed for its mining process, as difficulty of mining a block increases with more miners, hence consuming more electricity. The scalability of a PoW model is also very limited, with transactional throughput and confirmation taking several minutes to complete. Also, most of the mining are centralized in countries or areas with cheap electricity (E.g. China mines 75% of all Bitcoins). Lastly, PoW is susceptible to 51% attack, whereby malicious miners may capture 51% of a network's computing powers, therefore being able to manipulate and dominate the blockchain.

Proof of Stake (PoS)

In Proof of Stake, participants 'stake', or lock up, a portion of their tokens to verify transactions. It is most notably used by Neo, Dash and Nav among many other projects. In PoS, your chances of creating the next block depends on the amount of tokens you stake (E.g. having 10 coins being staked will be twice as likely to be chosen for the next block compared to having 5 coins). Other factors may include the duration of coins being staked, or 'seniority', such that the longer the coins are staked, the higher chances to create the next block.

It is very expensive to perform a 51% attack on a PoS system as it involves acquiring a large amount of the network asset, which loses its value sharply after an attack is executed. PoS also deters malicious or unreliable behaviours, as minters that tries to double-sign will have their coins slashed. PoS is energy efficient compared to PoW, as only very little computational power is required to validate how much they have in stake.

The downside of PoS is the 'nothing-at-stake' problem. If a fork occurs, a participant has no reason to not vote for both forks, so that the participants can get their rewards without regards to the outcome of the fork, as they have nothing to lose. This would encourage attackers to create forks, as the participants are irrational and votes for both forks. One of the solutions is to punish participants for creating blocks on the wrong chain, by losing their stakes in the correct fork.

Delegated Proof of Stake (DPoS)

In a Delegated Proof of Stake system, participants vote to elect delegates to do the validations on their behalf. Current projects using DPoS includes EOS and Steemit. There are typically between 21 to 100 delegates in a DPoS system. The participants are able to vote out or shuffle delegates, to ensure that the current delegates are accountable and honest.
The delegates can collaborate and organize themselves to maximize efficiency. DPoS systems are scalable and provides extremely fast transactions verification.

The downside of a DPoS system is that it is partially centralized, as only the small group of delegates validates the transactions, while the participants serves as the decentralized voting power that elects the delegates. Therefore, the delegates may collude to form 'cartels'.

Byzantine Fault Tolerance (BFT)

BFT is notably used by Ripple and Stellar. For Ripple, validators are pre-selected by the Ripple foundation, with validators from Ripple foundation itself and trusted external third-parties. For Stellar, anyone can become a validator and trust is established by the community. Validators cooperates together to reach a consensus on the next block.

The downside is that malicious entities are able to disrupt the consensus by not reaching an agreement to the next block, and may result in the process breaking down. Similar to DPoS, there are elements of centralization in BFT systems as there are low numbers of validators who can collude together and become malicious.

However, malicious entities may be ignored if there are enough good validators in the system to blacklist them. Hence, it is important to have trusted validators in this system. BFT is advantageous in that it is able to be highly scalable, with low transaction costs.

Directed Acyclic Graphs (DAG)

The projects known to use DAG algorithms are mainly IOTA and Nano. DAG uses a structure different from the blockchain structures that all other crypto projects uses. The main advantages are theoretical infinite transactions per second and scalability.

The downsides of current DAG projects are mainly that IOTA has to rely on its centralized node called "The Coordinator" to ensure network integrity, until there is enough transaction volume to prevent an attack. As for Nano, its 'block-lattice' structure makes it vulnerable to "Penny-spend" attack, whereby attackers send negligible amounts of tokens to many empty wallets to inflate the number of chains that nodes must keep track of.

Conclusion

Ultimately, there is still yet to be a perfect consensus algorithms that are able to solve all three important factors, also known as the trillema: scalability, decentralization and security. Most blockchains are able to solve two of the factors at the expense of one. For example, Bitcoin, as per most PoW projects, were developed to focus on security and decentralization, but at the cost of scalability. As blockchain is still a young technology, it remains to be seen whether an algorithm that is able to tackle the trillema will be developed in the near future.

References

(kjnk,2018)https://steemit.com/cryptocurrency/@kjnk/breakdown-of-the-different-cryptocurrency-consensus-algorithms
(Zane Witherspoon, Feb 12,2018)https://hackernoon.com/a-hitchhikers-guide-to-consensus-algorithms-d81aae3eb0e3
(Phil Glazer, Mar 14,2018) https://hackernoon.com/an-overview-of-cryptocurrency-consensus-algorithms-9d744289378f
(Amy Castor, Mar 4,2018)https://www.coindesk.com/short-guide-blockchain-consensus-protocols/
(Miguel Gomez, Nov 27,2017)https://cryptovest.com/news/ethereum-co-founder-vitalik-buterin-weighs-in-on-blockchain-improvement--scaling-issues/