Such peer-to-peer networks consist of thousands of computers or nodes, which are distributed all around the world. But how do nodes, which work as independent units and do not trust any higher authority, manage to agree on the right state of the blockchain? It’s all thanks to the implementation of a consensus mechanism, which allows nodes to reach agreement on the validity of transactions.
Decentralized consensus emerges from four specific processes, as will be explained here. Nodes go through these processes independently, but must follow the same set of blockchain consensus rules to stay compatible.
Decentralized consensus essentials
- All peers agree on a single universal truth independently, without having to consult or trust a central authority.
- Consensus among nodes emerges from the following processes:
- transaction validation,
- block creation,
- block validation,
- validation of the chain with the most proof of work.
- Operation processes can change if the community running nodes agrees on an update.
In a decentralized network, peers do not reach an agreement at a fixed moment. Rather, consensus emerges as nodes go through the following processes, independently from one another:
- Full nodes independently check each transaction against pre-specified criteria.
- Mining nodes then collect verified transactions and add them to a new block alongside the solution to the computational puzzle required for proof of work.
- Every node verifies the new blocks and connects them to the chain.
- It is then up to full nodes to determine which of the chains exhibits the most cumulative computation demonstrated by proof of work, making that branch of the chain the main chain.
Only by following the same consensus rules and enforcing the proof-of-work mechanism can nodes agree on a single valid blockchain. This is true for Bitcoin-like blockchains, while some strive to implement a different validation process.
Decentralized blockchains are based on open-source software, which means that anyone can propose an update to the network protocol or validation rules.
The people who run nodes on their computers are the ones who need to agree on every change that would affect the compatibility between nodes.
In the Bitcoin community, updates are proposed in the form of a design document, called the Bitcoin Improvement Proposal (BIP). BIP authors, sometimes called “champions,” often discuss their ideas on forums before forwarding them to the Bitcoin development mailing list.
For example, SegWit was proposed in BIPs 141 and 148. The change was not backed by the entire community, which led to the forking of the blockchain. Deploying SegWit resulted in a user-activated soft fork on the Bitcoin blockchain, while its opposition opted for a hard fork, thus creating Bitcoin Cash.
Achieving consensus on a decentralized network has been a difficult challenge, but cryptocurrencies have managed to overcome it with their underlying technology – blockchain. While disputes still remain, blockchain ensures they are solved in a democratic way, rather than leaving the decision making in the hands of a higher authority.