{"author":{"address":null,"user":"https://learnblockchain.cn/people/21431"},"content":{"body":"几周前（原文发表于 2023 年 8 月），我决定记录我所知道的每种适当的扩展解决方案，并看看未来可能会发生什么。我也在考虑构建一些东西，但我找不到有关 Rollups 状态和新创企业可用选项的有用文章。\r\n\r\n假设我不是唯一一个有这种想法的人，我想自己记录这些发现，并在其他创始人或者可能对这个领域感兴趣的人感兴趣的情况下分享它们。\r\n\r\n希望你觉得这个有用。\r\n\r\n## 介绍\r\n\r\n在过去的十年里建立的加密网络没有[网络效应](https://www.tzionis.com/crypto-anti-network-effect)。区块链要么[昂贵，要么不安全，要么不去中心化](https://vitalik.ca/general/2021/04/07/sharding.html) ，不可能有一个既可以在消费者笔记本电脑上运行又具有低廉费用的单一区块链。\r\n\r\n但是，如果我们不能拥有既便宜又去中心化的单一链，那么我们可以拥有多个相互操作的链吗？这就是在将近 3 年前[以太坊路线图](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698)中提出的。\r\n\r\n当[以 Rollup 为中心的路线图](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698)被提出时，确切的细节尚不清楚，而拥有适当的工作系统还有很长的路要走。现在已经过了一段时间，我认为我们现在知道这些系统可能是什么样子了。这篇文章是关于介绍和讨论这些 L2、L3 和分形扩展系统（fractal scaling systems）及其安全特性、互操作性特性和最终确定性时间的。\r\n\r\n## 多个 L1（天真的扩展）\r\n\r\n天真的扩展意味着并行运行多个不同的区块链。在这样一个财团中，每个区块链都由自己的验证器集合验证，并且通过从一个区块链发送交易证明（以及返回）来促进交互。\r\n\r\n即使区块链的安全预算随着其采用率的增长而增长，促进两个或更多链之间的交互既低效又有时不安全。一方面，这是不安全的，因为接收链必须相信另一条链的验证器不会分叉他们的链（无论是为了升级还是出于恶意行为）。如果他们这样做，他们可能会撤销可能导致用户资金损失的交易。另一方面，验证这些跨链交易成本很高。由于这些交易需要多个加密操作，它们需要[大量的 gas 2](https://www.youtube.com/watch?v=6HftDh9mk-8)，通常比典型交易昂贵一个数量级（或两个）。\r\n\r\n![天真的多个 L1 扩展](https://img.learnblockchain.cn/pics/20240704181702.svg)\r\n\r\n此外，拥有多个链意味着验证者将不得不分配在这些链之间。平均而言链将会有更少的验证者。节点较少的链有更高的离线几率，这本身就不好，而在一个相互依赖的多链世界中更糟糕。\r\n\r\n排除缺点，天真的扩展设置简单。L1 不需要昂贵且复杂的跨链操作。链简单，不太脆弱，并且有明确的最终确定性条件。\r\n\r\n**特性**：\r\n\r\n- **有效性：** 每个链由自己的节点验证\r\n- **数据可用性：** 数据可在 L1 上获得\r\n- **互操作性：** 快速但需要信任\r\n- **确认：** 几秒钟（区块时间）\r\n- **最终确定性：** 几秒钟到几小时（取决于实现）\r\n\r\n更多信息：[Vitalik 关于多链和跨链](https://reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/hrngyk8/)\r\n\r\n## 多个 L2 与单个跨链桥（OP Superchain）\r\n\r\nOptimism 的 Superchain 是多个 L2 合并在一个统一系统中的一个很好的例子。Superchain 是一组共享\r\n\r\n1） [链工厂](https://stack.optimism.io/docs/understand/explainer/#upgrade-the-bedrock-bridge-to-be-a-chain-factory) （用于创建新的 L2 链）和 \r\n\r\n2）一个共同的 [L1 ↔ L2 跨链桥 1](https://stack.optimism.io/docs/understand/explainer/#one-shared-upgrade-path-for-all-op-chains) 以进行存款和提款的 L2 区块链。\r\n\r\n链工厂使得部署新的 OP 链更便宜、更简单和可配置。它允许新链轻松选择其配置（即链 ID、gas 限制、 [排序器基础设施](https://stack.optimism.io/docs/understand/explainer/#configurable-sequencer-per-op-chain)、[数据可用性设置](https://stack.optimism.io/docs/understand/explainer/#alt-data-availability-layer-plasma-protocol)等），并使用经过测试的智能合约部署其自己版本的 L2。同时，如果链是通过链工厂部署的，Superchain 可以轻松信任新链代码的安全性。共同的跨链桥允许 Superchain 上的链默认使用 Optimism 跨链桥的安全审计和故障保护。\r\n\r\n*注：* Optimism 在 2019 年制作了[第一个可工作的 L2](https://github.com/plasma-group/pigi)，并与 [Geohot 合作](https://github.com/ethereum-optimism/cannon/commit/f7d8072d0270b7c7fe792ddcbfcea89605fddb03) 使得链上故障证明能够运行。\r\n\r\n![Optimism Superchain - 多个 L2 和单个跨链桥的链下扩展](https://img.learnblockchain.cn/pics/20240704182031.svg)\r\n\r\n跨链交易将使用共享相同排序器的 L2 工作。更具体地说，L2 交易不会触及 L1，而是直接从一个 L2 到另一个 L2，使得交易[便宜且快速 ](https://www.tzionis.com/the-consumer-chain)，同时也是原子的。\r\n\r\nOptimism collective 还在构建[一个框架](https://stack.optimism.io/docs/understand/explainer/#multi-chain-dapp-frameworks)来支持多链应用程序。该框架提出了跨链合约状态管理标准和一个单一的 RPC 端点（称为 Superchain RPC），用户可以使用该端点无缝地与所有 OP 链进行交互。遵循标准的链将具有可以从一个 OP 链移动到另一个 OP 链并具有相同地址的智能合约。\r\n\r\n*注：* 如 [Superchain Explainer](https://stack.optimism.io/docs/understand/explainer/) 中所述，一旦 ZK 技术更加成熟，他们将引入用于提款的 ZK 证明，这将既[快速又安全](https://www.tzionis.com/the-consumer-chain)。\r\n\r\n**特性：**\r\n\r\n- **有效性：** 至少 1 个诚实节点（诚实少数派）\r\n- **数据可用性：** 在 L1 上发布的链上保证\r\n- **互操作性：** 最小化信任但速度慢（共享排序器快速）\r\n- **确认：** 几秒钟（独立）\r\n- **最终确定性：** 几天（在 L1 上）\r\n\r\n更多信息：[Optimism Superchain Explainer](https://stack.optimism.io/docs/understand/explainer/)\r\n\r\n## 具有分形扩展的多个 L2、L3 等（Slush SDK）\r\n\r\n在分形设计中，有多个具有子代和父代的区块链，形成类似树状结构。子链[锚定到父链](https://polynya.mirror.xyz/EL69tiTzl05WO8ZvQXR39odgq2GQ9FV1WGSiLA49kSk) ，直到达到作为唯一没有父级的 L1。Slush 提出了一种依赖于分形扩展和 validiums（即低交易成本的链，不在 L1 上发布其数据）但具有替代方式存储其数据的设计。一个 Rollup 为应用层提供了许多优势，比如更便宜的交易费用，支持[不同的 VMs ](https://hacken.io/discover/smart-contract-platforms/) 和私密交易。Rollup 的大部分优势都适用于水平和分形 Rollup（即 L2 Rollup），但由于水平 Rollup 更容易设置和协调，目前对分形 Rollup 的兴趣不是很高。但对于分形 Validium 来说情况并非如此。分形 Validium 设计可以利用其分形拓扑结构更好地协调区块链数据存储。这就是 Slush 设计的目的。\r\n\r\n![Slush 分形扩展 - 使用多个 L2、L3 等进行链下扩展](https://img.learnblockchain.cn/attachments/migrate/1720087688560)\r\n\r\n在 Slush 初稿设计中，每个子链负责[复制其父链的数据可用性](https://hackmd.io/@kalmanlajko/rkgg9GLG5#Security-and-the-problem-of-iterated-exits) 。位于较高位置且有许多子链的链将自然具有更高的数据复制（因此安全性更高），但手续费更高。相比之下，位于较低位置且子链较少的链将具有较少的[数据复制](https://www.tzionis.com/classifying-blockchain-tech) （安全性较低），但手续费更低。该设计还提出了对 L2 的活跃性问题的缓解措施。简而言之，如果较高位置的链开始下线或未能提供其数据可用性的证明，较低位置的链可以取代其父链，以便分形叶中的其他链可以继续平稳运行。这是可能的，因为子链拥有其父链的数据，它们可以被激励承担更高位置的角色，以更好地从父链需求中获益。\r\n\r\n特性：\r\n\r\n- **有效性：** 钱包（轻客户端）直接验证（ZKPs）\r\n- **数据可用性：** 子链提供链下保证\r\n- **互操作性：** 快速且最小化信任\r\n- **确认：** 几秒钟（独立）\r\n- **最终确定性：** 几小时（共识）\r\n\r\n更多信息：[Slush，分形扩展提案](https://hackmd.io/@kalmanlajko/rkgg9GLG5)\r\n\r\n## 水平扩展的多个 L2（Sovereign Labs）\r\n\r\n独立 Rollup 设计利用链下计算来达成共识。这些链下计算可以在用户钱包中在后台进行，并在发送交易之前进行。但计算区块链状态非常耗费计算资源，需要数小时的计算和大量磁盘空间，这在浏览器扩展或移动应用中无法完成。这意味着只有在有一种廉价计算区块链状态的方法时，独立工作才能进行。\r\n\r\n其中一种解决方案是[零知识证明](https://ethereum.org/en/zero-knowledge-proofs/) ，这是一种计算廉价的验证区块链是否正确发展的方法。一个节点可以生成证明，其他节点可以廉价验证区块链，**而无需重新执行交易**。这在一般情况下非常有用，因为处理交易是区块链的两个核心功能之一（另一个是存储区块链数据），但对于跨链交易尤其方便。\r\n\r\n传统的 zk Rollup，通常称为智能合约 Rollup，将这些零知识证明发布在 L1 上供 L2 节点使用，并从中达成共识。但这些 L1 证明在链上执行仍然*计算*昂贵，并且 L2 仅每 6-12 小时发布一次以节省交易成本。这意味着智能合约 Rollup 每隔几小时才能最终化[一次](https://docs.zksync.io/zkevm/#what-is-transaction-finality-time-in-zksync) ，并且由此产生的跨链交易需要类似的时间从一个 L2 链到另一个 L2 链。\r\n\r\n![独立 Rollup - 使用多个独立 L2 进行链下扩展](https://img.learnblockchain.cn/attachments/migrate/1720087688536)\r\n\r\n[独立 Rollup](https://celestia.org/learn/sovereign-rollups/an-introduction/)通过不同的方法实现了类似的结果。它们只在链上发布证明数据，这比在链上执行整个证明要便宜得多，并直接将证明分享给有责任[验证证明](https://mirror.xyz/sovlabs.eth/Hwe-6x6MTUjvpuTuuwIoN2E8lgpg1euDnn_vZgwoH0Y)的用户钱包。为了安全地实现这一点，它们必须在链上存储另一个证明，证明哪些交易包含在 L1 中。第二个证明证明 L2 交易包含在 L1 中，结合这两个证明可以显示 L2 交易既有效又发布在 L1 上。\r\n\r\n总之，独立 zk Rollup 需要两个证明来运行，一个用于基础 L1 的状态，另一个用于 L2 的状态。 [轻客户端](https://ethereum.org/en/developers/docs/nodes-and-clients/light-clients/)可以验证这两个证明，以了解交易是否在 L2 中进行。由于这些证明便宜且可以频繁发布到 L2，它们可以频繁发布这些证明，从而实现即时跨链交易。\r\n\r\n特性：\r\n\r\n- **有效性：** 钱包（轻客户端）直接验证（ZKPs）\r\n- **数据可用性：** 在 L1 链上或链下\r\n- **互操作性：** 快速且最小化信任\r\n- **确认：** 几秒钟（独立）\r\n- **最终确定性：** 几小时（共识）\r\n\r\n更多信息：[独立 SDK 的工作原理](https://mirror.xyz/sovlabs.eth/pZl5kAtNIRQiKAjuFvDOQCmFIamGnf0oul3as_DhqGA)\r\n\r\n## 单个 L2 上的多个 L3（Arbitrum Orbits）\r\n\r\nArbitrum Orbit 链是在 Arbitrum L2 上结算的 L3 Validium。这些 L3 链与在 L1 上结算的 L2 链非常相似，但使用了 Abtritrum 的[链下数据可用性](https://developer.arbitrum.io/launch-orbit-chain/orbit-gentle-introduction#what-problem-does-orbit-solve) 层。由于它们不在更昂贵的 L1 上发布交易数据，因此它们比 L2 Rollup 具有[更低的交易费用](https://www.tzionis.com/the-consumer-chain)。\r\n\r\n![Arbitrum orbits - 使用多个 L3 进行链下扩展](https://img.learnblockchain.cn/attachments/migrate/1720087688527)\r\n\r\n关于确切的互操作性特性的详细信息尚未发布。它们可能的工作方式之一是跨链交易必须通过共享的排序器进行，将 L3 分割为可互操作的集群。或者它们将不得不通过 L2 进行，从一个 L3 到另一个 L3，类似于 [OP 链](https://ethresear.ch/t/a-literature-review-on-rollups-and-validium/16370#op-superchain)如何使用 L1 进行跨链交易。\r\n\r\n特性：\r\n\r\n- **有效性：** 至少 1 个诚实节点（诚实少数派）和 Arbitrum 链下委员会\r\n- **数据可用性：** 链下数据可用性委员会（Arbitrum Nova）\r\n- **互操作性：** 最小化信任但较慢（？）\r\n- **确认：** 几秒钟（排序器）\r\n- **最终确定性：** 几天（在 L1 上）\r\n\r\n更多信息：[初探：Orbit 链](https://developer.arbitrum.io/launch-orbit-chain/orbit-gentle-introduction)\r\n\r\n## 结论\r\n\r\n经过多年的研究，我们现在进入了实施阶段。Rollup 为中心的路线图的第一个实现现在处于测试版或生产阶段，我们应该在接下来的几个月内看到具有多个 L2、多个 L3 和其他各种组合的工作系统。当这些跨链系统变得更加成熟时，将会有一些挑战需要解决，主要是用户体验。我们将需要新的钱包，能够容纳跨链交易，而不会在[简单性和可用性](https://www.tzionis.com/the-consumer-chain)上做出牺牲，我迫不及待地想看到这些跨链系统在实际中运作。\r\n\r\n原文：https://ethresear.ch/t/a-literature-review-on-rollups-and-validium/16370","title":"Rollups 和 Validium 的“文献综述”"},"history":null,"timestamp":1720089224,"version":1}