IOSG:イーサリアムの性能を解放し、EVMのボトルネックを超える革新の道
著者:Siddharth Rao、IOSG Ventures
イーサリアムのパフォーマンスを解放する:EVMのボトルネックを超える革新の道
イーサリアム仮想マシン(EVM)のパフォーマンスについて
イーサリアムのメインネット上の各操作には一定のガスが必要です。基本的なアプリケーションに必要な計算量をすべてチェーン上で実行すると、アプリがクラッシュするか、ユーザーが破産することになります。
これがL2を生み出しました:OPRUは、取引を束ねるためのソートを導入し、それをメインネットに提出します。これにより、アプリはイーサリアムのセキュリティを享受しつつ、ユーザーにより良い体験を提供します。ユーザーはより迅速に取引を提出でき、手数料も安くなります。操作が安くなったとはいえ、依然としてネイティブEVMを実行層として使用しています。ZKロールアップと同様に、ScrollやPolygon zkEVMはEVMベースのzk回路を使用するか、使用する予定です。zk証明は、その証明者上での各取引または一括取引の生成を行います。これにより、開発者は「フルオンチェーン」アプリケーションを構築できますが、高性能アプリケーションが効率的かつ経済的に動作することができるのでしょうか?
これらの高性能アプリケーションにはどのようなものがありますか?
人々が最初に思い浮かべるのは、ゲーム、オンチェーンオーダーブック、Web3ソーシャル、機械学習、ゲノムモデリングなどです。これらすべては大規模な計算を必要とし、L2上での実行は非常に高価になります。EVMのもう一つの問題は、計算の速度と効率が現在の他のシステム(例えばSVM(Sealevel Virtual Machine))に劣ることです。
L3 EVMは計算を安くすることができますが、EVM自体の構造は高計算を実行するための最適な方法ではないかもしれません。なぜなら、並列計算を行うことができないからです。新しい層を構築するたびに、分散化の精神を維持するために新しいインフラ(新しいノードネットワーク)を構築する必要があり、これには同じ数のプロバイダーを拡張するか、リソースを提供するための全く新しいノードプロバイダー(個人/企業)のグループが必要です。
したがって、より先進的なソリューションが構築されるたびに、既存のインフラはアップグレードされるか、新しい層がその上に構築される必要があります。この問題を解決するためには、真に効率的に量子アルゴリズムを使用して分散型アプリケーションの計算を行うことができる、後量子安全で分散型、信頼不要の高性能計算インフラが必要です。
Solana、Sui、Aptosのようなalt-L1は並列実行を実現できますが、市場の感情や流動性の不足により、開発者が不足しており、イーサリアムに挑戦することはありません。信頼の欠如と、イーサリアムがネットワーク効果によって築いた堀は画期的です。これまでのところ、ETH/EVMの殺し屋は存在しません。ここでの問題は、なぜすべての計算がチェーン上で行われるべきなのか?信頼不要で分散型の実行システムは存在するのか?それがDComputeシステムが実現できることです。
DComputeインフラは、分散型で後量子安全であり、信頼不要である必要があります。ブロックチェーン/分散技術である必要はありませんが、計算結果の検証、正しい状態遷移、最終確認は非常に重要です。EVMチェーンの運用はそのようなものであり、ネットワークのセキュリティと不変性を維持しながら、分散型で信頼不要の安全な計算をチェーン外に移動させることができます。
ここで主に無視されているのはデータの可用性の問題です。この記事はデータの可用性に無関心ではなく、CelestiaやEigenDAのようなソリューションがこの方向に向かって進展しています。
1: 計算のみを外部委託(Only Compute Outsourced)

