Optimistic Rollups 如何运作(完整指南)

  • Alchemy
  • 发布于 2023-08-10 19:16
  • 阅读 35

本文深入探讨了 Optimistic Rollups (ORUs),这是一种旨在降低以太坊使用成本并提高速度的 Layer 2 解决方案。文章详细介绍了 ORU 的架构、工作原理,包括交易如何进入、使用和退出 rollup,以及欺诈证明机制。此外,还对比了 ORU 与 ZK Rollups 的差异,并列举了当前主要的 ORU 项目及其相关工具。

Alchemy 编写

Brady Werkheiser headshot

Brady Werkheiser 审核

发布于 2023 年 8 月 9 日,阅读时间 8 分钟


以太坊——世界上第一个智能合约平台——曾经被认为是一个边缘想法,但多年来已经有了很大的发展,现在每天托管着近 3,000 个去中心化应用程序 (dApp)、4,000 多个智能合约和超过 90,000 笔交易。

但以太坊上日益增加的活动也带来了一个代价:可扩展性。

区块大小和区块时间的限制,虽然对于去中心化和安全性是必要的,但降低了以太坊扩展和接受更多用户的能力。最终导致了一系列以太坊用户最熟悉的问题——即,高 gas 费和缓慢的交易。

安全地 扩展以太坊 需要提高其扩展网络吞吐量和延迟的能力,而不引入信任假设。这正是 Layer 2 rollups 和 sidechains 等多种扩展解决方案试图做到的。

本文探讨了 Optimistic Rollups (ORUs),这是一类 L2 rollup 解决方案,旨在使以太坊的使用更便宜、更快速。

什么是 Optimistic Rollups?

Optimistic rollups 是一种 layer 2 (L2) 结构,它通过将计算和数据存储移至链下,来提高以太坊基础层的吞吐量和延迟。 Optimistic rollup 在以太坊主网之外处理交易,从而减少了基础层的拥塞并提高了可扩展性。

“乐观”标签指向了 Optimistic rollups 的一个鲜明特征:它们在链上发布很少关于交易的信息,并自动假设_所有_交易都是有效的。它们被称为“rollups”,是因为它们在提交到主网之前,将数千笔交易聚合(“roll up”)成批次。

Optimistic rollup 的架构

1. 进入 Optimistic rollup

Optimistic rollups 使用部署在以太坊上的智能合约来管理 L2 链和 L1 区块链(以太坊)之间的交互。Rollup 用户必须将资金存入其中一个智能合约,然后才能在 rollup 上解锁等量的资金。

被称为_排序器(sequencer)_的第三方,在收到后者在 rollup 合约中存款的证明后,会将资金记入用户的 rollup 账户。然后,用户可以在 rollup 上自由交易,直到他们用完余额。

Optimistic rollup 的架构来源

2. 使用 Optimistic rollup

在 rollup 上,用户签署交易并将它们提交给排序器,后者负责排序和执行交易。排序器验证交易,将数据压缩成一个区块,并将该批次作为单个交易提交给以太坊。

这是 rollup 合约发挥作用的另一个领域。链上合约存储一个“状态根(state root)”,它是 rollup 状态的 Merkle 根。让我们进一步分解:

状态

_状态_是指在特定时间点有关网络的可用信息的一个概念。“rollup 的状态”描述了 L2 链的当前状况,并指定了详细信息,例如现有账户、余额、智能合约等等。

在 rollup 上执行的每笔交易都会导致其状态发生变化——例如,在 Alice 向 Bob 发送 5 ETH 后,Alice 的余额将会减少。因此,交易被称为状态转换,因为 rollup 在执行交易后会从旧状态转移到新状态。

Merkle 根

Merkle 根 使开发者能够使用加密哈希编码大量信息。Merkle 根也使检查一段数据(例如,一笔交易)是否是更大的数据集(例如,一批交易)的一部分变得更加容易。

因此,存储在 rollup 合约中的“状态根”是一种加密承诺,用于验证 rollup 在不同时间点的状态。当排序器向 rollup 合约提交一批交易时,它必须包含一个_前_状态根和一个_后_状态根。

1. 前状态根:_旧的_状态根,它描述了 rollup 在提交的交易被执行_之前_的状态。

2. 后状态根:_新的_状态根,它描述了 rollup 在提交的交易被执行_之后_的状态。

一旦排序器提交了批次,合约会验证_前_状态根是否与现有的状态根匹配。如果两者匹配,合约会丢弃旧的状态根,并存储排序器提出的新状态根。

