The Bitcoin White Paper: 7. Reclaiming Disk Space

The Bitcoin White Paper: 7. Reclaiming Disk Space…

Drive-Space

“Bitcoin: A Peer-to-Peer Electronic Cash System
Satoshi Nakamoto
October 31, 2008″

Satoshi moves onto to keeping Bitcoin efficient. Keeping a running ledger of all the transactions on everyone’s node can seem scary. How do we keep things under control so the average user can run a Bitcoin node and participate in the network?

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 [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.

Thankfully a Merkle Tree was invented that does an amazing job of compressing data.

“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.”

Satoshi was a bit optimistic on the size of a Bitcoin block. This estimate above says a block should be about 17 GB in 2023. But we’re currently at 556 GB! But the price of storage has dropped faster than Bitcoin has grown! A 1,000 GB (or TB) hard drive costs as little as $32. A TB drive was at least $100 back in 2010.

“References

2. H. Massias, X.S. Avila, and J.-J. Quisquater, “Design of a secure timestamping service with minimal trust requirements,” In 20th Symposium on Information Theory in the Benelux, May 1999. ↩ ↩

5. S. Haber, W.S. Stornetta, “Secure names for bit-strings,” In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997. ↩ ↩

7. R.C. Merkle, “Protocols for public key cryptosystems,” In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980. ↩

Thanks to the Nakamoto Institute for making the whitepaper available freely via an Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. More info on that here: https://creativecommons.org/licenses/by-sa/4.0/

Source: https://nakamotoinstitute.org/bitcoin/