你应该为你的Rollup使用哪个Rollup框架?
本文详细介绍了四种流行的Rollup框架(OP Stack、ZK Stack、Arbitrum Orbit和Polygon CDK),分析了它们的架构、特点和适用场景,帮助开发者和企业选择合适的Layer 2解决方案。
概述
本指南旨在帮助开发者和企业导航复杂的 rollup 框架环境。随着 Layer 2 (L2) 解决方案的兴起,推出自己的 rollup 已成为提高可扩展性、安全性和成本效率的一个吸引人选项。
在本指南中,我们将探讨并比较四个流行的 rollup 堆栈:OP Stack、ZK Stack、Arbitrum Orbit 和 Polygon CDK。我们的目标是为你提供每个框架的优点、缺点和独特特征的清晰理解。
无论你是希望推出自己 rollup 的区块链开发者,还是探索区块链应用的 Layer 2 解决方案的公司,本指南将成为你决策过程中的宝贵资源。
理解 Layer 2 和 Rollups
什么是 Layer 2 解决方案?
Layer 2 (L2) 解决方案是在现有区块链网络 (Layer 1) 之上构建的协议,以改善其可扩展性和效率。这些解决方案在主链之外处理交易,同时继承基础区块链的安全保障。
L2 解决方案的主要目标是解决许多区块链网络面临的可扩展性三难问题,这涉及到可扩展性、安全性和去中心化的平衡。
Rollups 解释
Rollups 是一种特定类型的 Layer 2 解决方案,它将多个交易捆绑或“压缩”成一个批次,然后提交到 Layer 1 区块链。该方法显著降低了交易成本并提高了吞吐量,同时保持了基础 Layer 1 的安全性。
Rollups 通过将交易数据回传到 Layer 1(例如 Ethereum)来实现这种安全性,在那里进行验证和存储。这使得 rollups 能够从 Layer 1 的共识机制中获得安全性,同时卸载交易的执行,从而导致更便宜、更高效的处理。要深入了解 rollups,请查看我们的 Ethereum Rollups 指南。
QuickNode Rollup 作为服务
想要简化你的 rollup 部署吗?探索我们的 Rollup as a Service,以通过托管解决方案加速你的项目。
Rollups 的类型:Optimistic 与 ZK
Rollups 主要有两种类型:零知识 (ZK) rollups 和乐观 rollups。两者旨在提高可扩展性,但在确保交易有效性的方法上有所不同。
乐观 Rollups
乐观 rollups 默认假设所有交易都是有效的,从而允许更快的处理时间。然而,它们包括一个挑战期,在此期间任何人都可以对交易的有效性提出异议,从而引入最终确定前的延迟。
此挑战期通常持续 1 至 7 天,具体取决于特定实现。一些项目可能根据安全要求或用户对快速最终性的偏好调整此持续时间。例如,Optimism 有标准的 7 天挑战期,而其他 rollup 实现可能选择更短或更长的持续时间。
在挑战期间,“挑战者”(挑战者的选择取决于 Layer 2 实现)如果怀疑交易存在欺诈,可以提交欺诈证明。如果挑战成功,则该交易将在 Layer 1 上重新执行以验证其合法性。为了防止无效的争议,挑战者必须质押保证金,提交交易的各方也是如此。如果交易被认为是欺诈,提交者的保证金将被削减,从而产生确保交易有效性的经济激励。
乐观 Rollups - 无权限的故障证明 ( 图像来源)
总结如下:
- 乐观 rollups 默认假设交易是有效的,仅在争议时运行计算。
- 乐观 rollups 有“挑战期”,在最终确定前可以对交易提出异议。
- 挑战者的选择取决于 L2 协议;例如,任何人都可以成为 OP Mainnet(Optimism)的挑战者,而 Arbitrum 使用白名单的参与者进行欺诈证明。
- 通常更易于实施,更兼容现有的 Ethereum 工具。
乐观 Rollups 示例:OP Mainnet (Optimism)、Arbitrum、Base、Blast
如需更详细的见解以及使用乐观 Rollups 的项目列表,请访问 L2Beat。
零知识 (ZK) Rollups
ZK rollups 使用加密证明来验证链外交易的有效性,然后将其提交到 Layer 1。该方法提供了更快的最终性,无需挑战期,但需要更复杂的计算。
- 使用加密证明(即 ZK-SNARKs)来验证交易。
- 一旦证明在主链上被验证,即可提供近乎即时的最终性。
- 通常提供更高的吞吐量,但实现起来可能更加复杂。
ZK Rollups 示例:ZKsync Era、Scroll、Linea、Starknet
有关更多 ZK Rollups 示例,请访问 L2Beat。
关键组成部分:结算层、数据可用性层、共识层和执行层
现在我们已讨论完 rollups 的基础知识,接下来深入研究组成 rollup 架构的关键组件。让我们探讨这些组件及其在 rollup 生态系统中的角色:
数据可用性 (DA) 层
- 此层负责存储交易数据并使其可供验证。
- 数据可以存储在 链上 (Layer 1) 或 链外(使用单独的数据可用性解决方案,例如 Celestia)。
- 对于允许任何人重建 rollup 的状态并确保其完整性至关重要。
- 数据可用性层通常涉及数据压缩技术、calldata 优化和潜在的单独 DA 网络。
链上与链外数据可用性
链上 (Layer 1):在 Layer 1 上存储数据提供最高级别的安全性,因为数据继承基础层(Ethereum)的安全保障。然而,由于直接在链上存储数据的高成本,可能会很昂贵。对 blob 存储的引入 ( EIP-4844) 提高了可扩展性并降低了成本,使得链上存储对于 rollups 更加高效。
链外:链外解决方案,通过将数据存储移动到 Layer 1 之外,提供更具成本效益和可扩展的选项。这使得 rollups 可以以更低的成本处理更高量的交易。缺点是链外解决方案可能无法提供与链上存储同样级别的安全性,尽管它们通常使用强大的验证方法来确保数据的完整性。
共识层
- 此层决定节点如何就 rollup 的状态达成一致。
- 框架之间可以有所不同(例如单个排序者、多方计算等)。
- 共识层对 rollup 的去中心化和安全特性影响显著。
- 通常涉及排序者选择机制、领导者选举算法或门限签名协议。
结算层
- 这是最终状态结算和安全保障的区块链,通常是 Layer 1 链(例如 Ethereum 主网)。
- 通过验证和仲裁证明(针对乐观 rollup 的欺诈证明、针对 ZK rollup 的有效性证明),确保在 rollup 上处理的交易的安全性和最终性。
- 结算层涉及在 L1 上管理状态根、处理存款/取款以及处理欺诈证明或有效性证明的智能合约。
执行层
- 这是实际处理交易和状态变化的地方。
- 通常涉及虚拟机 (VM) 环境(例如 EVM、zkEVM、AVM)。
- 执行层确定 rollup 的计算环境和智能合约能力。
启动 Rollup 的关键考虑因素
在我们深入探讨链和 rollup 框架之前,理解在启动和运营 rollup 时可能面临的一些关键概念和挑战至关重要。
Rollup 成熟阶段
Rollups 通常经历多个成熟阶段,通常称为“训练轮”,这些阶段反映了去中心化程度和开发者保留的控制权范围。
1. 完整训练轮 (阶段 0):
- 高度中心化,开发者拥有显著的控制权。
- 能够快速升级系统而无需治理。
- 适用于快速迭代和修复错误。
- 更高的中心化风险。
2. 有限训练轮 (阶段 1):
- 部分去中心化,开发者控制程度有限。
- 升级可能需要时间延迟或多签批准。
- 在灵活性和去中心化之间取得平衡。
3. 无训练轮 (阶段 2):
- 完全去中心化,由社区治理。
- 所有主要决策和升级由持币者决定。
- 最高程度的去中心化,但实施变更的速度较慢。
Rollup 阶段来自 L2Beat.com
退出窗口和取款期限
退出窗口是 rollup 系统中的一个关键安全特征。它指的是用户必须在可能不想要的升级生效之前,从 rollup 提取其资产到主链所需的时间。这一概念对用户保护和系统完整性至关重要。
取款期限指的是用户可以将其资产从 rollup 提取到主链的时间段。由于其挑战期,乐观 rollups 的取款期限特别较长,而 ZK rollups 则较短。
常见操作挑战
在运营 rollup 时,可能会出现几种挑战,考验系统的弹性和去中心化。理解这些挑战,以及不同框架如何应对它们,对于维护安全高效的 rollup 至关重要。
我们来探讨两个常见挑战:排序者故障和提议者故障。
排序者故障
排序者负责在 rollup 中对交易进行排序。排序者故障可能会潜在地暂停或延迟交易处理。
不同框架以各种方式处理排序者故障:
L1 队列提交:
- 用户可以将交易提交到 Layer 1 (L1) 区块链的队列。
- 排序者处理该队列,确保即使延迟也将包含交易。
- 在某些实现中,排序者无法选择性跳过交易,但也可能停止处理整个队列。
自排序与延迟:
- 用户可以通过直接将交易提交到 L1 来强制交易包含。
- 通常涉及某种延迟(例如 24 小时),以允许主排序者恢复。
- 在确保及时交易处理的同时保障安全性。
没有即时机制:
- 一些框架可能没有机制让用户绕过故障排序者。
- 这种方法依赖于排序者的可靠性,但如果排序者故障,可能会导致系统暂时停止。
去中心化排序池:
- 如果主排序者故障,可以由多个备份排序者接管。
- 增强去中心化和弹性,但可能增加复杂性。
提议者故障
提议者将状态更新从 rollup 提交到 L1 链。提议者故障可能会延迟最终性并影响取款。
框架以不同方式处理提议者故障:
仅限白名单提议者:
- 只有预先批准的提议者才能在 L1 上发布状态根。
- 如果所有提议者均故障,可能会冻结取款,直到解决。
- 提供控制但以中心化为代价。
自我提议与延迟:
- 在设定的非活动期限(例如 12 天)后,任何人都可以成为提议者。
- 在确保可靠的已知提议者需求与弹性后备之间取得平衡。
开放证明与延迟:
- 用户在延迟后可以向 L1 桥接提交证明。
- 可能涉及针对证明和最终状态的单独延迟。
- 提供去中心化的后备方案,但可能存在时间限制。
多个备份提议者:
- 授权多个实体作为提议者。
- 如果一个失败,其他可以介入,提高弹性。
理解这些方法有助于选择一个符合你项目的去中心化、安全性和操作效率目标的框架。
引入链框架
在区块链开发的背景下,链框架或堆栈指的是一组软件组件、工具和协议,它们协同工作以创建功能性的区块链网络,或者在这种情况下,rollup 解决方案。
链框架可以有几个重要用途:
- 标准化:它们提供一致的工具和接口,使开发者更容易构建和部署应用。
- 模块化:框架通常具有模块化设计,使开发者能够根据需要自定义或替换特定组件。
- 抽象化:它们减少区块链系统的底层复杂性,允许开发者专注于构建应用,而不是重新发明核心功能。
- 生态系统支持:框架通常附带广泛的文档、社区支持和其他可促进开发和部署的工具。
- 互操作性:许多框架在设计时考虑了互操作性,使得与其他区块链网络或 Layer 1 解决方案的连接更容易。
在 rollups 的背景下,链框架提供创建、部署和运营 Layer 2 解决方案所需的组件。这包括交易处理工具、状态管理、证明生成(对于 ZK rollups)、欺诈证明系统(对于乐观 rollups)以及与基础 Layer 1 区块链的接口。
框架的选择可以显著影响你 rollup 的各个方面,包括:
- 性能和可扩展性
- 安全模型
- 开发者体验
- 与现有工具和应用的兼容性
- 可定制性和灵活性
- 社区支持和生态系统增长
随着我们探索四个主要的 rollup 框架(OP Stack、ZK Stack、Arbitrum Orbit 和 Polygon CDK),我们将考察它们为开发者提供的功能。
Rollup 框架的详细分析
OP Stack
**OP Stack**由 Optimism 开发,是一个开源框架,用于构建乐观 rollups。它旨在模块化和可定制,使开发者能够创建具有不同程度相似性的 Layer 2 (L2) 和 Layer 3 (L3) 解决方案。
关键特性:
- 乐观 rollup 架构
- 为无缝 Ethereum 兼容性提供了 EVM 等效性
- 模块化设计允许定制各种组件
- 用于交易验证的故障证明系统
- 超链概念用于多个 L2 链之间的互联
- 支持自定义的本地 gas 代币
超级链
超级链是 OP Stack 对安全、通信协议和核心技术共享的标准化 L2 链(OP 链)网络的愿景。这种方法旨在创造一个统一层的互操作链,使开发者能够构建能够在生态系统中多个链之间无缝运行的应用。
架构:
- 共识层 / 交易排序:使用单个排序者模型(使用多个排序者模型选项可以通过定制)
- 数据可用性:将数据发布到 Ethereum(使用其他 EVM 或非 EVM 链作为 DA 的可定制选项)
- 执行层:EVM 等效环境
- 结算层:Ethereum 主网(可以通过定制在多个外部链上进行结算机制)
学习如何部署你自己的 Optimism L2 Rollup
想了解 OP Stack 在实践中的工作方式吗?按照我们的 逐步指南,帮助你部署并与自己的 Optimism L2 rollup 互动。
ZK Stack
**ZK Stack**由 Matter Labs 开发,是一个用于构建 ZK rollups(L2 和 L3)的框架。它是 ZKsync 的基础技术,ZKsync 是 Ethereum 生态系统中领先的 ZK rollup 解决方案之一。
关键特性:
- 零知识 rollup 架构
- 基于 LLVM 的 zkEVM 实现高 EVM 兼容性
- 内置账户抽象
- 通过递归证明实现超可扩展性
- 原生代币桥接
- 支持自定义的本地 gas 代币
- 弹性链架构用于可扩展的互联 ZK rollups
ZKsync 弹性链
弹性链架构是 ZK Stack 创建互联 ZK rollups 可扩展网络的方法。它由三个主要组件构成:
- ZK 路由器:在 Ethereum 上的智能合约,管理整体网络状态和共享流动性。
- ZK 网关:中间件,促进 ZK 链之间的互操作性并优化与 Ethereum 的互动。
- ZK 链:可自定义的、独立运行的 rollups,通过 ZK 网关和 Ethereum 合约相互链接。
该架构旨在防止流动性碎片化,并允许在多个 ZK rollups 之间实现无缝扩展,同时利用零知识证明的安全性和效率。
架构:
- 共识层 / 交易排序:不同选项(中心化排序者、去中心化排序者、优先队列或外部协议)
- 数据可用性:将数据发布到 Ethereum (带 其他选项)
- 执行层:zkEVM 环境
- 结算层:Ethereum 主网
ZK Stack 自定义 - 来源
Arbitrum Orbit
**Arbitrum Orbit**由 Offchain Labs 开发,是一个用于创建可自定义的 Layer 2 (L2) 和 Layer 3 (L3) 链的框架,建立在 Arbitrum 的 Layer 2 技术之上。
关键特性:
- 基于 Arbitrum 的乐观 rollup 技术
- 可自定义模型(AnyTrust 或 Rollup)
- 灵活的数据可用性选项
- 支持自定义的本地 gas 代币
- Stylus,允许开发者使用 Rust、C、C++ 等流行编程语言编写智能合约。
Arbitrum Orbit - Stylus ( 图像来源)
架构:
- 共识层 / 交易排序:可定制(单个排序者或去中心化)
- 数据可用性:将数据发布到 Ethereum 或使用 Arbitrum 的 AnyTrust 协议
- 执行层:Arbitrum Nitro,实现 EVM 兼容性,以及 Stylus 支持的基于 WASM 的编程语言。
- 结算层:Arbitrum (Layer 2) 或 Ethereum (Layer 1)
Polygon CDK
**Polygon 链开发工具包 (CDK)**是一个用于构建和启动基于 ZK 的 L2 链或应用链的模块化框架。
关键特性:
- 支持 ZK rollup 模型
- 可自定义的数据可用性解决方案
- 支持本地 gas 代币
- AggLayer 用于 CDK 构建链之间的互操作性
AggLayer
AggLayer 是 Polygon 正在开发的互操作协议,旨在实现使用 Polygon CDK 构建的链之间的无缝通信。它促进了不同链之间的无信任代币转移和消息传递。尽管最初聚焦于 CDK 构建的链,AggLayer 旨在最终支持广泛的区块链架构,包括 L2、应用链和非 EVM 链。
架构:
- 共识层 / 交易排序:灵活(单个排序者或去中心化)
- 数据可用性:可定制(链上、链外或混合)
- 执行层:zkEVM 环境
- 结算层:Ethereum 主网或其他支持的网络
Polygon CDK 自定义 - 来源
Rollup 框架的比较
| 特性 | OP Stack | ZK Stack | Arbitrum Orbit | Polygon CDK |
|---|---|---|---|---|
| Rollup 类型 | 乐观 | ZK | 乐观 | ZK |
| EVM 兼容性 | EVM 等效 | 高 (zkEVM) | EVM 等效 | EVM 等效 |
| 证明系统 | 故障证明 | ZK 证明 | 故障证明 | ZK 证明 |
| 互操作性 | 超链 | 弹性链架构 | Arbitrum Orbit | AggLayer |
| 数据可用性 | Ethereum,各种 DA 层 | Ethereum,各种 DA 选项 | Ethereum,数据可用性委员会 (DAC),Celestia,Avail | Ethereum,数据可用性委员会 (DAC) |
| 虚拟机 | EVM | zkEVM | EVM + WASM (Stylus) | Polygon zkEVM |
| 最终性 | ~7 天 | 分钟/小时 | ~7 天 | 分钟/小时 |
| 交易排序 | 单个排序者,多个排序者 | 中心化排序者,去中心化排序者,优先队列,外部协议 | 中心化排序者,去中心化排序者 | 中心化排序者,去中心化排序者 |
| Rollup 成熟阶段 [见下方说明] | 阶段 0 | 阶段 0 | 阶段 1 | 阶段 0 |
| 自定义 gas 代币 | 支持 | 支持 | 支持 | 支持 |
| 计算需求 | 中等 | 高 | 中等 | 高 |
| 编程语言支持 | Solidity | Solidity,Vyper | Solidity,Rust,C,C++ 等 | Solidity,Vyper |
| TPS(每秒交易数) [见下方说明] | 140 TPS | 180 TPS | 未知 | 5 TPS |
| 网络层灵活性 | 支持 L2 和 L3 | 支持 L2 和 L3 | 支持 L2 和 L3 | 支持 L2 |
Rollup 成熟阶段说明
这些成熟阶段来自 L2Beat,它们反映了基于这些框架构建的特定链(例如 ZKsync Era,Arbitrum One),并可能不适用于基于框架本身创建的每个 rollup。去中心化和成熟程度的水平可能会因 rollup 的定制和实施而显著不同。
有关更多详细信息,请查看 此处
TPS 说明:AMM TPS 测试
TPS 数据来自 AMM 测试,通过在 Uniswap V2 风格的 AMM 池中进行代币交换交易来测量吞吐量。
需要注意的是,这些结果特定于 ZKsync、OP Mainnet 和 Polygon zkEVM,rollup 框架的最大 TPS 可能会因不同配置、网络条件和优化而异。
此外,该测试不包括 Arbitrum Orbit。
有关更多详细信息,请查看完整研究 此处。
为你的 Rollup 选择合适的框架
选择合适的 rollup 框架取决于你项目需求的多种因素。以下是一些帮助你的决策考虑事项:
兼容性要求:
- 如果完全的 EVM 兼容性至关重要,则 OP Stack 或 Arbitrum Orbit 可能更为适宜。
- 对于愿意适应轻微差异的项目,ZK Stack 提供高 EVM 兼容性的 zkEVM。
性能和可扩展性需求:
- 对于最高的理论吞吐量,基于 ZK 的解决方案(ZK Stack 或 Polygon CDK)可能更具优势。
- 如果低延迟的最终性至关重要,ZK 解决方案提供更快的结算时间。
安全模型偏好:
- 优先考虑简单性和更容易的欺诈证明验证的项目可能更喜欢乐观 rollups(OP Stack 或 Arbitrum Orbit)。
- 对于增强隐私和更快最终性,基于 ZK 的解决方案更具优势。
开发者体验和现有技能:
- 拥有强大 Ethereum 开发经验的团队可能会发现 OP Stack 或 Arbitrum Orbit 更易于接受。
- 愿意投资学习新概念的项目可能会受益于 ZK Stack 的高级功能或 Polygon CDK 的灵活性。
生态系统和社区支持:
- 考虑每个框架开发者社区的规模和活动程度。
- 评估补助金、教育资源和第三方工具的可用性。
未来-proofing 和互操作性:
- 考虑每个框架的路线图和未来升级的计划。
- 评估每种解决方案如何处理跨链互操作性。
监管合规性:
- 如果你的项目有特定的监管要求,请考虑每个框架的数据可用性和去中心化方法如何与这些需求相一致。
QuickNode Rollup 作为服务
想要简化你的 rollup 部署吗?探索我们的 Rollup as a Service,以通过托管解决方案加速你的项目。
结论
Rollup 生态系统正在快速发展,每个框架都提供独特的优点和权衡。
如果你不确定哪个框架最适合你的需求,或者如果你需要实施所选解决方案的帮助,请不要犹豫,随时 联系 QuickNode 获取专家指导。我们的专家可以提供根据你的具体要求定制的建议,并帮助你利用我们的 Rollup-as-a-Service 解决方案来简化部署过程。
我们 ❤️ 反馈!
让我们知道 如果你有任何反馈或请求新主题。我们非常期待你的来信。