这意味着 _后_状态根中引用的交易已经完成,无法撤销。请注意,排序器不需要提交批量交易有效性的证明。

只有在验证者使用欺诈证明报告了欺诈性的 rollup 交易时,才需要证明。我们将在本文的后面部分解释欺诈证明的机制。

Optimistic Rollup Merkle Root来源

3. 退出 Optimistic rollup

假设 Alice(用户)已经受够了这个 rollup 业务,想要从以太坊主网上的 rollup 合约中提取她的资金。为此,她需要一个 Merkle 证明——是的,你猜对了——证明她的交易包含在 rollup 的状态根中。

构建 Merkle 证明需要访问初始交易数据,排序器应该提供这些数据。如果一切顺利,Alice 会获得数据,创建 Merkle 证明,并将其提交给 rollup 合约。

但是,依赖排序器来提供交易数据会引入信任假设。排序器可能会变得流氓,执行一笔将 Alice 的 token 转移到他们钱包的交易,并拒绝向她提供证明资金所有权所需的数据。即使是像排序器离线这样不那么恶意的事情,仍然会威胁到 Optimistic rollups 的去中心化和安全性。

Optimistic rollups 通过要求排序器在以太坊主执行层上发布完整的交易数据来解决这个问题。这些信息以“calldata”的形式发布在以太坊主网上,这比将其存储在 Ethereum Virtual Machine 的内存或存储中更便宜(进一步降低了 rollup 费用)。

这实现了两个目标:

1. 如果排序器离线,另一个排序器可以使用交易数据来重建 rollup 的状态并继续生成区块。

2. Alice(用户)可以自己下载数据并使用它来创建 Merkle 证明。

链上数据可用性的使用使得 Optimistic rollups 比其他扩展解决方案更安全。由于交易数据存储在以太坊上,用户资金始终是安全的——只要以太坊保持运行。

因此,无论如何,Alice 设法创建了一个 Merkle 证明来证明资金的所有权。但是,她必须等待_争议期_过去才能提取她的资金。在 Optimistic rollups 中,争议期是提交提款请求和获得请求的资金之间的 1-2 周的时间间隔。

在此期间,任何人都可以发布欺诈证明,声称某个特定交易或一批交易无效。如果欺诈证明成功,排序器的保证金(作为诚实行为的保证提供)将被削减,Alice 的“资金”将被恢复,并且“告密者”(称为验证者)将因其努力而获得奖励。

如果没有人质疑 Alice 的提款请求,那么她可以在 1-2 周后从 rollup 合约中获得她的资金。

什么是欺诈证明?

欺诈证明是一种声明,声明一个状态转换(即,交易)无效,并且整个批次都应因此被恢复。 虽然复杂,但欺诈证明在很大程度上依赖于状态根(前面提到)来工作。

该过程从一方(验证者)检测到 L1 链上状态根中引用的 rollup 状态与 rollup 链的实际状态之间存在不匹配时开始。

一个例子是,排序器提交了一个 _后_状态根,该状态根减少了 Alice 的余额 5 ETH,并增加了 Bob 的余额相同金额,即使 Alice 从未执行过转账。

验证者可以“挑战”此状态转换并证明其无效性。这是可能的,因为验证者下载每个交易的数据,将其应用于其 rollup 状态的副本,并计算_后_状态根。

如果排序器的 _后_状态根与验证者的匹配,则什么也不会发生。但是,如果排序器的 _后_状态根不同——可能是因为它包含一个虚假交易,例如 Alice 案例中描述的交易——那么验证者可以触发欺诈证明计算。

Optimistic Rollup Fraud Proof来源:https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/#disputing-transactions

欺诈证明如何工作?

以下是欺诈证明过程的高级描述:

1. 验证者启动挑战并提供以下信息:

​ a. 有争议的状态转换

​ b. 前状态根

​ c. Rollup 状态数据

​ d. 他们的 _后_状态根版本。

2. 使用挑战者提供的信息,在 L1 链上的沙盒环境中重放交易。

这个“沙盒环境”是一个在以太坊上运行的智能合约,它同时也是一个虚拟机 (VM)。

3. 如果计算结果得到与挑战者匹配的 _后_状态根,那么我们就知道排序器确实发布了一个具有无效状态转换的批次。

无效的批次(以及之后发布的其他批次)将被恢复,从而将 rollup 恢复到其先前的状态。

我们应该注意到,欺诈证明机制比这里描述的要复杂得多。

这篇关于 rollups 中的欺诈证明 的文章可能会提供一些额外的背景信息。

