如果不是因为这篇研究报告是受 MolochDAO 之托而作,我想 DAOSquare 应该不会翻译如此“技术性”的学术论文(至少现阶段不会)。不过,以太坊的扩展性的确是一个重要且热门的话题,现有的解决方案包括 Optimistic Rollup、Zk Rollup,而 Optimistic Rollup 则是一个提出时间并不长的新兴方案,它被认为是最有前途的扩容方案。那么时至今日它的发展情况如何?前景又如何?本文作者 Daniel Goldman 通过大量的调研完成了此份报告,现在,DAOSquare 将这份成果分享给大家!不过由于篇幅过于“宏大”,我们将分三期奉上,本篇为第一部分。
作者:Daniel Goldman(丹尼尔·戈德曼)自由软件工程师、技术顾问、作家
译者:Emma、Snow Lu
校对:Samuel
以太坊新兴 Optimistic Rollup 生态系统的技术概览
Optimistic Rollerball (Daniel Goldman original, 2020)
以下报告由 MolochDAO 授权制作,John Adler 提供相关意见/复审;但此篇所有观点均代表本人。此外,项目评估仅为该报告发稿时的状态简况(2020年2月)。事事均在变化,不做过度承诺。
笼罩以太坊扩容社区的阴霾--Optimsitc Rollup
2019下半年,Optimistic Rollups (ORU或Optiroll) 作为以太坊 Layer 2 扩容协议迅速兴起大热。本文旨在概述新兴 ORU 的开发生态系统至发稿时的简况(2020年2月)。 我们先将 ORU 理论属性放于 Layer 2 设计空间大背景下,之后比较不同项目的方法和技术设计决策以及其中的各种取舍。9个项目包括:
Fuel Labs
ANON
Whitehat, Cellani, Lim ( hereby “WCL”)
Pinkiebell
Offchain Labs
Interstate Network
Optimism
IDEX
Celer
点击此处回顾他们的差异性。最后,我们将深入探讨一些定性问题,这些问题将围绕以上项目如何在空间中发挥自己的作用。
背景 & 理论
尽管美名在外,但开放且未授权的区块链也有很多问题:网络中的所有完整节点必须可见,并验证系统处理的每笔交易; 超低效率(相较中心化数字支付系统而言)是加密货币备受争论的扩容挑战的核心。
Layer 2 协议是减轻此类负担的一类方法。将所有的节点全部验证所有交易,变为仅由感兴趣的各方(例如那些希望获得自己资金的人)对交易的某些子集进行本地验证,以此(以某种方式,形状或形式)来转移这种负担 。 重要的是,他们保留基本层无需信任的安全模型,同时无需依赖用户自己运行的软件以外的资源。
数据可用性:解决
在以太坊 Layer 2 研发的早期阶段,研发人员计划在隐含假设下运作,即基础层“减轻验证负担”就是完全将(某些)交易数据隔离在区块链之外。 (请参阅 Josh Stark 2018年初的文章 Making Sense of Ethereum's Layer 2 以了解当时的思维方式)。
加密货币协议有其内在的经济属性,可以激励区块生产者及时地、广泛地共享区块(除非是自私挖矿等边缘情况 selfish-mining edge cases); 区块链基础层有时被称为“数据可用性引擎”。 确保数据是(完全)公开的,可以保证其能够进行验证,并且无效交易几乎无法通过。
因此,在Layer 2的场景中,如果要将数据完全隔离在链外,将不再能保证我们有这种数据可用性; 因为那些担心数据有效性的人可能会隐瞒数据。 因此,我们必须弄清楚,在这种极端情况下,如何以某种方式确保不会发生无效的状态更新。 对于Layer 2系统,数据隐瞒问题始终是最难最坏的情况;因为最糟糕的就是在没有信息的情况下去探寻事实。
如果我们的定义足够宽松,针对该数据隐瞒问题的所有解决方案都可以分为两大类:状态通道和Plasma(channels and Plasma)。 如果两方在一个通道中,双方一致同意后,链下数据的更新才真正有效。
因此,如果 Alice 选择保留 Bob 的数据,Alice 将处于最新状态; 保留数据对她没有好处。 相比之下,Plasma 则没有双方一致同意的这一要求。 这直接导致在 Plasma 中,如果用户没有任何直接证据,则可能发生无效更新。即使在这种情况下,Plasma 仍可以保证用户持有必要的链下数据,在交互质疑期中证明并确保其资产所有权。
就实际结果而言,状态通道已成为第一个 Layer 2 构造。人们很容易理解,且状态通道(可能)确实解决了一些基础的研究挑战,我们的确也看到状态通道在比特币和以太坊上的应用。 状态通道具有一些实用属性,例如即时交易,这些属性非常契合一些特定应用程序的需求。 尽管是较通用的扩容方案,但在某种程度上仍受限制。 从本质上讲,通道之间是彼此独立的,且免信任的连接将导致资本效率低下,及/或受制于可用的流动路径。 (我之前在 Bitcoin's Lightning Network 发表了相关限制以及解决策略。)
Plasma 有望提供一种用途更广,侧链式扩容方案,使参与者之间可以更轻松地进行信息交互,但是它的发展路程却更艰难。 有关 Plasma 技术挑战的细节不在本文讨论范围之内。 但是,(非常)简单来说,不能保证数据可用性的这种特质,让很多特性难以立刻保留,例如:支持任意计价支付,用户的验证/存储要求最小化,避免大批量退出方案,以及支持智能合约逻辑 。 虽然可以缓解这些问题,但是解决一个障碍的代价往往是加剧另一个障碍。 简而言之,很难做到完全正确,即使这些构造足够可行,其复杂性也会让实践变得困难而缓慢。 (我已在此处及此处发表分析了 Plasma Cash 及其变体的合理进展及其带来的挑战。
Plasma 的问题让甚至一些人认为其会消失(declare its demise)。 即使有人认为这种说法还为时过早(例如我),但是毫无疑问,Plasma 比预期设想的更加困难复杂,而且传输结果的空间速度比最初希望的要慢。 随着 Plasma 的停滞,以太坊社区渴望类似非监管下的、具有侧链特性的事物。此时,就研究和实施状态而言,Optimistic Rollup 出现了。
数据可用性:让步
我们可以在各种先前的提案中发现目前 Optimistic Rollup 的构造痕迹,比如 Shadowchains, Coinwitness, bulk validation with ZK-SNARKS (现在称之为 ZK-Rollup), 以及2015年初的一场关于Arbitrum 的学生演讲等。
就目前了解而言,John Adler 和 Mikerah Quintyne-Collins(又称““Bad Crypto Bitch ”)将协议基础称为“合并共识 Merged Consensus”。 先前的 Plasma Group 团队(现为 Optimism,下文介绍)在一篇博客文章中描述了类似原理,并在 Optimistic Layer 2 游戏语义分析中将其定为框架,命名为 Optimistic Rollup(无论出于何种原因),并最终确定。
Optimictic Rollup 采用前一段中所述的框架并把它翻转过来;ORU 并不打算在数据隐瞒的情况下保留非监管性,而是采取了一种更直接的方法,即直接要求将交易数据发布在链上,更具体地说,要求将足够的数据发布在链上,以便任何运行以太坊节点的人都可以重建 ORU 的状态。 扩容的好处在于,Layer 1 仅需发现数据并将其 Merkle 树化为区块根,无需执行任何操作;(理想情况下)计算仅在 Layer 2 执行。因此,交易数据作为呼叫数据发布在链上,并且不存储在状态中;因为状态容量增长和计算成本(可能)是以太坊扩容的核心瓶颈,这具有不小的增长空间。
与 Plasma 一样,基础层无法直接验证交易就意味着会有一些无效交易。 在 ORU 下,任何当事方都将见证无效交易的更新,然后通过欺诈证据向基础层展示欺诈证明,欺诈证明将还原欺诈性区块以及及后续的区块更新。 一旦过了足够的时间而没有提交欺诈证明,就可以确定并汇总区块,从这些区块中启动的提款就可以完成。 为了抑制故意发布无效区块的行为对社区的恶意破坏,区块提交人会发布一个保证金,如果欺诈证明有效,将大幅削减保证金。 这种防欺诈处理的精确方式是任何特定 ORU 结构的核心。
与 Plasma 相比,ORU 有一个不可避免的根本性缺点,那就是它的扩容性相对较低。 假设链上数据与 ORU 块中的数据成正比,则 ORU 构造会受到基础层最大数据量的限制。 不过在其他方面 ORU 也有很多益处,包括:
更轻松/更广泛地支持智能合约
更容易地支持任意付款面额
无需许可的区块生产
更简单的博弈退出机制
相对简单的操作
正如我们预料,即使是上述因素也需要在不同的 ORU 结构中相互权衡。 (有关 ORU 背后的更多信息,请参阅 John Adler 的 “The Why's of Optimistic Rollup”。)
Projects Overview 项目概览
Link to spreadsheet
本报告采访了9个使用 ORU 设计模式的项目,其中一个项目选择在发布时保持伪匿名状态(以下称为“ ANON”)。
仅考虑 Optimistic Rollup 范围内的项目,也就是说,它们必须都是 “Optimistic”,包括某种假设,即“假设有效,除非或者直到提交欺诈证明”(即,不是 ZK-rollup)并包括“Rollup”,即,链上发布了足够的数据,任何观察者都可以重建状态并检测无效性(即,不是 Plasma)。大多数所讨论的大多数项目都严格符合这些参数,唯一的例外是 IDEX 2.0.其详细信息将在下面讨论。基于 Plasma 或与 Plasma 相邻的构建上工作的其他各种项目,都属于研究 ORU 的初期阶段,包括 Matic,LeapDAO 和 Cryptoeconomics Lab。
智能合约支持和欺诈证明互动性
ORU 项目之间的核心区别在于它们对智能合约脚本的支持程度,以及它们所需要的验证和欺诈证明的性质。 在本次调研的9个项目中,有5个项目在其 Rollup 中实现了完整的以太坊虚拟机功能,其中 rollup 侧链具有 Solidity 智能合约支持,其支持程度(大致)与以太坊基础层的智能合约支持程度相当,而其余项目则更偏向于支持更有限的、受限的功能。
广义上讲,除了智能合约功能本身之外,支持完整的 EVM 能够保证 rollup 和主链之间的技术一致性,有望与基础架构工具更轻松地集成,并且让开发人员更容易过渡,他们已习惯在 Layer1 上使用 Solidity 编译的智能合约。相反,那些更偏向于支持更有限的、受限的功能项目具有以下优点:成本更低的(或多或少)欺诈证明,验证更容易,可以针对特定用户直接实现优化以及总体上的简化。