
What a hash does
A hash function takes any message and gives back a fixed-length fingerprint. Bitcoin uses SHA-256, which always gives 256 bits, written as 64 characters. Feed it one word or a whole film and you get 64 characters either way.
Here are three, computed with the shasum tool on a Mac on 1 November 2026:
One capital letter, one period, and no pattern links the three results. Anyone with the same tool gets the same three lines: a hash is a fact about a message that anyone can check and nobody can fake.
Crypto from Zero called this a fingerprint and left it there; most of this course is a hash used in a particular way.
Chaining blocks together
A block is a bundle of transactions with a header on top. In Bitcoin the header is 80 bytes and holds, among other things, the hash of the previous block’s header. The Bitcoin developer guide puts it in one line: each block “stores the hash of the previous block’s header, chaining the blocks together.”
The previous-hash field is the chain. Change a transaction in block 500 and block 500’s hash changes. Block 501 holds the old hash, so block 501 no longer matches, and fixing 501 breaks 502.
Bitcoin adds a second lock. A block’s hash has to start with a run of zeros, and finding a header that does takes an enormous amount of trial and error (lesson 4 covers the work itself).
Ethereum chains its blocks the same way. ethereum.org: “Blocks are batches of transactions with a hash of the previous block in the chain,” and “every new block created contains a reference to its parent block.”
Since 2022 the lock on Ethereum’s chain is different, stakes rather than work, which is lesson 4’s subject.
Merkle trees
A block can hold thousands of transactions, and its 80-byte header commits to all of them through a Merkle tree, named for Ralph Merkle, whose 1980 paper the white paper cites.
The developer guide’s description: the transaction hashes “are then paired, hashed, paired again, and hashed again until a single hash remains,” the Merkle root.
The root goes in the header. Change one transaction and its hash changes, so the pair above it changes, and so on up to the root, and the header no longer matches.

The tree does a second job. The white paper’s section on saving disk space explains that old spent transactions can be thrown away and the “interior hashes do not need to be stored,” while the root still proves what was in the block.
And a light wallet that doesn’t download whole blocks can ask for “the Merkle branch linking the transaction to the block,” a handful of hashes, and check that its payment is in a block the network accepted. A light wallet built this way has checked exactly that, and nothing more.
Ethereum goes further and puts a tree of the same family over its whole state. ethereum.org: “There is one global state trie, and it is updated every time a client processes a block,” and its root goes in the block header as “the root hash of the state object.” That’s how a balance can be proved without sending the entire ledger.
What “immutable” means, and doesn’t
Immutable is the word people use, and it needs a footnote. The chain is hard to change, not impossible.
The white paper is plain about it. The system holds as long as “a majority of CPU power is controlled by nodes that are not cooperating to attack the network.”
An attacker with more power than the honest miners could rewrite blocks, though the paper also shows what he couldn’t do: “Nodes are not going to accept an invalid transaction as payment,” so he could only “try to change one of his own transactions to take back money he recently spent.” He couldn’t print coins or take yours.
Ethereum’s documentation is equally plain. Once a block is finalized, “it cannot be reverted or changed without a majority slashing of stakers,” and the same page gives the floor: an attacker “would commit to losing at least one-third of the total supply of staked ETH.” Lesson 4 works out what an attack would take today.
Databases against blockchains
Everything it does well (no single party can quietly edit it) and everything it does badly (no undo, no helpline, a copy on every node) follows from that difference. A database needs no network of nodes to agree, so it suits any job where you trust the owner. A blockchain exists for the jobs where you don’t.
Last checked: 6 November 2026