Optimistic Rollup(ORU)是什么?为什么它会让以太坊开发者和可扩展性研究者如此心潮澎湃?
如今,对于以太坊乃至所有区块链来说,Optimistic Rollup 是最有前途的可扩展性方案。但是,Optimistic Rollup(ORU)是什么?为什么它会让以太坊开发者和可扩展性研究者如此心潮澎湃?
在本文中,我们将以通俗易懂的方式来介绍 ORU 的基础知识。如果你想了解深层次的技术细节,请查看这篇文章(中文译本)。
特点
ORU 具备很多理想特点。在所有区块链可扩展性技术中,它的特点都是无可比拟的。一个设计合理的 ORU 系统将具备以下特点:
- 免信任。不同于传统的侧链技术,ORU 具有免信任性(或者更专业一点的说法是,具备信任最小化的特点)。你随时都能从 Rollup 上取出你的资金,无需信任 ORU 上的绝大多数区块生产者都是诚实的。
- 免许可。不同于 Plasma,ORU 具有免许可性。任何人都可以成为 ORU 上的区块生产者,因为 rollup 上的所有区块数据都发布在以太坊上,可以从以太坊上获取。如何选出下一个 领导者 是具体的实现问题,而非根本限制。
- 免托管。如上文所述,由于 ORU 兼具免信任性和免许可性,你随时都可以取出你的资金,而且没人可以阻止你。因此,ORU 具备免托管性。
- 表达性强。不同于 ZK rollup,ORU(从理论和实践来说)具备较高的表达性。无论是类似比特币的 UTXO 付款,还是成熟的可兼容 EVM 的执行,ORU 都能处理。
- 开放参与。不同于支付通道,ORU 支持智能合约,而且像 Uniswap 那样对所有人开放。
- 资本效率高。不同于支付通道,ORU 不要求用户提前锁定资金。
- 抗链上拥堵。不同于支付通道和 Plasma,ORU 可以抵御链上拥堵,因为 ORU 的欺诈证明是在区块层面上的,而非像支付通道那样的关闭机制,或 Plasma 那样的退出机制。
- 无需新的密码学。不同于 ZK rollup,ORU 不需要任何新的密码学。
- 快速(非即时)终局性。不同于 ZK rollup,ORU 不需要生成证明,因此 ORU 区块可以立即发布到以太坊上。由于有效的 ORU 区块无法回滚,一旦这些区块被发布到以太坊上,就能够获得像以太坊那样的最终确定性。
Optimistic Rollup 简史
增强比特币可扩展性的最早举措之一是侧链。侧链是与父链共同运行的区块链,但具备不同的特点:出块时间更短、区块大小更大、智能合约的表达性更强等。然而,普通的侧链有个致命的缺点:如果一条侧链上的绝大多数矿工/验证者都是不诚实的,用户资金就会被盗。
这些年来,有很多技术都在尝试增强侧链的安全性,来保证在绝大多数参与者不诚实的情况下,用户资金也不会被盗(这被称为信任最小化的双向锚定)。更早一点的例子有合并挖矿(merged mining)、影子链(shadow chain),之后又出现了 Plasma 和 ZK rollup。有趣的是,在 ORU 出现之前,一个类似的方案是分片机制下的延迟状态执行(我们很快会讲到这点!)。
这些研究的集大成者就是我们如今所知的 Optimistic Rollup。2019 年 6 月,《最小可行合并共识》首次阐述了这一技术。从那时起,以太坊社区就开始大力支持 ORU,将其作为以太坊式智能合约执行的可扩展性方案,无需等到 Serenity Phase 2。
Optimistic Rollup 的运作方式
作为信任最小化的双向锚定侧链(换言之,即使侧链上的每个验证者都不诚实,也不会出现资金被盗的情况),ORU 在运作方式上异常简单(当然,我的那篇 “原理” 讲解得更详细)。
- 聚合者将 rollup 上的交易收集起来,打包进 rollup 区块,并将该 rollup 区块连同保证金(我们很快就会解释为什么需要保证金)一起发送到以太坊(或另一条类似以太坊的区块链,上面运行着具有大量状态的智能合约)上的智能合约中。这个 rollup 区块不会被翻译或执行——智能合约只记录区块哈希,并追踪所有 rollup 区块的哈希。rollup 区块本身不存储在智能合约内,但是所有人都可以在以太坊的历史交易中找到它们。
- rollup 区块包含一个状态根,即,该 rollup 区块的状态树的根。如果该状态根是无效的,则任何人都可以在挑战期内使用欺诈证明来证明它是无效的。这可能是因为这个 rollup 区块中有一笔交易是无效的,或者因为状态根是无效的。如果一个 rollup 区块被证明是无效的,合约就会将 rollup 链回滚,这个无效区块后面的所有的 rollup 区块都会变成孤块。一旦欺诈证明成功,保证金中的一部分会支付给证明者,剩余部分则销毁。
- 如果直到挑战期结束都没有人提交欺诈证明,合约会敲定 rollup 区块,允许聚合者取回保证金。用户将款项从 rollup 链上取回到主链上时,需要在 rollup 链上发起取款请求,只有当合约敲定该 rollup 区块后,款项才能取回。
就是这样!ORU 看起来很简单,为什么花了这么长时间才有具体的方案和实现?这是因为这些技术的设计空间实际上是无限的,而且 “要想找到答案,你必须先找到正确的方向”。
请注意,上文介绍的是 ORU 是如何通过链上执行的方式在以太坊等区块链上运作的。ORU 也可以作为具备客户端执行功能的应用,在 LazyLedger 等项目上实现。在后一种情况下,欺诈证明将通过点对点网络传播,无需发布到智能合约上。
折中
虽然 ORU 的很多特点对于去中心化的区块链和无法停止的金融平台和应用来说至关重要,但是实现这些特点需要付出一些代价。
- 在默认情况下,由于与以太坊上的智能合约交互本身存在延迟,欺诈证明的挑战期会很长(长达数周),还会因此导致提款延迟。客户端执行可以大幅缩短挑战期。但是,我们只需要让流动性提供者通过原子交换来提供提款服务,并收取少量费用,就可以轻松解决延迟问题。实际上,这是一种新的 DeFi 元件:流动性提供者可以通过提供服务,利用其流动性来赚取收益。
- ORU 的吞吐量以以太坊的数据可得性吞吐量为上限。在这种情况下,我们可以将 ORU 视为伪分片。多个 ORU 可以在同一个数据可得性层上并行运行。幸运的是,数据可得性相比执行更容易扩展。LazyLedger 等项目经过专门优化,可以提供具备高度可扩展性的通用数据可得性层,让所有 rollup 项目都能充分发挥其潜力。
结论
总而言之,ORU 已经得到了广泛认可。该方案可以让以太坊(乃至区块链)在 Serenity Phase 2 上线之前就实现分片的承诺:既能帮助去中心化应用实现可扩展执行,又不会损害重要属性。构建 ORU 基础设施的项目有 Fuel Labs、Offchain Labs、Optimism 和 Hubble 等等(这份清单并不完整,也没有为他们背书的意思)。计划在 ORU 上构建的项目更是难以计数!
(完)
原文链接: https://coinmarketcap.com/alexandria/article/optimistic-rollups-for-the-rest-of-us
作者: John Adler
翻译&校对: 闵敏 & 阿剑