Consensus Algorithms

  • A Blockchain relies on no central authority.  Instead it relies on software algorithms to validate transactions, verify identities/resources, and to form consensus on the composition and state of the chain.

  • Consensus algorithms are not new or novel to just Blockchains;  they have been one of the cornerstones of distributed computing in the field of computer science since the 1970's.

  • Consensus algorithms seek to reach agreement among participants in a distributed network in the face of faulty and, possibly, dishonest nodes.  This achieves a system that is Byzantine fault tolerant (BFT).

  • Achieving BFT, in turn, results in a network/system where all nodes are equally privileged to participate.  The right to update the database is determined in a fair and decentralized manner.  There is consistency across the Peer to Peer participants, there is only one version of the (ultimate) truth, all valid changes are incorporated and all transactions are kept in chronological order.

  • In Blockchains, consensus algorithms , along with validation, verification and immutable recording lead to a network/database of trust and security amidst unknown peers.

  • There are many consensus algorithms.  The original and most common prior to 2020 for Blockchains was Proof of Work (POW).  With the advent of 2020, many Blockchains are adopting from the outset, or transitioning to, Proof of Stake (POS).

  • Every approach to Blockchain consensus has its pros and cons.  The biggest cons to POW are centralized mining and power consumption.

  • Hackernoon has published a nice summary of 30 consensus algorithms, including pros and cons of all.  The article can be found here:  ConsensusPedia