Layer2 —— OP Stack 介绍

OP Stack 是由 Optimism 团队开发的模块化区块链技术栈,让开发者能够像”搭积木”一样构建自己的 Layer2 网络。可以将 OP Stack 想象成一个”区块链建设套件”,里面包含了构建高性能区块链所需的所有核心组件。

1. 核心要点

  • Optimistic Rollup 技术:采用”乐观验证”机制——默认信任交易是正确的,只在出现争议时才进行验证
  • 完全 EVM 兼容:现有的以太坊智能合约可以无需修改直接部署
  • 安全性继承:通过将数据发布到以太坊主网,继承了以太坊 L1 的安全性
  • 模块化设计:各个组件职责明确,可以独立升级和替换
  • 六大核心组件:op-geth(执行引擎)、op-node(共识层)、op-batcher(批处理器)、op-proposer(状态提议器)、op-challenger(争议挑战器)和 L1 合约系统

性能提升对比:

指标 以太坊 L1 OP Stack L2 提升倍数
TPS 15-30 150-2000 10-100x
出块时间 12 秒 2 秒 6x 加速
交易费用 5-50 USD 0.01-0.5 USD 降低 90%+

2. 为什么需要 OP Stack?

2.1 Rollup 解决方案

OP Stack 采用 Rollup 技术——将计算和状态存储移到链下(Layer2),只把交易数据和最终状态发布到链上(Layer1)。

工作原理类比: 想象你在玩一个复杂的棋局:

  • 传统方式:每走一步都要裁判(以太坊主网)记录并验证
  • Rollup 方式:你们自己下完整局(L2 执行),最后只把完整棋谱交给裁判存档(L1 数据发布)

这样做的好处:减轻主网计算负担、降低交易成本、保持安全性。

2.2 Optimistic 的”乐观”哲学

OP Stack 采用 Optimistic Rollup,核心理念是”乐观假设”:

  • 默认信任:假设所有提交的状态都是正确的
  • 挑战期机制:给予 7 天时间让任何人挑战错误状态
  • 欺诈证明:只有在出现争议时才进行链上验证

这就像是”先上车后补票”——大部分情况下大家都诚实,只有少数情况需要核查。

3. OP Stack 整体架构

OP Stack 采用分层架构,每一层都有明确的职责:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
┌─────────────────────────────────────────────────────┐
│ L1 (以太坊主网) │
│ ┌──────────────┐ ┌──────────────────────┐ │
│ │ L1 桥接合约 │ │ 争议解决合约 │ │
│ └──────────────┘ └──────────────────────┘ │
└─────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────┐
│ L2 执行与共识层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ op-geth │◄─│ op-node │◄─│ op-batcher │ │
│ └──────────┘ └──────────┘ └──────────────┘ │
│ ↓ ↓ │
│ ┌──────────────┐ ┌─────────────────┐ │
│ │ op-proposer │ │ op-challenger │ │
│ └──────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────┘

关键设计原则:

  • 数据可用性:所有交易数据都发布到 L1,确保任何人都能重建 L2 状态
  • 模块化解耦:每个组件可以独立升级
  • 最小信任假设:只需假设”至少有一个诚实的验证者存在”

4. 核心组件详解

4.1 op-geth:执行引擎

角色定位: L2 的”大脑”,负责执行交易和维护状态

op-geth 是基于以太坊官方 go-ethereum 客户端的定制版本,保持了 100% 的 EVM 兼容性。

核心功能:

  1. 交易执行:接收用户交易,在 EVM 中执行智能合约代码,计算新状态
  2. 状态管理:维护完整的账户和合约状态树,使用 Archive 模式保存所有历史状态
  3. 与 op-node 协作:通过 Engine API 接收区块生产指令,执行交易并返回结果

关键特性:

Gas 计费改进

1
总费用 = L2 执行费 + L1 数据费
  • L2 执行费:合约计算消耗(类似以太坊)
  • L1 数据费:将交易数据发布到 L1 的成本(主要开销)

区块生产方式

  • 不同于以太坊的 PoW/PoS,op-geth 由 Sequencer 主导区块生产
  • 支持固定的出块时间(如每 2 秒一个区块)

4.2 op-node:Rollup 共识协调者

角色定位: L2 的”协调员”,连接 L1 和 L2,负责共识逻辑

如果说 op-geth 是执行者,那么 op-node 就是指挥官。

核心职责:

1. 区块派生(Block Derivation)

这是 op-node 最核心的功能。它从 L1 上读取 Batcher 提交的交易批次,然后”派生”出 L2 区块。

1
2
L1 区块 → 扫描 Batcher 交易 → 提取批次数据 → 解压缩
→ 解析交易列表 → 构建 L2 区块 → 发送给 op-geth 执行

为什么需要派生? 因为 L2 区块的权威来源是 L1 上的数据,而不是 Sequencer 的声明。即使 Sequencer 作恶或下线,任何人都可以通过 L1 数据重建完整的 L2 链。

2. Sequencer 模式 vs Verifier 模式

  • Sequencer 模式:作为主节点运行,接收交易、排序、生产区块
  • Verifier 模式:作为从节点运行,完全依赖 L1 数据进行区块派生和验证

3. 三种区块状态

op-node 维护着区块的三种不同状态:

状态 含义 确认时间 安全保障
Unsafe 刚由 Sequencer 生产 2 秒 可能被重组
Safe 已提交到 L1 并确认 1-2 分钟 数据可用性保证
Finalized 状态根已确认且过挑战期 7 天 可用于 L1 提款

