从长远看,Eth2 应该做什么? 错开不同分片上的区块时间,这样在任何时候总会有一些分片会在几百毫秒内出块。这样就可以让跨多个分片运行的 rollup 具有超低的延迟,而不使链本身面临超低延迟所带来的风险。 改进并巩固其共识算法 调整EVM,使其对欺诈证明的验证更加友好(例如,这可能意味着某种“框架”特性,以防止代码脱离沙盒,或允许 SLOAD/SSTORE 指令被重映射至账户存储以外的东西作为其数据源)。 与 ZK-SNARK 有关的一切
更妥协的提案
如果你不认可上述 “一路” 走到 “Phase 1.5 即完成” 的发展方向,那么有一条自然的折中之路:使 Eth2 具有少量的执行分片(例如 4-8个)和更多的数据分片。我们的目标是,执行分片的数量仍然足够少,在特殊情况下,普通计算机能够完全验证所有的执行分片,但基础层空间仍然会比现在路线图中所设定的大得多。 基础层空间不能太小,因为用户和应用仍然需要使用基础层进行一系列操作,例如在不同的 rollup 之间移动,提交欺诈证明,在 ZK rollup 中提交 ZK 证明,发布根 ERC20 代币合约(当然,多数用户大多数时间都会使用 rollup,但基础层合约必须存储在基础层的某个地方...)等等。而如果这些操作所涉及的每笔交易的成本是140美元,用户体验仍然是非常差的。因此,如果有必要,设定 4-8 个执行分片而不是 1 个,可以大大缓解这一问题。而且一台计算机仍然可以验证所有的分片。如今,以太坊上每 13 秒就能挖出一个区块,而验证一个区块平均耗时约 200-500 毫秒,所以短时间内验证 8 个线程是完全可行的。可以想象客户端会有这样的对策:"只要网络延迟很低,或委员会人数达到满员数量的 80%,依靠欺诈证明和委员会,可以在特殊情况下直接验证所有分片"。 在 ETHGLOBAL 上针对该文的问答 Q: L2 致力于解决扩容问题,在社区已经被研究和讨论多年,但之前的尝试似乎不太成功,你对 rollup 有多大信心?这次扩容尝试和之前相比有什么不同? A: 我在博客文章中对这个问题有更详细的讨论(中文译本)。我的主要观点是 rollup 与状态通道及 plasma 都有所不同。对于扩容来说,要扩容两样东西,扩容计算和扩容数据可用性。我的观点是,状态通道和 plasma 都不解决数据可用性问题,他们用了一类特殊的与应用场景相关的技巧试图解决这个问题。与前两者不同的是,rollup并不把所有东西都放在链下,而是将计算放在链下,但是将一定量(比如10,16,50 bytes)的数据存储在链上,这是 rollup 的扩容性能受到一些限制的原因。也就是说 Rollup 更加妥协一些,为了支持任意状态机牺牲了一些扩展性。对于 plasma 来说,一开始我们认为可以解决在 plasma 中运行任意状态机的问题,但最终我们意识到这是做不到的。但对于 rollup 来说,有一些数学和技术层面的证据可以证明 rollup 可以实现这些功能 —— 任意状态机,也即是某种图灵完备性。在实践中,rollup 已经成功运行一段时间了,例如已经有了 3 个使用 rollup 的 DEX,你也可以在 gitcoin 捐款时使用 rollup,sythentix 等项目则在支持 evm 的测试网中进行测试。可以说,在状态通道和plasma中没有得到解决的问题,我觉得在 rollup 中已经得到逐步解决了。 (责任编辑:admin) |