两者都不是独立侧链
它们在 L2 执行,却把数据、状态承诺和结算规则锚定到以太坊;安全来源是这整套关系,不是“Layer 2”三个字。
以太坊系统课 · 第十七章 · 第二课
Optimistic Rollup 和 ZK Rollup 都把大量计算搬到链下。真正的分界不是“谁更快”, 而是以太坊用什么规则拒绝一个错误结果。
同一目标,两种“把错误挡在结算之外”的协议。
它们在 L2 执行,却把数据、状态承诺和结算规则锚定到以太坊;安全来源是这整套关系,不是“Layer 2”三个字。
Optimistic 依赖可挑战断言与至少一个诚实观察者;ZK 依赖有效性证明、证明系统与链上验证器。
排序器、数据可用性、升级密钥、桥、证明者和强制退出路径,常比“OP 还是 ZK”更直接地决定用户风险。
Orientation
链下执行并不等于把账本交给一家公司;关键在于,链下结果能否被以太坊上的规则独立检查和强制执行。
想象一座繁忙的法庭。如果每一张发票、每一次加减法都要全体法官重算,法庭会非常慢。 Rollup 的办法是:在法庭外批量算账,把必要数据和一个结果摘要交回法庭,再让法庭用一套明确规则判断结果是否可以结案。
以太坊主网是这里的“最终法院”。它不必重做每一笔 L2 交易,却必须能够回答三个问题: 数据是否可获得?状态变化是否符合规则?用户在运营者失灵时是否仍有路径取回资产或提交交易?
Rollup 是把执行和大部分状态存储移到以太坊之外、把批次数据或状态差异以及状态承诺发布到以太坊, 并由以太坊合约裁定 L2 状态是否可以结算的一类扩容协议。它与把安全完全交给另一组验证者的普通侧链不同。 [1]
一个具体 L2 仍可能由单一排序器快速出块,证明者可能集中,升级权限可能掌握在多签手里,官方桥也可能有暂停开关。 更准确的说法是:协议希望把“运营者必须诚实”缩小为“只要关键假设成立,运营者就不能把无效状态结算到 L1”。
Optimistic path
Optimistic Rollup 不在每个批次提交时证明全部计算正确;它把新状态视为一项可挑战的断言。
“乐观”不是相信排序器品德高尚,而是一个协议流程:正常情况下不触发昂贵裁决;只有观察者发现结果不一致时,才把争议缩小并交给 L1 判定。
批次数据和状态承诺发布到以太坊后,独立节点可以从旧状态重放交易。如果自己算出的新状态根与提议根不同, 就在挑战期内发起争议。若挑战成功,无效断言不会成为可用于安全提款的已结算状态,相关保证金和后续状态会按协议处理。 [2]
排序器给出快速回执
数据与状态承诺到 L1
观察者重放并核对
把争议缩到可验证一步
无有效挑战或争议已解决
一个常见误解是:“乐观 Rollup 默认不验证交易。”更准确地说,L2 节点仍会执行并检查交易; L1 合约在无争议时不重演整个批次。安全依赖数据可用,以及至少有一个能够发现并及时挑战错误断言的诚实参与者。
协议不要求多数观察者诚实,却要求至少一个诚实方能获得数据、重放状态、筹集挑战所需资源并在时限内上线响应。 因此,无许可挑战、监控基础设施、保证金设计和安全委员会权限都是实际安全模型的一部分。
Interactive lab 01
切换证明路线,观察以太坊合约在接受状态时主动执行的检查,以及仍依赖哪些外部参与者。
合约记录状态断言并启动可争议窗口;若有人挑战,争议协议才把错误执行交给 L1 裁决。
合约运行固定验证算法;证明不能通过,新状态就不会被接受为已验证状态。
Fault proof
交互式欺诈证明不会把整个 L2 区块原样塞回以太坊;它通过二分争议逐轮锁定第一处不一致。
假设提议者声称执行轨迹从状态 S₀ 走到 Sₙ,挑战者认为中间某一步错了。
双方先对整段轨迹的中点状态作承诺。若前半段一致,争议一定在后半段;若中点已不同,争议在前半段。
重复这个过程,最终只剩一个 VM 指令或一个极小步骤,让以太坊上的验证合约直接判定。
Arbitrum Nitro 等系统用交互式二分和单步证明实现这一思路。[8]
L1 必须给观察者足够时间取得批次数据、重放、发现错误并提交挑战。因此从 L2 到 L1 的规范提款通常要等状态越过挑战窗口。 OP Mainnet 的规范提款目前采用 7 天窗口;这只是一个具体配置,而不是“Optimistic 数学上必然等 7 天”。 [7]
流动性提供者可以先在 L1 垫付资产,再等待规范桥最终结算,这就是常说的“快速桥”。它改善体验,却把一部分风险从 Rollup 协议换成了桥合约、做市商、流动性和跨域消息风险。
文献常用 fraud proof,不少团队更偏好 fault proof:被纠正的可能是软件错误或错误断言,不一定有主观诈骗意图。本课把两者视为同一类“错误证明/争议证明”机制。
Validity path
ZK Rollup 为批次生成简洁的有效性证明;以太坊合约验证通过后,才接受新的已验证状态。
把一百万步计算想象成一场极长考试。证明者不把整张草稿纸交给 L1 重算,而是生成一份短得多的密码学证明: “存在一条满足全部规则的执行轨迹,确实把旧状态根变成了这个新状态根。”
排序器执行交易并产生执行轨迹;证明系统把 VM 规则、签名检查、余额约束、存储读写等转换成数学约束; 证明者提交证明;L1 验证器只运行远小于原始计算的验证工作。证明通过,合约接受新根;证明失败,交易回滚,新根不生效。 [3]
零知识证明可以在不公开某些见证数据的情况下证明命题,但多数通用 ZK Rollup 的核心目标是 简洁地证明计算有效,同时仍把足够数据发布到 L1 以便重建状态。因此,地址、金额或调用数据是否隐私, 取决于协议是否专门设计了隐私语义,而不是名称里出现 “ZK”。
有效性证明能证明“程序按约束正确运行”,不能证明预言机喂入的现实价格一定真实,也不能证明合约业务逻辑没有漏洞。 正确执行一段错误设计的代码,仍然会得到错误业务结果。
Proof anatomy
理解公开输入、见证、约束和验证器,就能避开“一个短证明凭空代表所有正确性”的神秘感。
证明系统需要把“EVM 这一条 opcode 应怎样改变栈、内存、Gas 和状态”表达成有限域上的约束。
证明者必须提供满足全部约束的见证;如果它伪造了 Alice 的余额、跳过签名检查或把 ADD 算错,至少一项约束就无法同时成立。
需要把执行轨迹转换、承诺并进行大量密码学运算;硬件、并行度和证明系统会影响延迟与成本。
L1 不按原始批次规模重算,验证成本可远低于逐笔执行;这正是扩容收益的来源之一。
证明与 L1 提交的固定成本分摊给更多交易时,平均成本通常更低;低负载时优势可能没有想象中明显。
不同证明系统在证明大小、生成速度、验证成本、可信设置、抗量子假设和工程成熟度之间取舍。 递归证明允许“证明一份证明验证正确”,从而把多个区块或多个子证明聚合成更少的 L1 验证工作。 对用户而言,最重要的不是看到某个缩写就判断安全,而是问:谁能生成证明?验证器是否正确?证明延迟多久?系统失灵时能否继续或退出?
有的系统更贴近以太坊字节码和执行语义,有的使用不同 VM 并在编译层兼容 Solidity。兼容越接近,不代表所有预编译、Gas 细节、调试工具和升级节奏都完全相同;应以目标网络当前文档为准。
Data availability
数据可用性决定独立节点能否重建状态、观察者能否挑战,以及用户在运营方失灵时能否证明自己的余额。
一张有效的“总账余额证明”可以说明加总没有错,却不一定把每个人的明细交给你。 对 Rollup 而言,正确性与可恢复性是两个不同问题。
Optimistic Rollup 必须让挑战者获得足以重放的批次数据,否则没有人能构造错误证明。 ZK Rollup 即使能证明新根有效,也仍需要让其他节点重建当前状态、查询账户并在运营方停摆时继续系统。 这就是为什么“有效性证明 + 链外数据”通常被称为 Validium,而不是具有同等数据可用性保证的 Rollup。 [4]
EIP-4844 引入 blob-carrying transaction:blob 数据由共识层保证一段时间内可获得,EVM 只读取其承诺而不直接读取完整内容。 Rollup 需要数据在关键窗口内足够可用,让节点下载、重建和验证;不要求每个 blob 永久占据昂贵的执行层历史。 这带来独立费用市场和更低的数据发布成本。[5]
由错误证明或有效性证明、验证器合约、数据承诺和 L1 共同回答。
排序器、批处理器、证明者、挑战者和强制包含路径是否可用,决定停机与审查韧性。
数据发布格式、保留与归档生态决定独立节点能否从 L1 可用数据恢复 L2。
Blob 会被协议节点在规定时间后裁剪,不表示期间可以不下载。关键参与者必须在可用窗口内取走并保存所需数据; 历史长期检索由 Rollup 节点、索引器和归档服务继续承担。
Finality & exits
一笔 L2 交易至少有软确认、L1 数据锚定、状态正确性结算和 Ethereum 共识最终性四只时钟;跨层提款又是一条单独流程。
用户提交交易后,排序器可以很快返回收据,这适合日常交互,却仍可能受排序器重组或批次未发布影响。 批次进入 L1 后,数据与承诺获得更强锚定。最后,Optimistic 状态要越过挑战机制,ZK 状态要等有效性证明被 L1 接受, 才达到各自协议定义下的结算状态。
Interactive lab 02
切换四种情景。时间只表达相对顺序,不代表任何网络的实时承诺。
在 L2 销毁或锁定资产
提款消息进入 L1 可见批次
等待潜在错误被反驳
断言成为可用结算状态
规范桥把资产发给接收者
规范桥按照 Rollup 自己的 L1 合约和消息规则铸造、锁定或释放资产,安全性与 Rollup 结算直接相连。 第三方流动性桥让另一方先给你 L1 资产,再承担等待和再平衡;用户因此引入桥合约、流动性提供者与路由风险。 “到账更快”并不让底层 Rollup 更早完成协议结算。
Comparison
两条路线都在快速演化:Optimistic 可以加入 ZK 证明,ZK 系统也有中心化排序器与升级控制。比较应落到具体机制。
| 比较轴 | Optimistic Rollup | ZK / Validity Rollup |
|---|---|---|
| L1 接受规则 | 先记录可挑战断言;无有效挑战或争议裁决后结算。 | 验证有效性证明通过后,接受新状态为已验证状态。 |
| 关键诚实假设 | 至少一个有能力、在线且可行动的诚实挑战者。 | 证明系统、约束实现和 L1 验证器正确;证明可持续生成。 |
| 常态 L1 计算 | 记录数据与承诺;通常不重放批次,争议时才执行裁决。 | 每个待结算批次执行简洁证明验证,而非重做原始执行。 |
| 规范 L2 → L1 提款 | 通常受挑战窗口影响,等待较长。 | 不需要欺诈挑战期;仍要等证明生成、发布和 L1 确认。 |
| 运行角色 | 排序 / 批处理 / 提议 + 监控 / 挑战基础设施。 | 排序 / 批处理 + 证明者 / 聚合者 + L1 验证器。 |
| 成本敏感项 | L1 数据、批次提交、监控与极少发生的争议成本。 | L1 数据、证明生成、证明验证与批次利用率。 |
| EVM 迁移 | 成熟实现通常高度兼容 EVM 工具与字节码。 | 兼容性进展很快,但 VM、编译器、opcode 和调试差异需逐网核对。 |
| 典型失败模式 | 挑战者失灵、争议实现漏洞、挑战期活性攻击。 | 电路 / 证明系统 / 验证器漏洞、证明者停机或证明延迟。 |
| 共同风险 | 中心化排序与审查、批次停发、升级密钥、桥漏洞、数据发布、治理与应用合约风险。 | |
部署字节码、预编译、Gas 语义、调试工具、索引服务和桥资产都应实测;标签不能替代测试网验证。
有效性证明通常避免长期欺诈挑战窗口,但证明批次频率与 L1 确认仍决定实际提款时间。
即使证明机制完美,可快速升级的合约、托管桥或安全委员会也可能成为更近的控制点。
比较一个具体 L2 时,按顺序问:数据放哪里 → 状态怎样被认可 → 谁负责排序、证明或挑战 → 谁能升级或暂停 → 用户怎样强制交易或退出 → 目前处于什么安全阶段。 最后才比较费用、生态和体验。
Security boundary
从用户操作到 Ethereum 共识,中间至少有六层控制面;“数学证明”只是其中一层。
错。有效性证明可以只服务计算正确性;交易数据是否隐藏取决于额外的隐私设计。
错。节点仍执行验证;L1 把逐批证明换成可挑战断言,并在争议时裁决。
错。没有可用数据,其他节点难以重建状态、继续出块或支持用户退出。
不一定。它能审查或延迟,但无效状态能否结算取决于验证协议和升级权限。
错。仍要等批次、证明生成、L1 验证和消息处理;只是通常没有长期欺诈挑战窗口。
过度简化。数据模式、证明成熟度、升级密钥和逃生路径会改变继承到什么程度。
Recap
以后看到任何 L2,不先背项目名;先沿着数据、执行、验证和退出画一遍。
Optimistic Rollup 的核心句是:“这个状态先作为断言存在;任何人可在窗口内用错误证明推翻它。”
ZK Rollup 的核心句是:“这个状态只有在有效性证明通过 L1 验证后,才成为已验证状态。”
1. 排序器把新状态根提交到 L1,是否已经证明所有交易正确?
答案 B:状态根锁定结果,不说明结果怎样得出。
2. Optimistic Rollup 最关键的额外活跃假设是什么?
答案 C:错误必须有人在协议时限内发现并挑战。
3. 名称含 “ZK” 能否直接证明用户交易具有隐私?
答案 A:“零知识”证明技术不等于整条链默认隐私。
4. 有效性证明在 Ethereum、交易数据在链外,最接近哪种描述?
答案 B:证明位置与数据位置是两条不同轴。
5. 快速桥让 Optimistic 提款几分钟到账,说明了什么?
答案 C:快的是流动性路径,不是规范结算规则。
6. 判断一个具体 L2 安全性,最完整的做法是什么?
答案 A:安全是一条依赖链,不是单一证明标签。
Glossary & sources
本课刻意避免把快速变化的吞吐量、费用和“阶段”写成永久事实。实现细节请回到目标网络当前官方文档核对。
以太坊扩容路线、Rollup、侧链、Validium 与数据可用性概览。
批次、状态承诺、挑战、错误证明、数据可用性与 L1/L2 交互。
有效性证明、公开输入、状态更新、费用与退出流程。
为何 Rollup 仍需要数据、Optimistic 与 ZK 路线的 DA 关系。
Blob 交易格式、KZG 承诺、共识层可用性与 Rollup 使用方式。
OP Stack 争议游戏、安全防护、Guardian 与系统所有者权限。
排序器确认、L1 最终性、错误争议与规范提款等待。
断言链、交互式二分、挑战时钟与单步证明设计。
提交、排序、执行、证明生成和 L1 验证的完整生命周期。
ZK Rollup 架构、证明、数据可用性与协议组件。
把 EVM 视为状态转换函数,并证明 S、T 与 S′ 的关系。
结算层、排序层、证明层与协调器的职责拆分。
资料核对日期:2026-07-26。协议参数、权限结构、证明状态与桥接时间会变化,实际使用前请再次查看目标网络官方文档与链上合约。
Lesson complete · 17.02
真正的问题是:数据能否获得,错误能否被阻止,状态何时结算,用户能否在运营者失灵时依靠以太坊上的规则行动。 一旦抓住这四点,Optimistic 与 ZK 就不再是两组营销缩写,而是两套可以逐层验证的工程选择。