欺诈证明和有效性证明之间有什么区别?

欺诈证明与有效性证明的主要区别在于,前者是在链上计算的。有效性证明(也称为零知识证明)是在链下计算的(即在 rollup 上),并在以太坊上进行验证。

正如我们在比较不同 类型的零知识证明 的文章中所解释的那样,有效性证明(如 SNARK 或 STARK)用于证明链下执行的交易的有效性。这是 零知识 rollup 的基础。

在 ZK-rollup 中,使用交易数据作为输入,为每个批次生成有效性证明。这个有效性证明与批次一起提交给以太坊主网,并由链上合约进行验证。这意味着可以立即声明交易有效,而无需等待挑战(就像 Optimistic rollups 一样)。

欺诈证明和 ZK 证明的另一个区别是,后者在链上验证起来稍微容易一些。智能合约需要做的就是运行有效性证明来确定批量交易的有效性。对于欺诈证明,必须重放整个状态转换,然后才能完成欺诈证明计算。

Optimistic rollups 和 ZK rollups 之间有什么区别?

Optimistic rollups 和 ZK rollups 之间的主要区别在于前者对智能合约的支持、延迟提款、对密码经济激励的依赖以及安全属性。

以下是 Optimistic rollups 和 ZK rollups 的详细比较:

特性 Optimistic Rollups ZK Rollups
证明 使用欺诈证明来证明交易的有效性。 使用有效性(零知识)证明来证明交易的有效性。
资本效率 需要等待 1 周的延迟(争议期)才能提取资金。 用户可以立即提取资金,因为有效性证明提供了链下交易真实性的无可辩驳的证据。
数据压缩 将完整的交易数据作为 calldata 发布到以太坊主网,这增加了 rollup 的成本。 不需要在以太坊上发布交易数据,因为 ZK-SNARK 和 ZK-STARK 已经保证了 rollup 状态的准确性。
EVM 兼容性 使用以太坊虚拟机 (EVM) 的模拟,这使其能够运行任意逻辑并支持智能合约。 没有广泛支持 EVM 计算,尽管出现了一些 EVM 兼容的 ZK-rollups。
Rollup 成本 降低了成本,因为它在以太坊上发布最少的数据,并且不必为交易发布证明,除非在特殊情况下。 面临更高的开销,因为生成和验证每个交易区块的证明都涉及成本。ZK 证明需要专门的、昂贵的硬件来创建,并且链上验证成本很高。
信任假设 不需要可信设置。 需要可信设置才能工作。
活性要求 需要验证者来密切关注实际的 rollup 状态和状态根中引用的状态,以检测欺诈。 用户不需要有人监视 L2 链来检测欺诈。
安全属性 依靠密码经济激励来向用户保证 rollup 的安全性。 依靠密码学保证来保证安全性。

哪些是顶级的 Optimistic rollup 区块链?

就总锁定价值 (TVL) 而言,顶级的 Optimistic rollup 区块链是 Arbitrum、Optimism、Metis Andromeda 和 Boba Network。 以下是不同 Optimistic rollups (ORUs) 的概述:

1. Arbitrum

Arbitrum 是一个 Optimistic rollup 项目,旨在通过将计算和数据存储移至链下来提高以太坊的用户成本和交易速度。Arbitrum 虚拟机 (AVM) 支持 EVM 兼容的智能合约,允许用户以以太坊成本的一小部分使用最喜欢的 dApp。

2. Optimism

Optimism 是一个 EVM 兼容的 Optimistic rollup 链,它利用了以太坊的安全保证。Optimism 使用 Optimistic rollup (OR) 结构来汇总数千个链下交易,并为用户节省 gas 费用。

3. Metis Andromeda

Metis Andromeda 是一种基于 Optimistic rollups 的、可扩展的、低成本且功能性的 L2 协议。Metis Andromeda 独特的堆栈可以应用于不同的用例,包括 dApp、DAO 和 DeFi。

4. Boba Network

Boba Network 是一个使用 Optimistic rollup 设计的以太坊 L2 扩展吞吐量。Boba Network 提供流动性提供商 (LP) 服务,允许用户立即提取资金,而无需等待七天的挑战期过去。

哪些 Optimistic 区块链或项目拥有 token?

以下 Optimistic rollup 项目拥有 token:

  • Optimism (OP)

  • Boba Network (BOBA)

  • Metis Andromeda (METIS)

Optimistic rollup 工具

