Blockchain Consensus Algorithms Explained
Last Updated: 1st November 2018
A core obstacle within distributed computing and multi-agent systems is the consensus problem. The problem highlights the difficulty that can materialize when distributed processes and systems attempt to reach an agreement on some data value that is needed during computation. Some actors participating in the distributed processes and systems may fail, or may not be reliable, which would result in an unreliable network. Consensus algorithms are mechanisms that are used to achieve agreement on a single data value, and thus obtain reliability in a network that can involve unreliable participants.
One important characteristic of blockchain technology is its distributed nature. All network participants (nodes) can each possess a copy of the blockchain, so that there is not one single point of failure. However, because of the blockchain’s distributed nature, there must be a way for these nodes to reach agreement as to the shared state of the blockchain. This agreement, or consensus, is achieved by use of consensus algorithms. These algorithms enables network participants to agree on the contents of the blockchain in a distributed and trustless manner.
The very first implementation of a distributed and trustless consensus algorithm is Bitcoin’s proof-of-work (PoW) algorithm. PoW requires miners to solve complex cryptographic puzzles before they can add a block to the blockchain. In exchange for solving the puzzle, miners are rewarded with bitcoins, this is known as a block reward. It is important to note that each block that is added to the blockchain must follow a certain set of consensus rules. For example, Bitcoin’s consensus rules include rules such as: no double-spends, transactions and blocks must be in the correct format, and only a certain amount of block rewards can be given in exchange for solving the cryptographic puzzle. Blocks that do not follow these consensus rules will be rejected by network nodes. The combination of the PoW consensus algorithm and the consensus rules produces a reliable network in which agreement as to the shared state of the blockchain can be achieved.
There also numerous other consensus algorithms that exist in the cryptocurrency space, such as: