读比特币白皮书(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.

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.
译文整理
如果最近的交易已经被纳入了足够多的区块之中,那么就可以丢弃该交易之前的数据,以回收硬盘空间。为了同时确保不损害区块的Hash值,交易信息被hash时,被构建成一种Merkle树(Merkle tree)[7] 的形态,使得只有根(root)被纳入了区块的随机散列值。通过将该树(tree)的分支拔除(stubbing)的方法,老区块就能被压缩。而内部的随机hash值是不必保存的。

不含交易信息的区块头(Block header)大小仅有80字节。如果我们设定区块生成的速率为每10分钟一个,那么每一年产生的数据位4.2MB。(80 bytes * 6 * 24 * 365 = 4.2MB)。2008年,PC系统通常的内存容量为2GB,按照摩尔定律的预测,内存容量每年会增加1.2G,即使将全部的区块头存储于内存之中都不是问题。
关键词解读
1、Merkle Tree(Merkle树)
一个知识点,原理已经在图中表示,我的理解就是多重hash计算,最后得到一个根hash值。
2、 save(节省)
这里说了2中节省磁盘空间的方法:
(1)历史区块可以删除;
(2)可以只保存区块头,不保存交易明细。
3、storage(存储)


目前每月发生的交易有1000万笔左右,产生的区块空间大概是4-6G,一年50-70G左右,目前总大小大概是600G+,对于现在存储的发展速度,短期应该是没啥问题的。