译者注:今年以来,rollup作为一种非常有潜力的扩容方案得到了广泛的关注,多个使用rollup技术的二层项目在主网或测试网上线,Vitalik本人则是多次号召社区关注并使用rollup。本月初,Vitalik更是在以太坊魔术师论坛上写了一篇文章详细讲述,如果将rollup作为以太坊未来发展中心,以太坊的路线图应该做怎样的调整?
需要注意的是,以太坊社区采用的是一种市集类型的开发模式——在这种模式中,不存在一个集权式的中心,取而代之的是透明开放的讨论。也就是说Vitalik本人发了这个帖子之后,并不意味着以太坊的路线图马上就做相应变更了。市集模式大大增强了以太坊的包容性和演化过程中涌现出群体智慧的可能性,因此当rollup在区块链世界的演化过程中逐渐展现出了其潜力之时,Vitalik发起的讨论势必会使rollup在以太坊演化的过程中扮演更重要的角色。
为了更好地说明自己文章中观点的背景,Vitalik在多个场合进行了更详细的补充说明,我们将Vitalik在社交媒体中的相关发言放在本文的开头,充当背景介绍和摘要;Vitalik在以太坊魔术师论坛上的帖子则作为正文放在中间;最后,我们还节选了Vitalik在月初的ETHGlobal活动上的问答,供读者参考。
分片不是被取消,只是被叠加
当前的ETH2.0路线图包含3个阶段:
Phase0:PoS
Phase1:数据分片,但不包括计算分片
Phase2:交易分片
以太坊当前的TPS大约为15-45,使用Rollup可以提升吞吐量100倍。分片则可以提升吞吐量64倍。将这两项技术实现的吞吐量叠加,也就是说在分片基础上叠加实现rollup,可以实现6400倍的吞吐量提升。
但目前的路线图会衍生出一个有趣的意外:实现分片应用的愿景要到Phase2才会实现,但分片rollup在Phase1就可以实现了,因为rollup只需要用到主链上存储数据的功能,不需要主链实现计算功能。所以在ETH2.0完整实现前,以太坊就具备了扩容6400倍的条件。
V神:将ETH衍生品代币称为“BETH”非常误导人:Coinbase今日发布支持ETH2质押和交易的博客,推特网友Hasu对博客总结称,用户可以通过Coinbase向ETH质押来铸造BETH(“信标链以太坊”),他们可以用BETH交易以太坊和其他代币,同时获得投资回报和流动性。对此以太坊创始人V神称,称它为“BETH”是非常误导人的,它是Coinbase特定的衍生品。如果Kraken制作自己的衍生产品,则Kraken根据其质押表现获得的不同奖励,其价格将有所不同。[2020/12/1 22:39:53]
因此,并不是用rollup取代分片,而是在分片上叠加rollup。也就是说,在分片实现之前,rollup已经可以实现100倍吞吐量的提升,因此尽快使用rollup!
以Rollup为中心的以太坊路线图
上周,Optimism团队宣布启动Optimism的第一阶段测试网,同时宣布了迈向主网上线的路线图。Optimism并不是唯一正在实现optimisiticrollup的团队,Fuel的rollup也在向测试网迈进,Arbitrum也在做一个rollup。Loopring、zkSync实现的基于zk-rollup的rollup方案已经上线,基于Starkware技术的Deversifi也已经上线,已经有用户在主网上使用这些产品了。OMG的主网测试版上线则表明plasma也在向前发展。与此同时,eth1上的Gas价格正在攀升到新的高点,以至于一些非金融类的dapp被迫关闭,还有一些dapp只能在测试网上运行、无缘主网。
系统的可扩展性本是Eth2的题中之义,而且Eth2的早期阶段也正在快速推进。但对于使用基础层的应用来说,可扩展性要到Eth2的最后一个主要阶段才会出现,这还需要几年时间。略具讽刺意味的是,在Eth2的Phase1,Eth2就可以作为rollup的数据可用性层使用了,这远早于Eth2可以被“传统的”一层应用所用的时间。汇总这些因素,会得出一个特别的结论:以太坊生态系统很可能会全身心地投入到rollup中,作为近期和中期实现可扩展性的战略。
V神:构建阶段0的工作远大于将ETH执行引擎集成到其中的工作:以太坊创始人V神今日在推特上表示,构建阶段0本身所做的工作远远大于将以太坊执行引擎集成到其中的工作。因此,这已经使我们非常接近将ETH 1转移到PoS中。使用以rollup为中心的方法,分片也变得越来越简单。[2020/11/30 22:33:20]
若以此结论作为前提,则关于以太坊核心开发和生态开发的优先事项,我们将得出一些结论,暗示了在某种意义上与当前的路线图不同的方向。具体来说,我们可以得出哪些结论?
短期路线图:围绕rollup推进ETH1
关于短期内的方向,一个主要的结论是,以太坊基础层的可扩展性将主要聚焦在扩展每个区块可以容纳的数据量,而不是链上计算或IO操作的效率。因为对于rollup来说,其可扩展性的唯一决定性因素是链上能容纳多少数据。任何超过当前数据容量的扩容办法,都将有助于进一步提高rollup的可扩展性。
在此视角下,以下基础层的改进方案仍具有意义:
EIP2929?,确保以太坊主链在当前的Gas设定下可以抵御DoS攻击
EIP1559?,EIP1559既可以实现ETH的燃烧,也可以使一笔交易更容易被下一个区块打包
新的椭圆曲线预编译,从而可以更全面地挖掘ZKrollup的潜在性能
十六进制->二进制树变更,以及其它推动更好支持无状态客户端的变更
账户抽象的重要性稍弱,因为不管L1是否支持账户抽象,都可以在L2上实现。其他类似的“巧妙的基础层特性”也会变得相对不那么重要。
Eth1客户端可以被optimisticrollup客户端再利用。optimisticrollup仍然需要有全节点,如果rollup内部的状态转换规则与以太坊类似,只是做了一些修改,那么现有的代码可以被再利用,用来运行rollup的全节点。将共识引擎与状态转换引擎分离出来的工作已经在eth1Eth2合并的背景下进行,该工作也可以帮助实现上述目标。需要特别注意的是,像TurboGeth这样的项目仍然是非常重要的,只是从中获益最大的将是高吞吐量的rollup客户端,而不再是基础层的eth1客户端。
声音 | 孙宇晨疑似回应V神:波场不会雇水军攻击其他项目:孙宇晨转发Block.one首席执行官BB的一条主题为“项目之间应互相支持”的推文并表示:“同意!波场基金会永远不会雇佣社区成员攻击其他友方项目。我们应该互相爱护,互相支持!”值得一提的是,在该条推文的后方,孙宇晨@了Gitcoin、Consensys以及V神,并使用了“你真丢脸(Shame on you)”结尾,此举或是对V神此前言论的回应。注:V神此前曾发推称,波场的不诚实是限制他们获得高质量研发人才的一个巨大因素。[2020/2/7]
短期路线图:围绕Rollup调整相应的基础设施
目前,用户的账户在L1上,ENS域名在L1上,应用也都运行在L1上。一切都需要改变。我们需要适应这样一个世界:用户的主要账户、余额、资产等完全在L2里面。由此会造成这些情形:
ENS需要支持在L2上注册和转移域名;关于如何实现这一点的一个可能的提案参见这里。
L2层协议应内置到钱包中,而不是像dapp那样放到网页上。目前,L2集成到dapp/类dapp中需要用户完全信任dapp,这与现状相比安全性大大降低。理想的情况是让L2成为钱包本身的一部分,这样我们就可以维持目前的信任模型。这种支持应该是标准化的,这样一个支持zksync支付的应用就会立即支持zksync-inide-Metamask、zksync-inide-Status等。
我们需要在跨L2转账上做更多的工作,使资产在不同L2之间的转移时,具有尽可能即时和无缝衔接的用户体验。
更明确地将Yul或类似的东西标准化为中间编译语言。以太坊的底层EVM和Optimism推出的OVM使用的编译目标略有不同,但都可以由Solidity编译。为了支持一个具有不同编译目标的生态系统,但同时避免Solidity的单一文化并接纳多种语言,更明确地标准化像Yul这样的东西作为中间语言可能是有意义的,从而使所有高级语言都可以被编译至EVM或OVM。我们也可以考虑一种更明确的对于形式化验证友好的中间语言,它可以处理像变量这样的概念,并确保基本的不变量,从而使形式化验证更加容易。
声音 | V神:希望CBDC能和加密货币融洽相处:金色财经报道,以太坊联合创始人V神(Vitalik Buterin)希望央行数字货币(CBDC)能和加密货币融洽相处。他今天在推特上提出了一个问题,即CBDC交易是否可以通过密码验证?也就是说,如果可以使用数学方法证明已完成交易,就会带来一些有趣的可能性。V神补充说,如果可以向以太坊链证明在CBDC系统中进行了交易,则可以使用它来构建自动化的智能合约DEX。[2020/2/5]
Rollup中心主义的经济可持续性优势
一个不可回避的事实是:一个密码货币项目必须在财务上实现可持续发展。在2020年,这意味着一个项目需要数百万甚至上千万美元的资金。其中一部分可以由常见的公益资助实体提供,但其规模实在不足以达到上述资金量级。二层项目可以通过推出自己的代币的方式筹得资金——当然,前提是该代币有真正的经济价值支持。
以rollup为中心的路线图的第二个重要好处是,它为L2协议留出了开放的空间,这些L2协议或可直接收集费用/MEV,或可间接通过发行代币,从而获得开发所需的资金。以太坊基础层有一个重要的需求是可信中立性,这使得协议内的公益资助变得困难,但L2自己设立公益资助机制的争议要小得多。因此,留出这个空间对于整个以太坊长期的经济可持续性来说是一个很好的战略举措。
除了资金问题之外,最有创造力的研究人员和开发人员往往希望在自己的地盘上创造影响力,而不是在一个没有什么影响力的位置上与其他人争论以太坊协议的未来。此外,已经有很多现有的项目在尝试创建各种平台。以rollup为中心的路线图为所有这些项目提供了一个明确的机会,使他们既能成为Ethereum生态系统的一部分,又仍然能保持高度的经济和技术自主权。
长期路线图
除了上述这些短期路线图层面的考量,以rollup为中心的路线图还可能意味着重新设想Eth2的长期未来:一个所有人都可以处理的具有高安全性的执行分片,再加上一个具有可扩展性的数据可用性层。
声音 | V神:我犯了一个和川普一样的错误:据dailyhodl消息,最近一次采访中,V神(Vitalik Buterin)表示,作为一个领导者,他犯了类似特朗普总统早期在白宫里犯的错误。“如果你还记得那个时候他真的很支持奥巴马医改,然后奥巴马来到白宫。他们聊了一个半小时,之后特朗普说,‘天哪,我从未想到医保会这么复杂’.....如果你没有经验,同意最近和你谈话的人的观点,其实很容易。我花了大约一年左右的时间,才弄清楚如何超越它。”
投资有风险,入市须谨慎。
本资讯不作为投资理财建议。[2018/11/13]
要想理解为什么可以这么说,可以思考一下下列数据:
以太坊目前的TPS约为15。
如果所有人都转移到rollup,TPS将达到3000。
一旦Eth2的Phase1实现,rollup转移到Eth2分片链进行数据存储,理论TPS最大值可达100000。
最终,Eth2的Phase2将会实现,在分片基础上实现了计算,此时TPS约为1000-5000TPS。
在我看来,当Eth2Phase2最终实现的时候,已经不会有人关心了。届时无论我们喜欢与否,大家都已经适应了一个以rollup为中心的世界。到那时,继续沿着之前这条路走下去,比试图让大家迁移到Eth2完成后的基础链上要容易得多,因为迁移到Eth2完成后的基础链上没有明显的好处,可扩展性则会降低20-100倍。
这意味着Eth2到“Phase1.5就完成了”,届时基础层重新收缩,只需专注于做好几件事——即共识和数据可用性。
对于Eth2来说这可能是更合适的目标,因为对数据可用性分片比对EVM计算分片要安全得多。想验证分片化EVM计算在不诚实者占多数假设下的证明,就需要欺诈证明,这需要一个严格且具有潜在风险的两个epoch的同步假设,但数据可用性采样在异步假设下是安全的。
这将有助于把以太坊与其他分片式二层链的安全模型区分开,这些二层链都是在执行层面进行了分片。Eth2作为基础层的功能只需要刚刚好就行,不需要很强大。
从长远看,Eth2应该做什么?
错开不同分片上的区块时间,这样在任何时候总会有一些分片会在几百毫秒内出块。这样就可以让跨多个分片运行的rollup具有超低的延迟,而不使链本身面临超低延迟所带来的风险。
改进并巩固其共识算法
调整EVM,使其对欺诈证明的验证更加友好。
与ZK-SNARK有关的一切
更妥协的提案
如果你不认可上述“一路”走到“Phase1.5即完成”的发展方向,那么有一条自然的折中之路:使Eth2具有少量的执行分片和更多的数据分片。我们的目标是,执行分片的数量仍然足够少,在特殊情况下,普通计算机能够完全验证所有的执行分片,但基础层空间仍然会比现在路线图中所设定的大得多。
基础层空间不能太小,因为用户和应用仍然需要使用基础层进行一系列操作,例如在不同的rollup之间移动,提交欺诈证明,在ZKrollup中提交ZK证明,发布根ERC20代币合约等等。而如果这些操作所涉及的每笔交易的成本是140美元,用户体验仍然是非常差的。因此,如果有必要,设定4-8个执行分片而不是1个,可以大大缓解这一问题。而且一台计算机仍然可以验证所有的分片。如今,以太坊上每13秒就能挖出一个区块,而验证一个区块平均耗时约200-500毫秒,所以短时间内验证8个线程是完全可行的。可以想象客户端会有这样的对策:"只要网络延迟很低,或委员会人数达到满员数量的80%,依靠欺诈证明和委员会,可以在特殊情况下直接验证所有分片"。
在ETHGLOBAL上针对该文的问答
Q:?L2致力于解决扩容问题,在社区已经被研究和讨论多年,但之前的尝试似乎不太成功,你对rollup有多大信心?这次扩容尝试和之前相比有什么不同?
A:?我在博客文章中对这个问题有更详细的讨论。我的主要观点是rollup与状态通道及plasma都有所不同。对于扩容来说,要扩容两样东西,扩容计算和扩容数据可用性。我的观点是,状态通道和plasma都不解决数据可用性问题,他们用了一类特殊的与应用场景相关的技巧试图解决这个问题。与前两者不同的是,rollup并不把所有东西都放在链下,而是将计算放在链下,但是将一定量的数据存储在链上,这是rollup的扩容性能受到一些限制的原因。也就是说Rollup更加妥协一些,为了支持任意状态机牺牲了一些扩展性。对于plasma来说,一开始我们认为可以解决在plasma中运行任意状态机的问题,但最终我们意识到这是做不到的。但对于rollup来说,有一些数学和技术层面的证据可以证明rollup可以实现这些功能——任意状态机,也即是某种图灵完备性。在实践中,rollup已经成功运行一段时间了,例如已经有了3个使用rollup的DEX,你也可以在gitcoin捐款时使用rollup,sythentix等项目则在支持evm的测试网中进行测试。可以说,在状态通道和plasma中没有得到解决的问题,我觉得在rollup中已经得到逐步解决了。
Q:当前L1具有可组合性/互操作性,你觉得未来仍然会具备吗?换一个角度,你是觉得未来是会是多rollup共存,还是会形成赢家通吃??A:这是一个好问题。我觉得会有一些rollup在最后占据主导地位。我觉得rollup同时具备了网络效应和反网络效应。主要的反网络效应是:TPS越大,跑一个rollup全节点越难,这在一定程度上会降低其可用性。另一方面,目前rollup有几个不同的技术路线,我是希望这些技术路线和对应的技术特性在短中期都得到测试的。从长期来看,也许某一个rollup会赢家通吃,但我还不能确定:)
Q:你在文章中描绘了一个可能的愿景,你觉得以太坊基础层什么时候会稳定下来?还是说会一直在迭代改进?
A:在我提出的路线图中,我希望以太坊2.0在1.5阶段达到基本稳定的状态,这也是我在文章中提及“1.5阶段即完成”的原因。但是在这之后还是会有持续的技术迭代,这些技术迭代主要包括增加更多零知识证明从而提高安全性和效率,将共识机制从FFG改为CBC,以及将密码学原语切换为后量子密码学原语。这些改进基本不会影响以太坊的经济系统和基本的安全特性。我绝对期待持续在很长一段时间里技术会持续迭代优化,当然这些优化更多接近于运维层面。
原文链接:
https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698
https://twitter.com/VitalikButerin/status/1312905882330521600
作者:?Vitalik
翻译&校对:?安比实验室&?阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。