2023.07.06
zkRollupとは?イーサリアムの次世代スケーラビリティソリューション、zkRollupとzkEVMの仕組み解説
こんにちは。次世代システム研究室のL.C.A.です。
はじめに
今回のブログでは、社内で発表したzkRollupに関する調査と紹介について共有します。
2023年には、多くのzkRollupプロジェクト(zkSync Era、Polygon zkEVMなど)のメインネットがリリースしたので、zkRollupはWeb3業界で非常に注目されています。
しかし、私はブロックチェーンの開発者として、zkRollupに関する詳細な紹介情報が分散しており、少ないことに気付きました。
そこで、今回はzkRollupの仕組みについて詳しく研究し、研究発表の機会に分かりやすく詳しく紹介したいと考えていました。
結論ファースト
zkRollupは、ゼロ知識証明を利用してイーサリアムを拡張する手法です。
- 高いコストの問題を解決する(手数料はイーサリアムの1/10になる)
- トランザクションの実行速度を向上させる(イーサリアムの20倍以上になる)
- 安全性はイーサリアムと同等
発表資料
Highlight
Layer2 Rollup:イーサリアムのスケーリングプロトコル
- 現在、主流のRollup方法としては、Optimistic rollupとzkRollupです。理論的なTPS(1秒当たりのトランザクション処理件数)や手数料の面で言えば、実際にzkRollupの方がOptimistic rollupよりも優位性を持っています。(zkRollupの理論的なTPS:2000+、Optimistic rollupの理論的なTPS:500+)
- しかし、zkRollupの実装がより複雑であるため、現在のところOptimistic rollupのエコシステムがzkRollupに比べて速く発展しています。

Optimistic Rollup(ORU)とzkRollup(ZKR)の主な違い
- TX処理証明の提出
- 両プロトコルの最大の違いは、Rollupの際にL2のTX処理証明を提出する必要があるかどうかです。
- ORUでは証明の提出は必要あるけれど、zkRollupではゼロ知識証明(zero-knowledge proof)という暗号学手法によって生成された証明を提出する必要がある。
- L1への出金時間
- Optimistic Rollupでは、L2のTX処理の正当性の問題を解決するために、7日間の不正証明(fraud-proof)期間を確保する必要があります。そのため、ユーザーがL2から資産をL1に引き出すのには7日間の待ち時間が必要となります。
- 一方、zkRollupでは、L1にTXデータと証明を提出した後、すぐにL1から出金することができます。おおよそ数分から数時間かかります。
- Runtime環境の実装の難易度
- Optimistic Rollupは比較的容易であり、ほとんどの実装はイーサリアムのEVMと同じです。
- 一方、zkRollupは非常に複雑で、ゼロ知識証明の生成にはEVMのプログラムをzk回路(zkの特殊な回路言語、zkSNARKsのR1CSなど)に変換する必要があります。EVMはzkRollupとの統合を考慮して設計されていなかったため、EVMで使用されるプログラムはzk回路への変換に非常に向かないです。これにより、zkRollupの開発には非常に大きな難題があります。
Optimistic rollupとzkRollupの概念図
Optimistic rollup


zkRollup

zkEVM
zkEVMは、zkRollupがトランザクションを処理し、ゼロ知識証明を生成するために使用される環境です。
zkRollupでは、証明を生成するため、EVMプログラムに基づいて対応するzk回路を構築する必要があります。

zk回路のイメージ

各種zkRollupプロジェクトにおけるzkEVMの実装の違い
zkEVMの実装には通常、3つの異なる互換性の実装方法があります。

- 言語レベルの互換性は一般的なL1スマートコントラクト(Solidity)開発者にとって最も不友好です。通常、コンパイラを介してSolidityコードを使用して開発することはできますが、ランタイムはEVMバイトコードを処理することができないため、L1スマートコントラクト開発時とは異なるツールの使用が必要です。
- Bytecodeレベルでは、ランタイムが処理できるBytecodeがほぼEVMと同じであるため、L1スマートコントラクト開発時に使用されるツール(Hardhat、truffleなど)を同じように使用できます。将来のエコシステムの発展には高い期待が寄せられています。

zkRollupの展望
- 現在、zkSync EraなどのzkRollupプロジェクトがメインネットでリリースされたことにより、大きな注目を浴びていますが、いくつかの課題が解決する必要があります。例えば、Proof生成のコストが高すぎるため、TPSがOptimistic Rollupに比べて低くなってしまっています。
- また、EVMとの互換性をさらに向上させる必要があります。zkRollupにコントラクトをデプロイするためには、異なる言語で書き直したり、新しいツールを学んだりする必要があるため、エコシステムの発展が大きく妨げられる可能性があります。

宣伝
グループ研究開発本部 次世代システム研究室では、最新のテクノロジーを調査・検証しながらインターネット上の高度なアプリケーション開発を行うエンジニア・アーキテクトを募集しています。募集職種一覧 からご応募をお待ちしています。
グループ研究開発本部の最新情報をTwitterで配信中です。ぜひフォローください。
Follow @GMO_RD