The Nakamoto Consensus Algorithm

A brief history of digital cash and the first consensus algorithm.

William Nester
Nov 15, 2018 · 6 min read

“Privacy in an open society requires anonymous transaction systems. Until now, cash has been the primary such system. An anonymous transaction system is not a secret transaction system. An anonymous system empowers individuals to reveal their identity when desired and only when desired; this is the essence of privacy.”

Cypherpunks saw the potential that cryptography and the internet had as instruments for the creation of digital economies, resilient to political attacks. With this in mind, several attempts were made between 1990 and 2009 to find the perfect mathematical formula to support a working digital currency. Among those tries, some stand out, and have helped shape what we know know today as Bitcoin.

  • Wei Dai’s B-Money
    B-money used a distributed ledger and incentive mechanisms. The first was the obligation of every participant in the network to maintain a separate database documenting how much money belongs to users. The latter involved the incentive to operate honestly.
  • Nick Szabo’s Bit Gold
    Bit Gold used cryptographic hashes. Each block was linked with PoW, which is a cryptographic puzzle, done to verify that a computer spent resources to compute a certain value. This value is computationally expensive to find and impossible to pre-compute, also this cryptographic puzzles helped in creating immutable ledgers.

Putting it all together — The Nakamoto Consensus Algorithm

The Nakamoto Consensus Algorithm is the engine that makes Bitcoin a viable substitute of fiat currencies. Essentially, it is a PoW consensus algorithm in conjunction with a specific set of rules that govern the mechanics of the network, and this is how it works:

Proof of Work (PoW)

Often regarded as the most important component of Nakamoto Consensus, PoW provides immutability, randomizes the election of a leader or validator, and aids the Block Selection Rules with protocol government.

Block Selection Rules

Block Selection is the process of selecting a validator to insert the next block in the chain. The first rule to select a block is comparable to a race. The winner is the validator that comes up with the PoW solution first. Whoever wins this race has the right to add the block to the chain and in doing so increase the validity of previous blocks in the chain.

Making it all work

The two previously described components, in addition to cryptographical signatures, validation rules, and incentive mechanisms, complete The Nakamoto Consensus Algorithm.

Picking up where Satoshi left off.

William Nester

Written by

Junior Software Engineer- Cloud Computing, Cybersecurity and Blockachin

Picking up where Satoshi left off.