Skip to content

Revision · Blocks & the Blockchain

Part 3 built the data structure the word “blockchain” names: a linked list where each link is glued by a hash, so changing the past breaks every block after it. The throughline is that this makes the order and contents of history tamper-evident — detectable and rejected by everyone, with no authority in charge.

  • Anatomy of a block — a block is just an 80-byte header bolted to a transaction list opened by the coinbase; the header stores no transactions, only a 32-byte Merkle root committing to them, and size is capped at 4,000,000 weight units to keep node verification cheap.
  • The block header — six fields (version, prev-hash, Merkle root, timestamp, bits, nonce) totalling 80 bytes; miners hash just these bytes billions of times a second, so the megabyte of transactions is committed once and ignored during the grind.
  • Merkle trees & SPV — one root commits to every transaction, and a log₂(n) inclusion proof lets a light client verify a payment against an 80-byte header it trusts — proving a tx is in a block with work on top, though not re-verifying the tx itself.
  • Chaining blocks — each header carries the previous header’s hash back to the genesis block, so editing one old transaction cascades through its Merkle root, header, and hash, forcing an attacker to re-mine every block after it.
  • Immutable means expensive to rewrite — nothing forbids a fork; the prev-hash link plus the most-work rule just make rewriting cost re-mining everything since and out-pacing the honest network, which is why deep history is exponentially settled.
  • Block validation — every full node independently re-checks every block against one deterministic rulebook (proof of work, recomputed Merkle root, unspent inputs, passing scripts, conservation, coinbase value, timestamps); validation is local, total, and identical, so strangers converge on the same ledger.
  • Trustless means verify yourself — invalid blocks aren’t punished, just dropped as worthless; the cost of everyone re-validating is the price of not needing to trust the miner or a few peers (as CVE-2018-17144 underscored).
  • Orphans, stale blocks & reorgs — propagation delay makes honest forks routine; the heaviest chain wins automatically, the loser goes stale, and finality is probabilistic — hence waiting ~6 confirmations while zero-conf stays risky.

Chaining, hashing, and independent validation together make the blockchain something you derive rather than something you’re told to believe: any node can recompute the whole history from genesis and reject anything that doesn’t add up, and the most-work rule collapses inevitable forks back into one chain without a referee. What remains is the engine that actually produces those blocks and enforces “most work” — Proof of Work and mining, the next part.