观点 | 回顾以太坊近期及中期扩容路线图,展望 rollup 作为中心的以太坊路线图
摘要: 如果将 rollup 作为以太坊未来发展中心……
译者注:今年以来,rollup 作为一种非常有潜力的扩容方案得到了广泛的关注,多个使用 rollup 技术的二层项目在主网或测试网上线,Vitalik 本人则是多次号召社区关注并使用 rollup。本月初,Vitalik 更是在以太坊魔术师论坛上写了一篇文章详细讲述,如果将 rollup 作为以太坊未来发展中心,以太坊的路线图应该做怎样的调整?
需要注意的是,以太坊社区采用的是一种市集类型的开发模式——在这种模式中,不存在一个集权式的中心,取而代之的是透明开放的讨论。也就是说 Vitalik 本人发了这个帖子之后,并不意味着以太坊的路线图马上就做相应变更了。市集模式大大增强了以太坊的包容性和演化过程中涌现出群体智慧的可能性,因此当 rollup 在区块链世界的演化过程中逐渐展现出了其潜力之时,Vitalik 发起的讨论势必会使 rollup 在以太坊演化的过程中扮演更重要的角色。
为了更好地说明自己文章中观点的背景,Vitalik 在多个场合进行了更详细的补充说明,我们将 Vitalik 在社交媒体中的相关发言放在本文的开头,充当背景介绍和摘要;Vitalik 在以太坊魔术师论坛上的帖子则作为正文放在中间;最后,我们还节选了 Vitalik 在月初的 ETHGlobal 活动上的问答,供读者参考。
分片不是被取消,只是被叠加
当前的 ETH2.0 路线图包含 3 个阶段:
Phase 0:PoS(该阶段正在实施并将很快实现)
Phase 1:数据分片,但不包括计算分片(也就是说,分片链将会 “包含” 容量达 2 MB/秒 的数据,但数据都是哑数据对象,不是交易)
Phase 2:交易分片(分片化的交易处理功能)
以太坊当前的 TPS 大约为 15-45,使用 Rollup 可以提升吞吐量 100 倍。分片则可以提升吞吐量 64 倍。将这两项技术实现的吞吐量叠加,也就是说在分片基础上叠加实现 rollup,可以实现 6400 倍的吞吐量提升。
但目前的路线图会衍生出一个有趣的意外:实现分片应用的愿景要到 Phase 2 才会实现,但分片 rollup 在 Phase 1就可以实现了,因为 rollup 只需要用到主链上存储数据的功能,不需要主链实现计算功能。所以在 ETH 2.0 完整实现前,以太坊就具备了扩容 6400 倍的条件。
上周,Optimism 团队宣布启动 Optimism 的第一阶段测试网(中文译本),同时宣布了迈向主网上线的路线图。Optimism 并不是唯一正在实现 optimisitic rollup 的团队,Fuel 的 rollup 也在向测试网迈进,Arbitrum 也在做一个 rollup。Loopring、zkSync 实现的基于 zk-rollup 的 rollup 方案已经上线,基于 Starkware 技术的 Deversifi 也已经上线,已经有用户在主网上使用这些产品了。OMG 的主网测试版上线则表明 plasma 也在向前发展。与此同时,eth1 上的 Gas 价格正在攀升到新的高点,以至于一些非金融类的 dapp 被迫关闭,还有一些 dapp 只能在测试网上运行、无缘主网。
系统的可扩展性本是 Eth2 的题中之义,而且 Eth2 的早期阶段也正在快速推进。但对于使用基础层的应用来说,可扩展性要到 Eth2 的最后一个主要阶段(Phase 2)才会出现,这还需要几年时间。略具讽刺意味的是,在 Eth2 的 Phase 1,Eth2 就可以作为 rollup 的数据可用性层使用了,这远早于 Eth2 可以被 “传统的” 一层应用(译者注:即当前运行于 eth1 上的应用)所用的时间。汇总这些因素,会得出一个特别的结论:以太坊生态系统很可能会全身心地投入到 rollup(外加一些 plasma 和状态通道方案)中,作为近期和中期实现可扩展性的战略。
若以此结论作为前提,则关于以太坊核心开发和生态开发的优先事项,我们将得出一些结论,暗示了在某种意义上与当前的路线图不同的方向。具体来说,我们可以得出哪些结论?
短期路线图:围绕 rollup 推进 ETH1
关于短期内的方向,一个主要的结论是,以太坊基础层的可扩展性将主要聚焦在扩展每个区块可以容纳的数据量,而不是链上计算或 IO 操作的效率。因为对于 rollup 来说,其可扩展性的唯一决定性因素是链上能容纳多少数据。任何超过当前数据容量(约为 60 kB/秒)的扩容办法,都将有助于进一步提高 rollup 的可扩展性。
在此视角下,以下基础层的改进方案仍具有意义(可帮助提高 rollup 的可扩展性):
-
EIP 2929 , 确保以太坊主链在当前的 Gas 设定下可以抵御 DoS 攻击 -
EIP 1559 , EIP 1559 既可以实现 ETH 的燃烧,也可以使一笔交易更容易被下一个区块打包(rollup 系统需要依赖交易在主链上得到确认) -
新的椭圆曲线预编译,从而可以更全面地挖掘 ZK rollup 的潜在性能 -
十六进制 -> 二进制树变更,以及其它推动更好支持无状态客户端的变更(不论如何使用主链,无状态客户端都是很有价值的)
短期路线图:围绕 Rollup 调整相应的基础设施
-
ENS 需要支持在 L2 上注册和转移域名;关于如何实现这一点的一个可能的提案参见这里。 -
L2 层协议应内置到钱包中,而不是像 dapp 那样放到网页上。目前,L2集成到 dapp/ 类 dapp 中(例如 Gitcoin 对于 zksync 的集成)需要用户完全信任 dapp,这与现状相比安全性大大降低。理想的情况是让 L2 成为钱包(metamask、status等)本身的一部分,这样我们就可以维持目前的信任模型。这种支持应该是标准化的,这样一个支持 zksync 支付的应用就会立即支持 zksync-inide-Metamask、zksync-inide-Status 等。 -
我们需要在跨 L2 转账上做更多的工作,使资产在不同 L2 之间的转移时,具有尽可能即时和无缝衔接的用户体验。 -
更明确地将 Yul 或类似的东西标准化为中间编译语言。以太坊的底层 EVM 和 Optimism 推出的 OVM 使用的编译目标略有不同,但都可以由 Solidity 编译。为了支持一个具有不同编译目标的生态系统,但同时避免 Solidity 的单一文化并接纳多种语言,更明确地标准化像 Yul 这样的东西作为中间语言可能是有意义的,从而使所有高级语言都可以(通过编译至中间语言而)被编译至 EVM 或 OVM。我们也可以考虑一种更明确的对于形式化验证友好的中间语言,它可以处理像变量这样的概念,并确保基本的不变量,从而使形式化验证更加容易。
Rollup 中心主义的经济可持续性优势
长期路线图
-
以太坊目前的 TPS 约为 15。 -
如果所有人都转移到 rollup,TPS 将达到 3000。 -
一旦 Eth2 的 Phase 1 实现,rollup 转移到 Eth2 分片链进行数据存储,理论 TPS 最大值可达 100000。 -
最终,Eth2 的 Phase 2 将会实现,在分片基础上实现了计算,此时 TPS 约为 1000-5000 TPS。
从长远看,Eth2 应该做什么?
-
错开不同分片上的区块时间,这样在任何时候总会有一些分片会在几百毫秒内出块。这样就可以让跨多个分片运行的 rollup 具有超低的延迟,而不使链本身面临超低延迟所带来的风险。 -
改进并巩固其共识算法 -
调整EVM,使其对欺诈证明的验证更加友好(例如,这可能意味着某种“框架”特性,以防止代码脱离沙盒,或允许 SLOAD/SSTORE 指令被重映射至账户存储以外的东西作为其数据源)。 -
与 ZK-SNARK 有关的一切
更妥协的提案
基础层空间不能太小,因为用户和应用仍然需要使用基础层进行一系列操作,例如在不同的 rollup 之间移动,提交欺诈证明,在 ZK rollup 中提交 ZK 证明,发布根 ERC20 代币合约(当然,多数用户大多数时间都会使用 rollup,但基础层合约必须存储在基础层的某个地方...)等等。而如果这些操作所涉及的每笔交易的成本是140美元,用户体验仍然是非常差的。因此,如果有必要,设定 4-8 个执行分片而不是 1 个,可以大大缓解这一问题。而且一台计算机仍然可以验证所有的分片。如今,以太坊上每 13 秒就能挖出一个区块,而验证一个区块平均耗时约 200-500 毫秒,所以短时间内验证 8 个线程是完全可行的。可以想象客户端会有这样的对策:"只要网络延迟很低,或委员会人数达到满员数量的 80%,依靠欺诈证明和委员会,可以在特殊情况下直接验证所有分片"。
(完)
原文链接:
https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698
https://twitter.com/VitalikButerin/status/1312905882330521600
作者: Vitalik
作者:以太坊爱好者;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com
评论(0)
Oh! no
您是否确认要删除该条评论吗?