来源|insights.deribit.com
作者 | Benjamin Simon
所有 rollups 都遵循类似的基本架构和内部逻辑。尽管如此,正如我们在这个迷你文章系列的第一部分所说,Optimistic Rollups 和零知识 Rollups 之间的单一区别 (即两者的审查过程不同的运作方式) 造成了在其他方面的大量差异,如两者在安全性、可用性以及 EVM 兼容性方面的区别。
在每个 rollup 类型中都有类似的情况。虽然作为主流的 Optmistic Rollups 解决方案 Arbitrum 和 Optimism 有很多共同点,但是将两者区别开来的不仅仅是用户对两个方案的忠诚度。而是,他们各自解决争议的方法产生了一些在性能方面的权衡。鉴于这两个方案都旨在为以太坊提供完整的扩容功能,因此这些权衡值得讨论。
早期的时候
首先介绍一下每个项目的简要历史背景。碰巧的是,两者都有一些独特的起源故事。
六年半前在普林斯顿一个寒冷的早晨,一群与 Ed Felten 教授合作的本科生就他们已签署构建的项目发表了演讲:一个基于区块链的仲裁系统。其目标是规避智能合约平台的一些预期遇到的扩容挑战,而计划是通过设计一个依赖于挑战和争议解决系统的区块链,以减轻传统矿工的计算工作量。如果不是因为 Steven Goldfeder 和 Harry Kalodner (这两位雄心勃勃的博士生基于其最初的概念提出了构建一个强大的 Layer2 解决方案的想法,并带着这个想法找到 Felten 教授),“Arbitrum” 这个系统将和其他有前途的学术计算科学项目一样遭遇同样的命运。此后不久,Felten、Goldfeder 和 Kalodner 共同创立了 Offchain Labs ,并将 Arbitrum 从抽象的想法转变为具体的现实。
Optimism 的前身是 Plasma 。在 2017 年年中, Vitalik Buterin 和 Joseph Poon 合著了一篇论文,提出了以太坊早期的扩容解决方案 Plasma。随后,一群以太坊核心研究者接手了这个方案的研发,并且成立了一个非营利性研究小组来构建这个愿景。而在 2019 年,由于 Plasma 的一些关键设计上的限制变得越来越明显,其开发进程停滞了。Plasma 的三位主要研究者 Karl Floersch、 Jinglan Wang 和 Ben Jones 并没有因打击而停住脚步,他们决定转向研究 Plasma 的演变方案 Optimistic Rollup。他们于 2020 年初成立了 Optimism PBC 团队。
争议解决:简短的 (重新) 介绍
回忆一下,Optimistic Rollups 采用一种“假设某事为有效,直至其被证伪”的方式来确保交易的有效性。Optimistic Rollups 处理交易,并将结果反馈给以太坊网络,以便其将该交易最后打包至基础链中。而在争议期,如果 rollup 的定序者处理了无效的交易,那么正在监控 rollup 链状态的每个人都能够提交挑战。随后,争议解决过程立即被触发。而 Arbitrum 与 Optimism 之间的区别就是,它们的争议解决方式不同 (包括成本和花费的时间都不同)。
Arbitrum 与 Optimism 在争议解决上的初步比较
描述这两者的区别最简单的方式便是:与 Arbitrum 相比,Optimism 的争议解决更加依赖于以太坊虚拟机 (EVM)。当用户在 Optimism 上提交挑战时,与之相关的整个交易将通过 EVM 运行。相比之下,Arbitrum 使用一种链下争议解决方式来将争议缩减为交易中的一个单一步骤。然后协议会将这个单一步骤断言发送给 EVM 以做最终的验证,而不是发送整个交易到 EVM 中。因此,从概念上来讲,Optimism 的争议解决过程要比 Arbitrum 的简单得多。
就 Arbitrum 而言,其争议解决过程的链下组件使用了一种递归二分算法。这听起来很复杂,但实际上,这个算法只是迫使“断言者” (asserter,处理交易的一方) 以及“挑战者” (challenger,提交挑战的一方) 来回移动以缩小争议点,过程如下图所示。有趣的是,这种通过递归二分的方式,来回解决争议的过程,出自 2015 年 Arbitrum 最初的概念。
来源: OffChain Labs 开发中心
Optimism 的争议解决方法 (通过 EVM 运行整个交易) 不仅在概念上更为简单,而且运行起来也要更快。Optimism 的争议解决不像 Arbitrum 那样需要有来来回回的多轮处理。事实上,由于整个原因,Optimism rollups 通常被成为“单轮” (single round),而 Arbitrum 被成为“多轮” (multi round)。实际上,就一笔争议交易来说,如果它是在 Arbitrum 上的,它在以太坊上获得最终确认的时间要比 Optimism 的久一些。正如我们在本系列的第一部分所讨论的那样,争议解决的速度尤其重要,因为这个速度决定了用户需要等多长时间才能够将其代币从 rollup 中提到以太坊上。
另一方面,Arbitrum 争议解决的优势在于它的链上 (如在以太坊上) 交易成本更低。因为 Arbitrum 在完成了来回的争议解决过程之后,提交给 EVM 最终处理的一小段代码需要消耗更少的 gas 费 (在大多数情况下[1]),而在链上重新处理整个交易则需要消耗更多的 gas 费。
重构两者的比较
这两种争议解决方案设计之间的基本权衡仅仅是在于速度和链上成本之间。但在实际上这种框架有些简单,因为很少有人认为有以下两个原因导致争议出现:
由于其经济激励/惩罚设计,Arbitrum 和 Optimism 上的交易处理者都不会去处理欺诈性的交易。他们被强制事先向 Arbitrum 或者 Optimism 放入质押资产/债券,如果他们处理了欺诈交易,其资产便会被罚没。
同样地,监控 rollup 链的各方也不愿提交错误的欺诈证明 —— 在 Optimism 中,因为挑战者必须支付欺诈证明的链上 gas 费;而在 Arbitrum 中,因为挑战者在争议失败后便会被没收其事先提交的保证金。
既然争议预计会很少,那么为什么争议解决过程的结构如此重要呢?
尽管争议很少发生,但是 rollup 必须在假设一个争议会随时发生的前提下进行设计。因此,“有争议”情况的设计会影响“无争议”情况的结构。
因为 Optimism 必须在争议发生时能够通过 EVM 运行每笔交易,所以它不能处理超过以太坊 gas limit 的交易,因为这些交易无法在链上正确验证。相反,Arbitrum 可以执行任意大小的交易,尽管这些交易超过了以太坊的 gas limit,因为这些交易不需要通过 EVM 批量运行,而是首先被分解为微小的“断言”。
目前还不清楚 Optimism 的 gas limit 会对应用造成多大的实际限制。但是,争议解决设计差异的另一个更为重要的含义是,Arbitrum 能够通过减少链上检查点 (更新状态根) 的频率来节省 gas 消耗。更具体地说,Arbitrum 可以将大量的链下计算分配给一个更新,因为理论上状态根更新可以包括包含其中的所有交易的 (微量) 单个步骤欺诈证明 (single-step fraud proofs)。另一方面,Optimism 必须在每笔交易之后在链上执行检查点,从而显著地增加了其链上的足迹。
总的来说,Arbitrum 应该比 Optimism 更加节省 gas —— 因此对用户来说更便宜 —— 而且不仅在罕见的争议情况下如此,在无争议的情况下也如此。
Dispute resolution and potential attack vectors争议解决和潜在的攻击矢量
关于两种不同的争议解决过程,最后值得讨论的一点是:每种设计对潜在攻击的抵抗力有多大。在上文中,我们谈到了阻止滥发攻击 (spamming attacks) 的经济激励。更具体地说,Optimism 和 Arbitrum 的验证者都不愿意提交无效的挑战。
但是,如果有一些恶意攻击者不介意对 rollup 发起滥发攻击而需要承担的经济成本该怎么办?换句话说,如果一个人或者实体如此致力于减慢一个 Optimistic Rollup 的进程 (他们愿意这么做,即使这种攻击意味着反复为无效挑战买单),该怎么办?
如上所述,Optimism 的争议解决过程比 Arbitrum 的更加简单、更加迅速,因为它只需通过 EVM 提供有争议的交易。这种速度在这里是 Optimism 的优势,因为争议可以被迅速解决,不会阻止 rollup 链的发展。
人们担心的是 Arbitrum 使用的这种“多轮”争议解决方案。理论上来说,滥发攻击者可以通过发起一系列连续的挑战来阻止 rollup 的发展,而每个挑战都需要相当长的时间来解决。事实上,这个问题曾困扰过 Arbitrum 的上一个迭代版本。
然而,Arbitrum 更新后的版本为这个问题提供了一个优雅的解决方案,称为“流水线 ”(Pipelining)。在先前处理的交易仍存在争议的前提下,“流水线”模式允许网络验证者依然能够继续处理交易以获得最终批准。这样创建的是最近处理完但还没被敲定的交易的“管道”,而不是一个阻止定序者处理交易、阻碍网络参与者提交挑战的瓶颈平台。
流水线模式是可行的,因为任何监控网络的人都可以在争议解决过程完成之前就知道争议是有效的还是无效的。从本质上来讲,验证者可以在默认争议交易已完成的情况下继续进行操作,并继续根据正确的结果或“分支”构建 rollup 链 (即处理交易)。这个过程如下图所示[2],削弱了任何潜在的滥发攻击的可能性。[3]
来源: OffChain Labs 开发中心
结论
除了争议解决过程的设计,Arbitrum 和 Optimism 之间还有其他显著的差异,尤其是
他们的代码库架构,以及
他们对矿工可提取价值 (MEV) 的方法
首先简要地总结一下这些差异:Optimism 的代码库相对简单,而 Arbitrum 的代码库更加复杂和更加有野心;Optimism 过去曾表示它倾向于 MEV 拍卖方法,而 Arbitrum 计划于提供公平定序服务 (FFS, Fair Sequencing Service)。当然,这两种比较观点值得发布各自的文章来详细讨论。尤其是 MEV,是两个项目之间的一个哲学争论问题 —— 尽管至少在上线之后的早期,为了更加简单化,预计两个项目都将使用一个可信任的定序模式 (trusted sequencer model)。
最后,从协议层面的细微差别 (尽管它们很重要) 退一步来看,区分这连两个重量级项目的还有一些“软”元素:引导策略、激励设计和社区精神等等。事实上,如果他们想要取得长远的成功,Optimistic Rollups 就必须有自己的生态,而不仅仅是以太坊的附属品。因此,扩容与其说是一场军备竞赛,不如说是一场多线战争。这场战争可能只有一个赢家,也可能有多个。可能会持续多年,也可能会很快就结束。但是,这肯定会对加密世界的未来产生重大的影响。
本文不做任何投资建议。
[1] 如果交易使用的合约以前从未作为欺诈证明的一部分,那么这些合约都需要重新部署到以太坊上,而以太坊需要消耗很多 gas。
[2] “DA” 表示 “争议断言”,这是一个技术术语,表示已处理的交易,但是可能会受到挑战。
[3] 还应该听听 Ed Felten 去年在 ETHDenver 上关于流水线过程的演讲。