4.3 op-batcher:批量打包器

角色定位: L2 到 L1 的”快递员”,负责将交易数据运送到主网

Batcher 是整个系统中持续运营成本最高的组件——它需要不断向 L1 发送交易。

工作机制:

1
2
L2 交易 → op-geth 执行 → op-node 区块 → op-batcher 收集
→ 压缩打包 → 提交到 L1 → 验证者读取 → 重建 L2 状态

核心功能:

1. 交易收集与压缩

  • 定期(如每 1 秒)从 op-node 拉取最新的 Unsafe 区块
  • 使用 zlib/brotli 压缩数据(压缩率 5-10x)
  • 按照 Channel(通道)的概念组织数据

2. 批次提交方式

有两种提交方式:

方式 特点 成本 适用场景
Calldata 永久存储 高(每字节 16 gas) 需要长期数据可用性
Blob (EIP-4844) 保留 30 天 低(降低 90%) 标准运营(推荐)

3. 费用优化

  • 监控 L1 Gas 价格波动,在低价时段批量提交
  • 支持交易失败后自动重发
  • 避免 nonce 冲突导致的交易卡顿

4.4 op-proposer:状态提议器

角色定位: L2 到 L1 的”公证员”,定期提交状态根声明

Proposer 向以太坊主网”宣告”L2 的当前状态,这些声明在经过挑战期后成为最终确定的状态。

核心功能:

1. 状态根提交

什么是状态根?

  • 状态根是整个 L2 状态的”指纹”(Merkle Root)
  • 它唯一确定了某个区块高度时所有账户和合约的状态

工作流程:

1
2
3
4
5
6
1. 从 op-node 获取 Safe 区块的状态根
2. 调用 L1 的 DisputeGameFactory 合约创建提议
3. 质押 Bond(如 0.08 ETH)作为诚实保证金
4. 提议进入 7 天挑战期
5. 无人挑战 → 提议被接受 → 取回 Bond
6. 挑战成功 → 提议被拒绝 → Bond 被罚没

2. 提议间隔控制

Proposer 不会每个区块都提交状态根(成本太高),而是每隔固定时间提交一次(如 15 分钟),平衡安全性和成本。

3. 最终性推进

只有经过挑战期的状态根才能用于:

  • 用户从 L2 提款到 L1
  • 跨链消息的最终确认
  • 资产桥的安全释放

经济模型:

  • Bond 质押:每次提议需质押 0.08 ETH(可配置)
  • L1 Gas 费:提交提议的交易费用
  • 诚实提议:7 天后取回 Bond(零成本)
  • 错误提议:失去全部 Bond(被 Challenger 夺取)

4.5 op-challenger:争议挑战器

角色定位: 系统的”安全卫士”,监督并挑战错误的状态提议

Challenger 是 OP Stack 安全模型的核心——它实现了”只需一个诚实节点”的信任假设。

核心职责:

1. 持续监控

  • 7x24 小时监听 L1 上所有新创建的争议游戏
  • 从 op-node 获取本地计算的正确状态根
  • 对比链上提议与本地状态,检测差异

2. 发起挑战

当检测到错误提议时:

1
2
3
4
1. 质押 Bond 创建挑战
2. 参与多轮交互式欺诈证明游戏
3. 最终提交单步证明证明 Proposer 错误
4. 胜利后夺取 Proposer 的 Bond

3. Fault Proof Game(欺诈证明游戏)

这是 OP Stack V2 的核心创新机制:

游戏流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
第 1 轮:二分查找开始
Challenger 质疑:区块 1000-1100 中某处有错误
→ 要求 Proposer 证明区块 1050 的状态

第 2-N 轮:持续二分
→ 缩小范围:100 个区块 → 50 → 25 → ... → 1 个区块
→ 继续缩小:1 个区块 → 单个交易 → 单个 EVM 指令

最后一轮:单步证明
→ 定位到单个 MIPS 指令
→ Challenger 在 L1 上实际执行这条指令
→ 证明 Proposer 声称的输出错误
→ Challenger 胜利,夺取 Bond

CANNON 证明系统:

  • 将 op-geth 和 op-node 编译为 MIPS 指令集
  • 创建 MIPS 虚拟机的链上实现
  • 在争议时,在 L1 上执行单个 MIPS 指令进行验证

为什么这套机制有效?

经济激励:

  • 挑战成功 → 获得 Proposer 的 Bond
  • 挑战失败 → 失去自己的 Bond
  • 诚实参与是最优策略

1-of-N 诚实假设:

  • 只需一个诚实 Challenger 存在即可保证安全
  • 任何人都可以无需许可地运行 Challenger

谁应该运行 Challenger?

  • 桥接服务提供商:保护管理的资金
  • 大户投资者:保护大额 L2 资产
  • 生态贡献者:为公共利益提供监督

5. 总结

  • OP Stack 是一个完整的 L2 建设工具包:包含执行、共识、数据发布、争议解决等所有模块
  • 采用 Optimistic Rollup 技术:通过”乐观假设”实现高性能,7 天挑战期保证安全
  • 1-of-N 安全假设:只需一个诚实 Challenger 即可保护全网
  • 性能提升显著:相比以太坊 L1,TPS 提升 10-100 倍,成本降低 90%+
  • 完全 EVM 兼容:现有 DApp 可无缝迁移

Hooray!OP Stack 介绍完成!!!