Track 1 · Mechanics · lesson 2
Why tampering is loud
6 min
Track 0 showed that editing a block breaks every block after it. Now for the part that makes the whole thing practical: you can prove one transaction is in a block without downloading the block.
✓ every link matches
Hashing a list, in pairs
The transactions root in the header is not a hash of the whole list glued together. The transactions are hashed in pairs, then those hashes are hashed in pairs, and so on until a single hash is left at the top.
That structure is a Merkle tree, and the hash at the top is the root.
The useful property: to prove your transaction is in the block, you do not need the other transactions. You need your transaction, plus one hash per level of the tree — about twenty hashes for a block of a million.
Anyone can recompute the root from those and compare it to the header. If it matches, your transaction is in that block. If a single bit of it were altered, it would not.
Predict
A block holds 1,048,576 transactions. How many hashes do you need to prove one specific transaction is in it?
What tamper-evident actually means
Put the two mechanisms together:
- Change a transaction, and the Merkle root in the header changes.
- Change the header, and the next block's parent hash no longer matches.
There is no edit small enough to slip through. Not because anyone is watching closely, but because the arithmetic stops working, and every node checks the arithmetic.
Check
Someone hands you a transaction, twenty sibling hashes, and a block header. You recompute the root and it matches. What have you proved?
Where you meet Merkle proofs againOptional
This is not trivia. Merkle proofs are load-bearing infrastructure:
- Light clients and phone wallets verify payments without the full chain.
- Bridges between chains prove that something happened on the other side.
- Airdrops publish one root on-chain and let thousands of people prove eligibility, instead of storing thousands of addresses in a contract.
That last one is a genuinely common contract pattern, and you will build it.
Worth remembering
- Transactions are hashed pairwise into a Merkle tree; the header stores only the root.
- A Merkle proof is one sibling hash per level — about 20 for a million transactions.
- Proof size grows with the logarithm of the block size, which is what makes light clients possible.
- Inclusion is not success: a transaction can be in a block and still have reverted.