--:--:-- UTCF&G--QUIET-
Twelve metal plates stamped with seed words, laid out beside a broken, discarded device.

THE CIPHER SCHOOL · MODULE 04 OF 08FIRST PRINCIPLES

The Seed

Twelve words are the wallet.

In the summer of 2013, an IT worker in Newport, Wales, cleared out a desk and dropped a small hard drive into a black bin bag. James Howells had two identical drives; the one that went to landfill held the private keys to 8,000 bitcoin he had mined for pennies in 2009. What followed was a twelve-year siege of the tip: excavation schemes, drone surveys, robot dogs, investor consortiums, an offer of £25 million to the council — all refused. In January 2025 the High Court ended it, ruling that the drive had become the council's property the moment it hit the pit and that his claim had no realistic prospect of success. The coins are still there in the ledger, visible to everyone and spendable by no one, under a hundred thousand tonnes of Welsh refuse.

§ § §

Howells lost a file. You should never have to, because the modern wallet reduced the thing you must keep to twelve or twenty-four words. The standard is BIP39, and its mechanics fit in a paragraph. Take the entropy from Module 3 — 128 bits for twelve words, 256 for twenty-four. Compute its SHA-256 hash and append the first few bits as a checksum: one bit per 32 bits of entropy, so 4 or 8. Slice the result into 11-bit chunks — 132 bits make twelve, 264 make twenty-four — and use each chunk, a number from 0 to 2,047, to pick a word from a fixed list of 2,048. That is the whole trick. The words are the number; they add nothing and hide nothing. And the checksum only catches transcription errors — it is an integrity aid, not a security feature.

From the words, everything else grows deterministically. The mnemonic is stretched through PBKDF2-HMAC-SHA512 — 2,048 rounds, salted with the string "mnemonic" plus your optional passphrase — into a 512-bit seed. BIP32 then feeds that seed to HMAC-SHA512 keyed with the phrase "Bitcoin seed": half the output becomes the master private key, half a "chain code" that rides along the tree. From that master, the wallet derives child keys, grandchildren, whole branches — millions of addresses if you want them, every one recomputable from the same words, in the same order, forever. This is the quiet revolution of hierarchical deterministic wallets: back up once and you have backed up every address the wallet will ever create. Before BIP32, wallets held loose bags of independent random keys, and a stale backup silently lost coins.

A derivation path is the address of a key within that tree, written like m/84'/0'/0'/0/0 — read it as standard (84 means BIP84, today's native-SegWit default), coin, account, receive-or-change, and finally the address index. The apostrophes mark hardened levels, and they exist for a concrete reason: an xpub — the watch-only public branch you might hand to a portfolio app — plus any one leaked non-hardened child private key is enough to reconstruct the parent private key by simple arithmetic. Hardened derivation mixes the parent's private key into the computation and slams that door shut, which is why account levels are always hardened and only the outermost address levels are not. The path is not a secret; it is a map.

That map explains the most common heart-stopping moment in Bitcoin: the restore that shows zero. A seed restored into new software often "loses" coins that are merely unscanned. One seed usually contains several trees at once — legacy, wrapped SegWit, native SegWit, Taproot — and a wallet that scans only its own preferred path reports an empty balance for all the others. Recovery scans also observe a gap limit, conventionally 20: if twenty consecutive addresses show no history, scanning stops, so coins parked deep in a sparsely-used account can sit invisible. In both cases nothing is gone. The keys still derive; the coins still sit in the ledger; the software just did not look where they are. The cure is a wallet pointed at the right derivation path — never a hasty conclusion.

The passphraseBIP39's optional "thirteenth or twenty-fifth word" — deserves respect from both directions. Mixed into the seed derivation as part of the salt, every distinct passphrase opens a completely different wallet, and every passphrase is valid. That is power: a thief holding your metal seed backup finds only a decoy, and funds behind strong passphrases survived even the Coldcard sweep. It is also the sharpest footgun in custody. There is no checksum on a passphrase, no error message, no "wrong password" screen. Mistype it and a wallet opens normally — a different, empty wallet, which users routinely misread as theft. Forget it and your coins are exactly as unreachable as the thief's would have been. It splits your secret in two; you must now keep both halves alive.

Hold the module's inversion firmly: the words are the wallet, and the device is disposable. A drowned phone, a bricked signer, a lost hardware wallet — inconveniences, so long as the words survive on something sturdier than paper and memory. Stefan Thomas, paid 7,002 BTC in 2011 for making an early explainer video, keeps its keys on an encrypted IronKey that allows ten password guesses; he has used eight. His loss predates good seed practice — metal-stamped BIP39 words are the designed answer to exactly his failure, and to Howells'. But the corollary from Module 3 cuts the other way: derivation is deterministic, so words born from bad entropy are bad forever. No firmware update, no new device, no re-import can repair a badly-born seed. The only fix is a fresh seed and an on-chain move.

