レッスン3 — Fraud proof vs validity (ZK) proof
問い
Optimism から withdraw する → 7 日待つ。zkSync から withdraw する → 約 1 時間待つ。どちらも Ethereum に投稿する EVM rollup。この 170 倍の差は技術的ではなく、proof パラダイムの選択 — 何が違うのか?
原理(最小モデル)
- 3 つの state root commitment 検証選択肢. 常に信頼(validium)/ 信頼するがチャレンジ可能(fraud proof)/ 正確性 proof 必須(validity proof)。
- Fraud proof(optimistic). Window 中(OP Stack 7 日)誰でも fraud proof 提出可、有効なら state root 拒否 + chain reorg。Window 過ぎたら最終確定。
- Validity proof(ZK). Sequencer + prover が ZK proof 生成(~分-時間)+ L1 verifier が proof 検証(~100k gas)→ 即時最終確定。
- コスト trade. Optimistic = batch コスト安($1-5)+ withdrawal 7 日 / ZK = batch コスト高($50-500 proof 検証)+ withdrawal 数時間。
- OP Stack Cannon の bisection. 全 L2 を再実行(不可能)ではなく、disputed な 1 MIPS 命令を二分探索で絞り込む + L1 contract が 1 命令だけ再実行 + 正誤判定。
- SP1 + Reth. revm 実行を SP1 zkVM の guest program でラップ → revm の state 変更を proof → on-chain 検証。同じ revm コードが実行と proving 両方で走る。
- 2025-2026 トレンド. SP1 / RISC Zero / Polyhedra が Ethereum block proof $1-10 に到達 → ZK rollup が汎用決済で競合可能。
具体例
Fraud proof フロー:
sequenceDiagram
participant Seq as Sequencer
participant L1 as L1 Output Oracle
participant Challenger
participant Verifier as Fraud Proof Verifier
Seq->>L1: State root S 提出 (claim)
Note over L1: 7 日チャレンジ window 開
Challenger->>Challenger: S が間違いと検知
Challenger->>Verifier: Fraud proof 提出
Verifier->>Verifier: Disputed step を再実行
Verifier->>L1: S は invalid
L1->>L1: State root 拒否、chain reorg
Validity (ZK) proof フロー:
sequenceDiagram
participant Seq as Sequencer
participant Prover
participant L1 as L1 Verifier
participant User
Seq->>Seq: L2 ブロック構築
Seq->>Prover: 実行 trace 送信
Prover->>Prover: ZK proof 生成 (~分/時間)
Prover->>L1: Proof + 新 state root 提出
L1->>L1: Proof 検証 (~ms on-chain)
L1->>L1: State root 即時最終
User->>L1: 待たずに withdrawal 可能
コスト比較:
| 性質 | Optimistic | ZK |
|---|---|---|
| Batch あたり L1 コスト | $1-5(data + state root) | $50-500(proof 検証) |
| Withdrawal の遅延 | 7 日 | 数時間(proving 時間) |
| L2 コスト | Ethereum 同程度 | Ethereum 同程度 |
| Proof 生成 | 無料(チャレンジ時のみ) | 常時、batch あたり $1-100 |
| 代表的実装 | OP Stack、Arbitrum | Polygon zkEVM、zkSync、Scroll |
OP Stack Cannon 流れ:
- Challenger が「step X が間違っている」と主張
- Bisection ゲーム: 両当事者が単一 MIPS 命令まで二分探索で絞り込む
- L1 contract がその 1 命令 を実行
- 命令の正誤を正しく主張した側が勝つ
ethereum-optimism/optimism/cannon が codebase。1 命令まで絞り込むパターンが fraud proof を実現可能にする — これがなければ L1 に何年分もの L2 履歴を再実行させる羽目になる。
SP1 + Reth 流れ(succinctlabs/sp1):
- Reth が L2 ブロックを実行(通常の実行)
- SP1 guest program が revm 実行をラップ
- SP1 が「revm の主張する state 変更を確かに生成した」proof を出す
- Proof を on-chain 提出
Tempo 分散化パス予測:
- 今日: 中央集権 sequencer、fraud / validity proof なし(Paradigm を信頼)
- Phase 2: optimistic fraud proof 追加(誰でもチャレンジ可能)
- Phase 3: ZK proof(即時 finality)
- Phase 4: 分散化 sequencer + ZK proof
失敗例(誤解)
「ZK rollup は optimistic rollup より優れている」— フレーミング間違い。違うトレードオフを選んでいる。Optimistic = batch 安 + 7 日待ち / ZK = batch 高 + 即時。高頻度 batch では ZK 高、低頻度では optimistic 安いが finalize 遅。目的次第。
「Fraud proof は L2 全体を L1 で再実行」— 不可能。Cannon は bisection で disputed 1 MIPS 命令まで絞り込む → L1 で 1 命令だけ実行。この設計が fraud proof を 実現可能 にする(コスト現実的)。
「2025 年でも ZK proving は実用不可」— 間違い。SP1 / RISC Zero / Polyhedra が Ethereum block proof $1-10 に到達 → 汎用決済領域でも viable。コストは急速に下落中。
🛑 予測。 Optimism の withdrawal 7 日、zkSync の withdrawal ~1 時間 — 170 倍差を生む構造的理由は?(答え: proof パラダイム選択。Optimistic = fraud proof のチャレンジ window(誰でも 7 日以内に「sequencer が嘘」と証明可能)→ window 過ぎないと L1 が「最終」と判定できない → 7 日固定。ZK = proof が即時に正しさを暗号的に証明 → L1 が proof 検証(~ms)→ withdrawal 即時可能。proving 時間は ~時間。技術ではなくパラダイム選択、選んだ瞬間に下流 UX 全部が決まる。)
ステップで組み立てる
Step 1: 3 検証選択肢を即答
常に信頼 / fraud proof / validity proof。
Step 2: Fraud proof 5 ステップ
State root 提出 → window 開 → 誰でも fraud proof 提出 → 有効なら拒否 + reorg → window 過ぎたら最終。
Step 3: Validity proof 5 ステップ
Block 構築 → Prover が ZK proof 生成 → L1 提出 → L1 verifier 検証(~100k gas)→ 即時最終。
Step 4: コスト trade を計算可能
Optimistic = $1-5 batch + 7 日 / ZK = $50-500 batch + 数時間。高頻度では ZK 高、低頻度では Optimistic 安いが finalize 遅。
Step 5: Cannon の bisection を理解
二分探索で 1 MIPS 命令まで絞り込む → L1 で 1 命令再実行。これがなければ fraud proof 実現不可能。
Step 6: SP1 + Reth で同 revm 共有
実行(Reth ノード)と proving(SP1 guest)で 同じ revm コード が走る → コード重複なし + 仕様一致保証。
Step 7: Tempo 分散化パスを描ける
中央集権 → optimistic → ZK → 分散化 + ZK。各段は信頼最小化を進める。
答え合わせ
- 170× 差の構造的理由: パラダイム選択 = fraud proof(window 7 日固定)vs validity proof(proof で即時 finality)。技術的に Optimism チームが遅いわけではない、設計選択 + その下流結論。
- Optimistic vs ZK の使い分け: Optimistic 勝つ場面 = L1 コスト低 + ツーリング成熟 + 汎用 EVM 互換取りやすい。ZK 勝つ場面 = 即時 finality(7 日待ち回避)+ クロスチェーン相互運用(他 chain が proof 信頼可能)+ コンプライアンス監査用途。
- Cannon bisection の発明的部分: 単純な「L2 全部 L1 で再実行」が不可能(コスト無限大)→ 二分探索で disputed 1 命令まで絞り込む → L1 で 1 命令だけ実行 = O(log N) コスト。fraud proof を実現可能にする設計、なければ optimistic rollup は理論止まり。
合格基準
- 3 検証選択肢を即答できる。
- Fraud proof / Validity proof の 5 ステップを各々辿れる。
- コスト trade を 4 観点で比較できる。
- Cannon の bisection 仕組みを 1 文で説明できる。
- SP1 + Reth の「同 revm 共有」の意味を言える。
まとめ(3行)
- Fraud proof(optimistic)= window 7 日 + チャレンジで証明 + batch 安、Validity proof(ZK)= 暗号 proof + 即時 + batch 高、170× 差はパラダイム選択。
- Cannon が bisection で disputed 1 MIPS 命令まで絞り込み L1 で再実行 → fraud proof を実現可能、SP1 + Reth は同 revm コードを実行 + proving 両方で共有。
- 2025-2026 トレンドで SP1 / RISC Zero / Polyhedra が Ethereum block proof $1-10 到達 → ZK rollup が汎用決済領域で競合可能。