---
title: L1ブロック検証のためのzkEVM
description: ゼロ知識証明がどのようにイーサリアムのブロック実行を検証し、より高いスループットとバリデータの要件引き下げを可能にするかについて学びます。
lang: ja
template: roadmap
---

zkEVMは、[ゼロ知識証明](/zero-knowledge-proofs/)を使用してイーサリアムのブロック実行を検証する技術です。すべての[バリデータ](/glossary/#validator)にブロック内のすべてのトランザクションを再実行させる代わりに、「プルーバー」と呼ばれる単一の専門アクターがブロックを実行し、その実行が正しかったことを示す暗号証明を生成します。その後、任意のノードがこの証明を検証できます。このプロセスは、すべてのトランザクションを再実行するよりも桁違いに低コストです。

<Alert variant="info">
<AlertEmoji text="💡" />
<AlertContent>
<AlertTitle>zkEVMロールアップとの混同に注意</AlertTitle>
<AlertDescription>
このページでは、イーサリアムのL1ブロック実行を検証するためのzkEVMの使用について説明しています。レイヤー2 (L2) ソリューションとしてイーサリアムをスケーリングするためにZK証明を使用するzkEVMロールアップについては、[ゼロ知識ロールアップ](/developers/docs/scaling/zk-rollups/)を参照してください。
</AlertDescription>
</AlertContent>
</Alert>

## 再実行の問題 {#reexecution-problem}

現在、イーサリアムは「N-of-N」の検証モデルを使用しています。つまり、提案された状態の変更が正しいことを検証するために、すべてのバリデータがすべてのブロック内のすべてのトランザクションを独立して再実行する必要があります。このアプローチは最大限にトラストレスですが、根本的なボトルネックを生み出します。

問題は、イーサリアムのスループットが平均的なバリデータが処理できる量によって制限されていることです。[ガス・リミット](/glossary/#gas-limit)を引き上げれば、ブロックあたりのトランザクション数を増やすことができますが、同時にバリデータのハードウェア要件も高くなります。これは分散化を脅かします。バリデータの実行に高価なハードウェアが必要になれば、ネットワークの保護に参加できる人が減ってしまうからです。

zkEVMは、このトレードオフからの脱却方法を提供します。「全員が再実行する」から「1人が証明し、全員が検証する」へと移行することで、イーサリアムはバリデータのハードウェア要件を引き上げることなく、安全にガス・リミットを増やすことができます。

## zkEVMによるL1検証の仕組み {#how-it-works}

zkEVMの検証は、ブロック検証を「1-of-N」モデルに変換します。

1. **実行**: プルーバーがブロック内のすべてのトランザクションを実行し、すべての状態の変更を追跡します。
2. **証明**: プルーバーは、実行の正確性を証明する暗号証明（[SNARKまたはSTARK](/zero-knowledge-proofs/#types-of-zero-knowledge-proofs)）を生成します。
3. **検証**: バリデータはトランザクションを再実行する代わりに証明を検証します。これは完全な再実行よりも劇的に低コストです。

セキュリティの保証は変わりません。実行が正しくない場合、有効な証明は生成されません。しかし現在では、すべてのノードが高コストな計算を行う代わりに、プルーバーのみがそれを行います。そして、検証はガス・リミットを制限しないほど十分に低コストです。

### タイプ1のzkEVM {#type-1-zkevm}

zkEVMは、イーサリアムとの互換性に基づいていくつかのタイプに分類されます。

- **タイプ1**: イーサリアムと完全に等価。EVMに変更を加えないため、任意のイーサリアムのブロックをそのまま正確に証明できます。
- **タイプ2〜4**: 証明を容易にするためにEVMの動作を変更し、さまざまなトレードオフを行います。

L1の検証には、タイプ1が不可欠です。zkEVMは、エッジケースや過去のブロックを含む、あらゆる有効なイーサリアムのブロックを証明できなければなりません。イーサリアムの正確な動作から少しでも逸脱すると、コンセンサスの問題が発生します。

イーサリアム財団のzkEVM研究は、既存のイーサリアムの実行と完全に互換性のあるタイプ1の実装に焦点を当てています。

## イーサリアムにとっての利点 {#benefits}

### より高いスループット {#higher-throughput}

検証が低コストになれば、ガス・リミットを安全に引き上げることができます。これによりネットワークの容量が拡大し、需要が高い時期のガス代の安定化に役立ちます。現在のガス・リミットは、部分的にバリデータのハードウェアによって制限されていますが、zkEVMはこの制限を取り除きます。

### より強力な分散化 {#stronger-decentralization}

zkEVMの検証により、バリデータはトランザクションを実行するのではなく、証明を検証するだけで済みます。これにより、バリデータを実行するためのハードウェア要件が劇的に下がり、より多くの人がネットワークの保護に参加できるようになります。バリデータの多様性が高まることで、イーサリアムの検閲耐性と回復力が強化されます。

証明自体には、現在のバリデータのハードウェアよりも大きな計算リソースが必要になることに注意してください。しかし、検証とは異なり、証明は同じように分散化される必要はありません。ブロックごとに1つの正しい証明があれば十分であり、誰でもそれを迅速に検証できるからです。プルーバー市場、証明の集約、ハードウェア・アクセラレーションに関する研究は、証明が少数の大規模なオペレーターに集中するのではなく、競争力がありアクセスしやすい状態を維持することを目的としています。

### 予測可能なファイナリティ {#predictable-finality}

証明の検証は、ブロックの複雑さに関係なく一定の時間で動作します。これにより、アテステーションのタイミングがより予測可能になり、バリデータが複雑なブロックを時間内に処理できずに発生するアテステーションの失敗を減らすことができます。

## リアルタイム証明の課題 {#realtime-proving}

zkEVMによるL1検証の主な課題は速度です。イーサリアムのブロックは12秒ごとに生成されるため、コンセンサスに役立てるには、証明も同様の枠内で生成される必要があります。

現在のzkEVMの実装では、単一のブロックを証明するのに数分から数時間かかる場合があります。研究では、以下の方法でこのギャップを埋めることに焦点を当てています。

- **並列化**: 証明作業を複数のマシンに分散させる
- **専用ハードウェア**: ZK証明に最適化された回路とハードウェアの設計
- **アルゴリズムの改善**: より効率的な証明システムと回路設計
- **インクリメンタル証明**: トランザクションの実行後ではなく、実行と同時に証明を生成する

## 現在の研究と実装 {#current-research}

イーサリアム財団は、[Privacy Stewards of Ethereum (PSE)](https://pse.dev/)チームを通じてzkEVMの研究に資金を提供しています。主な研究分野は以下の通りです。

- **リアルタイム証明**: 12秒のスロット内で完全なブロック証明を生成する
- **クライアント統合**: 実行クライアントとプルーバー間のインターフェースの標準化
- **経済的インセンティブ**: 持続可能なプルーバー市場と手数料体系の設計

### 実装状況 {#implementations}

イーサリアムのブロック証明のために、いくつかのzkVM実装が開発およびテストされています。

| 実装 | アーキテクチャ |
|----------------|--------------|
| [OpenVM](https://github.com/openvm-org/openvm) | rv32im |
| [RISC Zero](https://github.com/risc0/risc0) | rv32im |
| [Airbender](https://github.com/matter-labs/zksync-airbender) | rv32im |
| [Jolt](https://github.com/a16z/jolt) | rv32im |
| [Zisk](https://github.com/0xPolygonHermez/zisk) | rv64ima |

これらはRISC-Vベースの仮想マシンを使用してEVMバイトコードを実行し、正しい実行のZK証明を生成します。最新のテスト結果と進捗状況は、[イーサリアム財団のzkVMトラッカー](https://zkevm.ethereum.foundation/zkvm-tracker)で追跡されています。

## zkEVMと他のアップグレードとの連携 {#related-upgrades}

zkEVMによるL1検証は、イーサリアムのロードマップにある他のいくつかの項目と関連しています。

- **[ヴァークル・ツリー](/roadmap/verkle-trees/)**: ステートレスな検証のためのより小さなウィットネスを可能にし、プルーバーが処理する必要のあるデータを削減します。
- **[ステートレス性](/roadmap/statelessness/)**: zkEVMは重要な実現要素です。実行のZK証明があれば、ノードはブロックを検証するために完全な状態を必要としません。
- **[プロポーザー・ビルダー分離 (PBS)](/roadmap/pbs/)**: ブロックビルダーが証明の生成を統合する可能性や、独立したプルーバー市場が出現する可能性があります。
- **[シングル・スロット・ファイナリティ](/roadmap/single-slot-finality/)**: 証明の生成が高速化されれば、暗号学的な保証を伴うシングル・スロット・ファイナリティが可能になるかもしれません。

<Alert variant="warning">
<AlertEmoji text="🧪" />
<AlertContent>
<AlertDescription>
zkEVMによるL1検証は現在活発に研究されており、本番環境のイーサリアムクライアントにはまだ統合されていません。
</AlertDescription>
</AlertContent>
</Alert>

## 参考文献 {#further-reading}

- [zkEVM Foundation](https://zkevm.ethereum.foundation) - イーサリアム財団の公式zkEVM研究ハブ
- [Ethproofs](https://ethproofs.org/) - リアルタイムでのイーサリアム証明に向けた競争の追跡
- [zkevm.fyi](https://zkevm.fyi) - L1向けzkEVMに関する技術書
- [PSE zkEVM Specs](https://github.com/privacy-scaling-explorations/zkevm-specs) - 技術仕様
- [The Verge](https://vitalik.eth.limo/general/2024/10/23/futures4.html) - ヴィタリックによる検証改善の概要
- [EF zkEVM Blog](https://zkevm.ethereum.foundation/blog) - EFチームによるパフォーマンス分析
