tto / docs / bitcoin / nakamoto consensus

Satoshi Nakamoto connected a variety of solved problems to their consensus mechanism. The novel solution to the [byzantine-generals-problem] is the use of [proof-of-work] to enable in-protocol sanctions of bad actors.

Sanctions are implicit: a lot of energy must be expended in order to mint a block with malicious transactions; no honest node will accept the bad block, so the energy is lost forever. Finding new blocks is (very) hard, difficulty adjustments make sure it gets harder if the hashrate increases. Checking if blocks are valid is very easy and fast.

see: [mining], [difficulty-target]

The fork choice rule enables self-healing: nodes can objectively choose the canonical chain. Nodes and clients can identify the longest chain (i.e. the chain with the greatest accumulated proof-of-work) from the [block-header]. The longest chain was originally chosen by the number of blocks, this was later adjusted to include the difficulty.

It is vital for the network to have as many honest nodes as possible.