回收磁盘空间 (Reclaiming Disk Space)
一旦一枚硬币中的最新交易被足够多的区块掩埋,之前的已花费交易就可以被丢弃以节省磁盘空间。为了在不破坏区块哈希的情况下实现这一点,交易被哈希到一个默克尔树中[7][2][5],并且只有根节点包含在区块的哈希中。然后,旧区块可以通过截断树的分支来压缩。内部的哈希不需要被存储。
Block: 区块
Block Header (Block Hash): 区块头(区块哈希)
Prev Hash: 前一区块哈希
Nonce: 随机数
Root Hash: 根哈希
Hash[N]: 哈希[N]
Tx[N] (Transaction[N]): 交易[N]
Transactions Hashed in a Merkle Tree: 在默克尔树中哈希的交易
After Pruning Tx0-2 from the Block: 从区块中修剪交易0-2之后
一个没有交易的区块头大约为 80 字节。如果我们假设每 10 分钟生成一个区块,80 字节 _ 6 _ 24 * 365 = 4.2MB 每年。考虑到截至 2008 年,计算机系统通常配备 2GB 的内存,并且摩尔定律预测当前每年增长 1.2GB,即使区块头必须保留在内存中,存储也不应成为问题。