The bitcoin whitepaper explained and commented, section 7 — reclaiming disk space

Raphael M.
4 min readMay 12, 2020

This is the 7th part of our series dissecting Satoshi Nakamoto’s original Bitcoin whitepaper from 2008. In part 6, we talked about incentives: block rewards and transaction fees. This week, we’re looking at a less obvious issue: disk and memory space. As previously, quotes are from the whitepaper.

Satoshi Nakamoto’s preoccupation with disk space is legitimate. Every 10 minutes, a new block of around 1 MB is appended to the blockchain. That’s 144 MB per day, or about 50 GB per year. Until 2015, however, few transactions were added every day, and hence blocks were much smaller than 1 MB. As a result, the blockchain only reached 50 GB in January 2016. As of May 2020, it exceeds 275 GB.

Merkle Trees: storing transactions for fast access

Nakamoto aims to reduce the size of the blockchain by removing old transactions. Inside a block, transactions are stored in a particular order called a Merkle tree: instead of being organized in a linear way, the transactions are put together just like leaves on a tree. This structure allows for a much quicker access to any transactions than a linear structure would, just like the hierarchical structure of a tree in nature allows water to flow from the ground to each of its leaves with minimal effort.

Along with transactions, hashes are computed at every level of the tree, starting from the leaves and ending with the root. This way, some transactions can be removed without changing the main hash, just like leaves and branches can be cut from a tree without disturbing the rest of the plant.

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 [7][2][5], 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.

The Merkel tree of transactions is upside down, with the root on top. The transactions in the red boxes can be pruned without affecting the rest of the tree or changing the hashes.
Raphael M.

Author, KEYS to BITCOIN: learn how Bitcoin really works