原文来源:巴比特
写在前面:面对日益增长的扩容需求,以太坊联合创始人 Vitalik Buterin 于近日提出了一个新的以 rollup 为中心的以太坊路线图,其表示:目前以太坊用户的账户是在 layer 1,ENS 域名、应用等也完全是在 layer 1 上,而所有这些事物将不得不进行更改,我们需要适应这样一个世界,其中用户的主要账户、余额、资产等完全迁移到 rollup 等 layer 2 网络。
上周,Optimism 团队宣布了其测试网的第一阶段,以及关于主网的路线图。他们并不是唯一的,Fuel 正朝着发布测试网前进,Arbitrum 已有了一个测试网。而在 ZK rollup 这一领域,Loopring、Zksync 以及基于 Starkware 技术的 Deversifi 已经上线,并在主网上拥有了用户。随着 OMG 网络的主网 beta 运行,plasma 也在向前发展。与此同时,以太坊 1.0 的 gas 价格正攀升至新高,以至于一些非金融 dapp 被迫关闭,而其它的一些应用则选择在测试网上运行。
以太坊 2.0 路线图提供了可扩展性,以太坊 2.0 的早期阶段正在快速接近,但是应用的基础层可扩展性需要在以太坊 2.0 的最后一个主要阶段才能实现,这还需要几年的时间,更具讽刺意味的是,以太坊 2.0 作为 rollup 数据可用性层的可用性出现在阶段 1(phase 1),这会在阶段 2 之前早早落地。这些事实加在一起,可以得出一个特别的结论:以太坊生态系统很可能会迁移到 rollup(加上一些 plasma 和通道),以此作为短期和中期的扩容战略。
如果我们从这一前提出发,我们可以看到它会得出一些关于以太坊核心开发及生态系统开发优先顺序的特定结论,这些结论在某些情况下与当前的路径不同。那这些结论是什么呢?
在短期内,这项工作的主要成果,是将以太坊基础层的扩容集中于扩展数据块的容量,而不是链上计算或 IO 操作的效率。Rollup 可扩展性的唯一决定因素是链能够容纳多少数据,超过当前~60kb/s 的任何增长,都有助于进一步提高 Rollup 的可扩展性。
在基础层仍有一些问题:
EIP 2929,确保区块链在当前 gas 水平下抵御 DoS 攻击;
EIP 1559,用于燃烧 ETH,以及便于发送确定要进入下一区块的交易(rollup 仍然依赖于确认);新的椭圆曲线预编译,完全支持人们想要用 ZK rollup 来实现的事情;
十六进制树-> 二进制树更改及其它更改事项,以提高对无状态客户端的支持(因为无论区块链如何使用,无状态客户端都是有价值的);
帐户抽象的重要性并不是很高,因为它可以在 L2 上实现,而无需在意 L1 是否支持它。而其它「聪明的基础层特性」的优先级也随之降低了。
以太坊 1.0 客户端可作为 optimistic rollup 客户端使用。Optimistic rollup 仍然需要全节点,如果 rollup 的内部状态转换规则本质上只需要对以太坊客户端进行一些修改,那么现有的代码就可重新调整用途来运行这些全节点。将共识引擎与状态转换引擎分离的工作,已经在以太坊 1.0+2.0 合并的环境中完成,这也有助于实现这一目标。特别要注意的是,这意味着像 TurboGeth 这样的项目仍然非常重要,它除了是高吞吐量的 rollup 客户端,还是基础层以太坊 1.0 客户端。
目前,用户的账户是在 L1 上,ENS 域名也是在 L1 上,应用也完全是在 L1 上,诸如此类,而所有这些事物将不得不进行更改。我们需要适应这样一个世界:用户的主要账户、余额、资产等完全放在 L2 中。以下是一些要注意的事情:
ENS 需要支持在 L2 上注册和传输域名;关于如何做到这一点,请参阅这里;
Layer 2 协议应内置进钱包,而不是像网页 dapp。目前,集成到 dapp/quasidapp 的 L2(例如 Gitcoin 的 zksync 集成)需要用户完全信任 dapp,这大大降低了安全性。理想情况下,我们希望 L2 成为钱包本身的一部分(metamask, status 等),这样我们就可以保持当前的信任模型。这种支持应该是标准化的,这样支持 zksync 支付的应用,将立即支持 zksync 内置 Metamask、zksync 内置 Status 等。
我们需要在跨 L2 传输方面做更多的工作,使在不同 L2 之间转移资产的体验,尽可能接近即时和无缝;
一个加密项目必须具有财务可持续性,这是一个不可回避的问题,而在 2020 年,这意味着需要有数百万甚至上千万美元的资金。其中一部分可以由公共物品资助实体(例如 Gitcoon 赠款或以太坊基金会)覆盖,但这些机制的规模不足以覆盖这一水平的资金。然而,layer 2 项目推出自己的代币就可以覆盖了——当然,前提是代币有真正的经济价值作为后盾(即 L2 要能够实现对费用的捕获)。
以 rollup 为中心的路线图还有另一个好处,它为 L2 协议留出了空间,这些 L2 协议能够收取费用/MEV,可直接或间接地资助开发(通过支持资助开发的代币)。以太坊基础层有另一个重要的需求,即可信的中立性,这使得协议内的公共产品融资变得困难,但是 L2 拥有自己的公共产品融资机制(或者 Gitcoin 赠款),其争议性要小得多。因此,对于以太坊整体的长期经济可持续而言,开放这一空间是一个很好的战略举措。
除了资金问题之外,最具创造力的研究人员和开发者往往希望在自己的小岛上处在一个很大影响力的位置,然后就以太坊协议的未来与其他人争论不休。此外,还有很多已经存在的项目试图创建各种各样的平台。一个以 rollup 为中心的路线图为所有这些项目提供了一个明确的机会,使得它们成为以太坊生态系统的一部分,同时仍保持高度的原生经济和技术自主性。
出了这些短期关注点之外,以 rollup 为中心的路线图还可能意味着对以太坊 2.0 长期未来的重新设想:作为每个人都能处理的单个高安全性执行分片,再加上一个可扩展的数据可用性层。
要了解为什么会出现这种情况,请考虑以下几点:
今天,以太坊主网的 TPS 大约为 15;
如果每个人都转向 rollup,那么我们很快就拥有了大约 3000 tps;
一旦以太坊 2.0 阶段 1 出现,并且 rollup 转移到以太坊 2.0 分片链以进行数据存储,理论上我们将达到大约 10000 tps 的最大值;最终,阶段 2 将会出现,这会带来以太坊 2.0 分片链和原生计算,这会给我们带来大约 1000-5000 tps;
在我看来,当阶段 2 最终到来时,基本上没有人会关心它。不管我们喜不喜欢,每个人都已经适应了一个以 rollup 为中心的世界,到那时,继续沿着这条路走下去,要比试图让每个人都回到基础链上更容易(回去并没有什么好处,并且可扩展性降低了 20-100 倍)。
这相当于一个以太坊 2.0 的 「阶段 1.5」 方法,其中基础层缩减,并专注于做好一些事情,即共识和数据可用性。
实际上,对于以太坊 2.0 来说,这可能是一个更好的位置,因为分片数据可用性比分片 EVM 计算要安全得多。虽然分片 EVM 计算的非诚实多数证明需要欺诈证明,这要求严格且有潜在风险的两个 epoch 的同步假设,但数据可用性采样(如果使用零知识证明 ZKP 或多项式承诺)在异步情况下是安全的。
这将有助于区分以太坊 2.0 主链和其它分片 L2 链,其中以太坊 2.0 将是一个基础层,它的功能足够强大,可以实现功能逃逸速度。
在不同的分片上错开区块时间,因此在任何时候,都会有一些分片被安排在几百毫秒内提出一个区块。这使得跨多个分片操作的 rollup 具有超低的延迟,而不存在链本身具有超低延迟的风险。
改进和固化其共识算法;
调整 EVM 以使其对防欺诈证明验证更友好(例如,这可能意味着某种 「框架」 功能,可防止代码从沙箱中溢出),或允许 SLOAD/SSTORE 被重新映射为使用帐户存储以外的其他内容作为其数据源;
ZK-SNARKing 任何事物;
如果你不相信 「阶段 1.5」 方向,那么有一条自然的折衷之路可以走:拥有少量的执行分片(例如 4-8)以及更多的数据分片。目标是执行分片的数量仍然足够低,以至于在特殊情况下,常规计算机将能够完全验证所有分片,但是与现在相比,基础层空间仍然要大得多。
基础层空间也不能太小,因为用户和应用仍然需要它,例如 rollup 层之间的移动、提交欺诈证明、ZK rollup 中提交零知识证明、发布根 ERC20 代币合约(当然,大多数用户都将在 rollup 中活动,但基础合约必须存在于某个地方……),如果这些事务每次要花费 140 美元,这仍然是一个巨大的用户体验损失。因此,如果有必要,使用 4-8 个分片而不是 1 个,可以提供很大的缓解。而且,一台计算机仍然可以验证所有分片。现在,验证以太坊 1.0 区块平均每 13 秒需要大约 200-500 毫秒,因此在短时间内验证 8 个这样的执行线程是完全可行的。我们可以想象客户端有这样的政策: 「如果网络等待时间似乎很短或委员会的满员率> 80%,请依靠欺诈证明和委员会,在特殊情况下直接验证所有分片。」
欢迎加入律动 BlockBeats 官方社群:
Telegram 订阅群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方账号:https://twitter.com/BlockBeatsAsia