📜 Bitcoin Whitepaper

Digital Heritage Collection
October 31, 2008

Bitcoin: A Peer-to-Peer Electronic Cash System

7. Reclaiming Disk Space

Once the latest transaction in a coin is buried under enough blocks, the spent transactions before it can be discarded to save disk space. To facilitate this without breaking the block's hash, transactions are hashed in a Merkle Tree, with only the root included in the block's hash. Old blocks can then be compacted by stubbing off branches of the tree. The interior hashes do not need to be stored.
A block header with no transactions would be about 80 bytes. If we suppose blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year. With computer systems typically selling with 2GB of RAM as of 2008, and Moore's Law predicting current growth of 1.2GB per year, storage should not be a problem even if the block headers must be kept in memory.

💡 Key Concepts

🌳 Merkle Tree
A tree of hashes where each leaf is a transaction and each node is a hash of its children. This allows efficient proof that a transaction was included.
💾 Disk Space Optimization
Old transaction data can be pruned while keeping the blockchain secure. Only the Merkle root needs to be stored in block headers.
📊 Storage Efficiency
Block headers are only 80 bytes. Even after decades, the entire header chain requires minimal storage compared to full transaction history.
🔗 Merkle Root
A single hash representing all transactions in a block. Changing any transaction would change the root, proving tampering.
⚙️ Moore's Law Consideration
Satoshi designed Bitcoin with computer hardware growth in mind. Storage requirements grow slower than hardware capabilities.