主页 > imtoken钱包哪个版本好 > 比特币的硬盘空间恢复

比特币的硬盘空间恢复

imtoken钱包哪个版本好 2023-01-17 05:36:51

在比特币白皮书中,描述了一种回收硬盘空间的方法,即删除区块中除最后一笔交易以外的所有交易。

bitcoin reclaiming disk space

上图左图表示所有交易都可以按顺序计算,图中虚线表示是计算的,不是存储的; 因此,当硬盘空间未被回收时,所有交易都存储在区块中。

比特币银行禁止交易_外国的比特币便宜中国的比特币贵为什么?_中国银行收购比特币

上图右图中,交易已经被切掉,只留下最后一笔交易和默克尔树中的一些关键节点(实线框的哈希值),这些节点之前是没有存储的,现在,由于交易是cut,所以为了计算更高一级的hash,需要存储下一级的hash。

那么,为什么不直接剪辑所有交易呢? 只保留根哈希?

如果只剩下Root Hash,那么就无法验证hash的真伪,有可能被随意伪造。

中国银行收购比特币_外国的比特币便宜中国的比特币贵为什么?_比特币银行禁止交易

那么,是不是可以把上图右图中的Tx3切掉,而是存储Hash3(目前Hash3没有存储,是一个虚线框,计算出来的)?

不是,原因和上面类似,只有一个hash值字符串,无法验证真伪。

因此,至少需要保留一笔交易,而且交易中包含的信息不能被伪造,否则比特币就完蛋了,当然,除非是多数攻击。

中国银行收购比特币_外国的比特币便宜中国的比特币贵为什么?_比特币银行禁止交易

那么为什么要保留最后一笔交易而不是第一笔呢?

我理解保留第一笔交易是一样的中国银行收购比特币,甚至保留任何一笔交易都是一样的,只是裁剪的方式不同。

那么,为什么选择使用默克尔树呢?

中国银行收购比特币_外国的比特币便宜中国的比特币贵为什么?_比特币银行禁止交易

上面剪报交易的巧妙设计你应该能看出来。 merkle树可以裁剪一些东西来节省存储空间,但是不会破坏hash。 如果我们把所有的交易都放在一个大脑里,生成一个hash,那么就很容易了。显然,剪掉任何一笔交易都会导致最终的hash值发生变化。 结果,被截断的区块无法通过验证,因为验证时计算出的哈希不同。

那么,正如白皮书所说,如果所有的交易都被砍掉,那么比特币区块每年的增量只有1.2GB,那为什么比特币区块现在快160GB了呢?

bc size

比特币银行禁止交易_中国银行收购比特币_外国的比特币便宜中国的比特币贵为什么?

这是因为比特币没有实现白皮书中描述的硬盘空间回收技术。 比特币实现了剪枝技术(prune mode)。 但是中国银行收购比特币,全节点,或者说比特币链,不会自动剪枝,也不会主动剪枝。 剪枝,因为一旦交易被剪枝,这些交易就无法查询了。

因此,区块链的块大小一直在增加。

另外,比特币实现的剪枝技术是指在同步区块并验证区块有效性后进行剪枝,因此不节省带宽,只是节省磁盘空间。 当然,剪枝和同步是并行进行的。 它不需要同步到最高块来开始裁剪。