以太坊区块链情况介绍

2022-06-20 区块链达人

我们来设想一下同样的方法能不能应用到以太坊上。以太坊区块链非常庞大(150-160 Gb),状态也很大(40-100 Gb,具体取决于你存储状态的方式)。“重启” 以太坊区块链的一个明显优点是,新加入的节点需要下载 40Gb 的创世状态,而非一条 150 Gb 的区块链。然而,下载 40 Gb 的创世状态也不是很好的体验。

假定我们可以将这 40 Gb 存储在 “链下”,只将根哈希打包进创世块,这样我们就能从空状态开始了。但是,我们如何让交易访问这些隐式的状态?

请记住,尽管这 40 Gb 的状态是隐式的,而且如何获取这些状态属于实现细节,你可以运行所有 1000 万个区块来计算这些状态,或者通过快速同步、warp 同步来下载其快照,或者从其他人的外部磁盘复制过来再进行验证。

虽然状态是隐式的,但是我们假设区块提议者(通常是矿池)可以访问这部分隐式数据,而且能够处理所有交易。

只不过我们要放弃一个假设:所有其他验证节点都可以访问隐式状态,来验证区块中的交易是有效的,且区块头中的状态根哈希符合区块的执行结果(译者注:在当前的以太坊协议中,因为所有状态都是显式的,所以这个假设是合理的)。

如果你了解无状态以太坊(Stateless Ethereum),你可能会意识到,这正是我们目前努力的方向 —— 保留 “区块提议者可以访问隐式状态” 的假设,去除 “所有验证节点都可以访问隐式状态” 的假设。我们建议的解决方案是,让区块提议者将额外的证明添加到区块中。我们将该证明称为 “区块见证(block witness)”。

作者 : 以太坊爱好者