(出典:Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
2. 計算とデータ可用性を外部委託
(出典:Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
Type 1を見ると、zk-rollupsはすでにこれを行っていますが、EVMに制約されているか、開発者に新しい言語/命令セットを学ばせる必要があります。理想的なソリューションは、高効率で、コストとリソースが効果的で、分散型で、プライバシーが保護され、検証可能であるべきです。ZK証明はAWSサーバー上で構築できますが、分散型ではありません。NillionやNexusのようなソリューションは、分散型の方法で汎用計算の問題を解決しようとしています。しかし、これらのソリューションはZK証明がなければ検証できません。
Type 2は、チェーン外計算モデルと分離されたデータ可用性層を組み合わせますが、計算は依然としてチェーン上で検証する必要があります。
今日利用可能な不完全に信頼できる、または完全に信頼不要な異なる分散型計算モデルを見てみましょう。
他の計算システム(Alternative Computation Systems)

イーサリアム外部委託計算エコシステム図(出典:IOSG Ventures)
- セキュアエンクレーブ計算(Secure Enclave Computations)/信頼実行環境(Trusted Execution Environments)
TEE(信頼実行環境)は、コンピュータやスマートフォン内部の特別なボックスのようなものです。独自のロックと鍵があり、特定のプログラム(信頼アプリケーションと呼ばれる)だけがアクセスできます。これらの信頼アプリケーションがTEE内部で実行されると、他のプログラムやオペレーティングシステム自体から保護されます。
これは、特定の友人だけが入れる秘密の隠れ家のようなものです。TEEの最も一般的な例は、私たちが使用するデバイスに存在するセキュアアイソレーションゾーンで、AppleのT1チップやIntelのSGXなどがあり、FaceIDなどの重要な操作をデバイス内部で実行するために使用されます。
TEEは隔離されたシステムであるため、認証プロセスは破壊されることがありません。認証には信頼の仮定が存在します。これを安全なドアが存在すると想像してください。IntelやAppleがそれを安全に作ったと信じていますが、世界にはその安全なドアを破壊できる十分な数のセキュリティ侵害者(ハッカーや他のコンピュータ)がいます。TEEは「後量子安全」ではありません。つまり、無限のリソースを持つ量子コンピュータがTEEのセキュリティを破ることができます。コンピュータが急速に強力になるにつれて、長期的な計算システムと暗号学的ソリューションを構築する際には後量子安全性を考慮する必要があります。
- セキュアマルチパーティ計算(SMPC)
SMPC(セキュアマルチパーティ計算)は、ブロックチェーン技術の専門家に広く知られている計算ソリューションの一つで、SMPCネットワークの大まかな作業フローは以下の3つの部分で構成されます:
- ステップ1:計算の入力をシェア(shares)に変換し、SMPCノード間で分配します。
- ステップ2:実際の計算を行い、通常はSMPCノード間のメッセージ交換を伴います。このステップが終了すると、各ノードは計算出力値のシェアを持つことになります。
- ステップ3:結果のシェアを1つまたは複数の結果ノードに送信し、これらのノードがLSS(秘密共有復元アルゴリズム)を実行して出力結果を再構築します。
自動車の生産ラインを想像してください。自動車の構築と製造コンポーネント(エンジン、ドア、ミラー)は、元の機器製造業者(OEM)(作業ノード)に外部委託され、その後、すべてのコンポーネントを組み立てて自動車を製造するアセンブリライン(結果ノード)があります。
秘密共有(Secret sharing)は、プライバシーを保護する分散型計算モデルにとって非常に重要です。これにより、単一の参加者が完全な「秘密」(この場合は入力)を取得し、悪意のある誤った出力を生成することを防ぎます。SMPCは最も簡単で安全な分散型システムの一つかもしれません。現在、完全に分散型のモデルは存在しませんが、論理的には可能です。
SharemindのようなMPCプロバイダーは計算のためのMPCインフラを提供しますが、プロバイダーは依然として集中しています。プライバシーをどのように確保し、ネットワーク(またはSharemind)が悪意のある行動をしないことをどのように保証するのでしょうか?これがzk証明とzk検証可能計算の必要性です。
- Nil Message Compute(NMC)
NMCはNillionチームによって開発された新しい分散型計算方法です。これはMPCのアップグレード版で、ノードは結果を相互に通信する必要がありません。そのために、彼らは「ワンタイムマスキング(One-Time Masking)」という暗号原理を使用し、ブラインディングファクター(blinding factors)と呼ばれる一連のランダム数を使用して秘密を隠します。OTMは効率的な方法で正確性を提供することを目的としており、NMCノードは計算を実行するためにメッセージを交換する必要がありません。これにより、NMCはSMPCのスケーラビリティの問題を抱えません。
- ゼロ知識検証可能計算
ZK検証可能計算(ZK Verifiable Computation)は、一連の入力と関数に対してゼロ知識証明を生成し、システムが実行する計算が正しく行われることを証明します。ZK検証計算は新しい概念ですが、イーサリアムネットワークの拡張ロードマップにおいて非常に重要な部分となっています。
ZK証明にはさまざまな実装形式があります(以下の図に示すように、論文「Off-Chaining_Models」にまとめられています):
(出典:IOSG Ventures, Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
上記でzk証明の実装方法について基本的な理解を得たところで、ZK証明を使用して計算を検証するために必要な条件は何でしょうか?
- まず、証明原理を選択する必要があります。理想的な証明原理は、証明生成のコストが低く、メモリ要件が高くなく、検証が容易であるべきです。
- 次に、上記の原理の証明を生成するために計算を通じて設計されたzk回路を選択します。
- 最後に、特定の計算システム/ネットワーク内で提供された入力を使用して指定された関数を計算し、出力を提供します。
開発者の難題 - 証明効率のジレンマ
もう一つ言わなければならないのは、回路を構築するためのハードルが非常に高いということです。開発者がSolidityを学ぶのは簡単ではなく、今では開発者がCircomなどを学んで回路を構築するか、特定のプログラミング言語(Cairoなど)を学んでzkアプリを構築することが求められています。これは手の届かないことのように思えます。

(出典:https://app.artemis.xyz/developers)

(出典:https://www.statista.com/statistics/1241923/worldwide-software-developer-programming-language-communities)
上記の統計データが示すように、Web3の環境を開発者にとってより適したものに改造することは、新しいWeb3開発環境に開発者を引き入れるよりも持続可能性が高いようです。
もしZKがWeb3の未来であり、Web3アプリケーションが既存の開発者スキルを使用して構築する必要があるなら、ZK回路はJavaScriptやRustなどの言語で書かれたアルゴリズムを実行する計算生成証明をサポートするように設計される必要があります。
そのようなソリューションは実際に存在し、著者が考えるのは2つのチーム:RiscZeroとLurk Labsです。両チームは、開発者が急な学習曲線を経ずにzkアプリを構築できるようにするという非常に似たビジョンを持っています。
Lurk Labsはまだ初期段階にありますが、チームはこのプロジェクトに長い間取り組んでいます。彼らは汎用回路を通じてNova証明(Nova Proof)を生成することに焦点を当てています。Nova証明は、カーネギーメロン大学のAbhiram Kothapalli、マイクロソフト研究所のSrinath Setty、ニューヨーク大学のIoanna Tziallaeによって提案されました。他のSNARKシステムと比較して、Nova証明は増分検証可能計算(IVC)において特別な利点を持っています。増分検証可能計算(IVC)は、計算の検証を実現することを目的としたコンピュータサイエンスと暗号学の概念であり、全体の計算を最初から再計算することなく実現します。計算時間が長く複雑な場合、IVCに対して証明を最適化する必要があります。

(出典:IOSG Ventures)
Nova証明は他の証明システムのように「すぐに使える」わけではなく、Novaは単なる折りたたみ技術であり、開発者は依然として証明を生成するための証明システムを必要とします。これがLurk LabsがLurk Langを構築した理由です。これはLISPの実装です。LISPは低レベルの言語であるため、汎用回路上で証明を生成するのが容易であり、JavaScriptに簡単に翻訳できるため、Lurk Labsは1740万のJavaScript開発者の支持を得ることができます。また、Pythonなどの他の汎用言語の翻訳もサポートしています。
要するに、Nova証明は素晴らしい原始的な証明システムのようです。彼らの欠点は、計算のサイズに応じて証明のサイズが線形に増加することですが、他方で、Nova証明にはさらなる圧縮の余地があります。
STARK証明のサイズは計算量の増加に伴って増加しないため、非常に大きな計算を検証するのに適しています。開発者の体験をさらに改善するために、彼らはBonsaiネットワークを発表しました。これは分散型計算ネットワークで、RiscZeroが生成した証明によって検証されます。以下は、RiscZeroのBonsaiネットワークの動作原理を示す簡単な図です。

(出典:https://dev.bonsai.xyz/)
Bonsaiネットワークの設計の素晴らしさは、計算が初期化、検証、出力されるすべてがチェーン上で行えることです。これらすべてはユートピアのように聞こえますが、STARK証明も問題を引き起こします------検証コストが高すぎるのです。
Nova証明は繰り返し計算(その折りたたみスキームは経済的に効率的)や小型計算に非常に適しているようで、これがLurkをML推論検証の優れたソリューションにする可能性があります。
勝者は誰か?


(出典:IOSG Ventures)
いくつかのzk-SNARKシステムは、初期設定段階で信頼できる設定プロセスを必要とし、一組の初期パラメータを生成します。ここでの信頼の仮定は、信頼できる設定が誠実に実行され、悪意のある行動や改ざんがないことです。攻撃を受けると、無効な証明が作成される可能性があります。
STARK証明は、低次のテストの安全性を仮定し、多項式の低次の性質を検証します。また、ハッシュ関数がランダムオラクルのように振る舞うことを仮定しています。
2つのシステムの正しい実装も安全な仮定です。
SMPCネットワークは以下の点に依存しています:
- SMPC参加者には「誠実だが好奇心旺盛な」参加者が含まれる可能性があり、他のノードと通信することで基盤となる情報にアクセスしようとすることがあります。
- SMPCネットワークの安全性は、参加者がプロトコルを正しく実行し、故意にエラーや悪意のある行動を持ち込まないという仮定に依存しています。
- 一部のSMPCプロトコルは、暗号パラメータや初期値を生成するために信頼できる設定段階を必要とする場合があります。ここでの信頼の仮定は、信頼できる設定が誠実に実行されることです。
- SMPCネットワークと同様に、安全な仮定は変わりませんが、OTM(Off-The-Grid Multi-party Computation)が存在するため、「誠実だが好奇心旺盛な」参加者は存在しません。
OTMは、参加者のプライバシーを保護することを目的としたマルチパーティ計算プロトコルです。これは、計算中に参加者がその入力データを公開しないようにすることでプライバシーを実現します。したがって、「誠実だが好奇心旺盛な」参加者は存在しません。なぜなら、彼らは他のノードと通信することで基盤となる情報にアクセスしようとすることができないからです。
明確な勝者はいるのか?私たちは知りません。しかし、各アプローチにはそれぞれの利点があります。NMCはSMPCの明らかなアップグレードのように見えますが、そのネットワークはまだ稼働しておらず、実戦テストも受けていません。
ZK検証計算を使用する利点は、それが安全でプライバシーを保護することですが、内蔵の秘密共有機能はありません。証明生成と検証の間の非対称性は、検証可能な外部委託計算の理想的なモデルとなります。システムが純粋なzk検証計算を使用する場合、コンピュータ(または単一のノード)は大量の計算を実行するために非常に強力でなければなりません。プライバシーを保護しつつ負荷共有とバランスを可能にするためには、秘密共有が必要です。この場合、SMPCやNMCのようなシステムは、LurkやRiscZeroのようなzk生成器と組み合わせて強力な分散型検証可能外部委託計算インフラを構築できます。
今日のMPC/SMPCネットワークは集中化されています。これは特に重要です。現在最大のMPCプロバイダーはSharemindであり、その上のZK検証層は有用であることが証明されています。分散型MPCネットワークの経済モデルはまだ確立されていません。理論的には、NMCモデルはMPCシステムのアップグレードですが、その成功はまだ見られていません。
ZK証明ソリューションの競争では、勝者総取りの状況は発生しないかもしれません。各証明方法は特定のタイプの計算に最適化されており、すべてのタイプのモデルに適したものはありません。計算タスクのタイプは多岐にわたり、開発者が各証明システムで行うトレードオフにも依存します。著者は、STARKベースのシステムとSNARKベースのシステム、そしてそれらの将来の最適化がZKの未来において重要な役割を果たすと考えています。