INTERACTIVE · DICE TO SEED

Fifty honest rolls become twelve words.

⚠ TEACHING DEMO. NEVER USE A SEED GENERATED IN A BROWSER FOR REAL FUNDS — DO IT ON AN OFFLINE SIGNING DEVICE.

Each d6 roll carries log₂6 ≈ 2.585 bits of entropy. Roll until the accumulator reaches 128 bits (~50 rolls), and the transcript is distilled into BIP39 entropy, checksummed, and mapped onto the 2,048-word list.

ENTROPY ACCUMULATED0.0 / 128 BITS · 0 ROLLS

Method note: naively mapping die faces straight to bits would bias the stream (six faces do not divide evenly into powers of two), so the rolls are concatenated and hashed with SHA-256, and the first 128 bits become the entropy — the same extractor Coldcard uses for its 99-roll dice feature. The hash cannot add entropy; it only distils however many honest bits went in. The virtual dice here draw on the machine’s CSPRNG — one more reason this page is theatre, not a wallet.

⚠ TEACHING DEMO. NEVER USE A SEED GENERATED IN A BROWSER FOR REAL FUNDS — DO IT ON AN OFFLINE SIGNING DEVICE.

LESSON · A SEED PHRASE IS NOT MAGIC WORDS — IT IS 128 COIN FLIPS, CHECKSUMMED AND DRESSED UP IN ENGLISH

Lost coins only make everyone else's coins worth slightly more. Think of it as a donation to everyone.

Satoshi Nakamoto, bitcointalk forum · 2010

We must defend our own privacy if we expect to have any.

Eric Hughes, A Cypherpunk's Manifesto · 1993

Your keys, your bitcoin. Not your keys, not your bitcoin.

Andreas Antonopoulos, Popularised across his talks; no canonical first use

INTERACTIVE · BIP32 DERIVATION

One seed. Every key you will ever need.

This tree is derived live in your browser from the public BIP39 test-vector phrase “abandon ×11 … about” — never use it for real funds. Click nodes to expand and inspect. Hover the gold for why hardened derivation exists.

seed12 words · BIP39 test vector
mmaster key
84purpose · native segwit (BIP84)
0coin · bitcoin mainnet
0account #0
0receive chain
·0receive address #0c0cebcd6
·1receive address #19c90f934
·2receive address #20d0a4c58
·3receive address #347e8cfa1
·4receive address #4d97cc009
1change chain
SELECTED NODE
m/84'/0'/0'
account #0 — hardened index (cannot be reached from the xpub alone).
fingerprint  fd13aac9
WATCH-ONLY · THE ACCOUNT XPUB
xpub6CatWdiZiodmUeTD…1VMrjPC7PW6V

Hand this string to a watch-only wallet and it can derive every address under the account — balances, history, fresh receive addresses — but not one key. It can look; it can never spend.

WHY THE ′ MATTERS

Hardened derivation (') breaks the algebra that links parent and child. Without it, one leaked child PRIVATE key plus the parent xpub is enough to unzip every key in the account. Hardening stops that attack cold.

» Same words, same tree, every time — that’s why one backup restores everything.

READING LADDER

Climb at your own pace.

SIGN IN TO CHECK OFF READS
Beginner
Inventing Bitcoin
Yan Pritzker · 2019
The wallets chapter shows how one phrase becomes every address you will ever use.
Intermediate
Mastering Bitcoin (3rd ed.)
Antonopoulos, Osuntokun & Pickhardt · 2023
Chapter 5 is the definitive walkthrough of HD wallets, mnemonics and derivation.
Grokking Bitcoin
Kalle Rosenbaum · 2019
Chapter 4 illustrates the seed-to-tree pipeline step by visual step.
Deep
Learning Bitcoin from the Command Line
Christopher Allen / Blockchain Commons · 2020
Hands-on bitcoin-cli course; the HD-wallet chapters turn this module into practice.

FIELD TEST · SIGN-IN REQUIRED

Take the quiz. Track the curriculum.

The module text is open to everyone: no account required to read. The 3-question field test and the curriculum-wide graduation stamp need a free account so we can record your progress.

SIGN IN TO TAKE THE QUIZ

FREE · NEW ACCOUNT TAKES 30 SECONDS