Optimistic rollups 是扩展 dApp 以及以更具成本效益和高效的方式与智能合约交互的有用解决方案。但首先,你需要各种工具才能轻松_且_安全地使用 Optimistic rollups。

以下是适用于开发者和最终用户的各种 Optimistic rollup 工具:

跨链桥连接到 Optimistic layer 2 区块链

虽然 Optimistic rollups 构建在以太坊的基础层之上,但两条链上的资产并非原生兼容。但是,你可以 使用跨链桥 将资金从 L1 链(如以太坊)转移到 Optimistic rollup:

以下是将 L1 链和不同 L2 rollups 连接起来的桥的示例:

连接到 Arbitrum 的桥梁

  • Arbitrum Token Bridge

  • cBridge

  • Hop Protocol

  • Synapse Protocol

  • Anyway Bridge

  • DeGate Bridge

连接到 Optimism 的桥梁

  • Connext

  • Celer Bridge

  • Li.Fi

  • Optimism Bridge

  • Poly Network

  • Via Protocol

  • Synapse Protocol

  • Across

连接到 Metis Andromeda 的桥梁

  • Metis Bridge

  • cBridge

  • AnySwap

  • Synapse Protocol

连接到 Boba Network 的桥梁

  • Across

  • Boba Standard Token Bridge/Fast Token Bridge

  • cBridge

  • Synapse Protocol

Optimistic rollup 测试网

测试网 是一个公共区块链网络,它模拟了相关的(主网)主网络的行为。与真正的区块链不同,测试网不使用真正的资金,这允许开发者以最小的风险部署和测试智能合约。

一些 Optimistic rollups 拥有以太坊测试网的版本,例如 Rinkeby,你可以将它们用于测试你的 dApp:

1. Optimism Ethereum Kovan 测试网

Optimistic Ethereum Kovan 测试网是一个 EVM 兼容的 Optimistic rollup 链,专为测试目的而设计。就像以太坊主网上的 Optimism 一样,Optimistic Ethereum Kovan 测试网的设计是为了比 L1 获得更快速、更便宜的交易。

2. Arbitrum Rinkeby 测试网

Offchain Labs 是 Arbitrum 背后的团队,在 Rinkeby 网络上启动了一个与 EVM 等效的 rollup 链。Arbitrum Rinkeby 测试网允许开发者在 Arbitrum rollup 上部署 Solidity 智能合约,而无需下载软件。它还带有一个区块链浏览器和一个用于移动 ERC-20/ERC-721 token 的桥。

3. Boba Network Rinkeby 测试网

在 Rinkeby 测试网上,Boba Network 是另一个拥有 EVM 兼容 rollup 链的项目。你可以使用 Alchemy 的 Rinkeby faucet 请求测试网 ETH,以创建或测试你的智能合约。

结论

Optimistic rollups 是使用 layer 2 架构扩展以太坊的重要组成部分。Optimistic rollups 建立在以太坊的安全性和去中心化的基础上,同时提供更便宜的费用和更快的交易。

Alchemy 支持两个基于 Optimistic rollups 的领先项目,Arbitrum 和 Optimism。立即免费注册,了解如何使用基于以太坊的 Optimistic rollups 扩展你的 dApp。

Supercharged | Alchemy | Substack

获取免费的以太坊 RPC 和开发者工具 获取你的 API 密钥

📚 目录


  • 什么是 Optimistic rollups?
  • Optimistic rollups 和 ZK rollups 之间有什么区别?
  • 哪些是顶级的 Optimistic rollup 区块链?
  • Optimistic rollup 工具
  • 结论

分享:

Overview cards background graphic

相关概述

Featured content card overlay\ \ Layer 2\ \ Rollup-as-a-Service Provider Comparison: How to Choose the Right RaaS Partner\ \ Explore the industry’s leading RaaS providers and factors to consider when choosing a RaaS. Featured content card overlay\ \ Layer 2\ \ What is ZKsync Era? An Overview For Ethereum Developers\ \ Learn about ZKsync Era - the EVM-compatible ZK rollup powering Ethereum scaling. Featured content card overlay\ \ Layer 2\ \ What are Rollups-as-a-service (RaaS)?\ \ Learn About Where Rollups as a Service Fit In The Ethereum Layer 2 Ecosystem

Desktop section background image

构建区块链魔法

Alchemy 将最强大的 web3 开发者产品和工具与资源、社区和传奇支持相结合。

获取你的 API 密钥

  • 原文链接: alchemy.com/overviews/op...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Alchemy
Alchemy
江湖只有他的大名,没有他的介绍。