A16z:構築者の重要な要素:「Jolt Inside」

はじめに

本日、LayerZeroは新しいブロックチェーン「Zero」をリリースしました。このチェーンには、取引の実行と検証を切り離す全く新しいゼロ知識証明手法を含む、複数の技術的進歩が盛り込まれています。これらはすべて「Jolt Inside」のおかげです。

Joltとは何か?JoltはオープンソースのRISC-V zkVM(ゼロ知識仮想マシン、またはより正確には「シンプル」な仮想マシン)であり、高速、安全、使いやすさを兼ね備えています。これは、a16z cryptoが3年にわたり研究開発してきた最先端のSNARK設計手法に基づくもので、誰でも利用・改良できるようにオープンソース化しています。しかし、Joltの誕生は実は数十年にわたる研究の積み重ねの結果です。

なぜzkVMやSNARKの設計がこれほど重要なのか?

SNARK設計の進化を深く理解する前に、まずzkVMとは何かを詳しく見ていきましょう。

この種の仮想マシンは一般に「zk」仮想マシンと呼ばれますが、ここで重視されるのは「シンプルさ」です。ゼロ知識はプライバシー保護にとって重要ですが、「シンプルさ」とは証明が短く、検証が容易であることを意味します。これは有用な二つの特性ですが、しばしば混同されがちです。(Joltはすでにシンプルさを備えており、まもなくゼロ知識も実現します。)

しかし、なぜzkVMがこれほど重要なのか?zkVMやより広範なSNARK(簡潔非交互証明)は、ブロックチェーンの拡張性、プライバシー、安全性など多くの側面にとって不可欠です。これらの証明、論証、ゼロ知識(総称して検証可能計算技術)は、暗号業界やその他の分野で多くの応用例があります。

従来の設計アーキテクチャやその他の理由により、業界ではこれまでzkVMの構築に比較的複雑な方法を採用してきました。詳細は後述しますが、Joltは最初から全く異なるSNARK設計手法に焦点を当てており、より高い効率性、使いやすさ、性能を実現しています。

要するに、zkVMは計算プログラムを正しく実行したことを証明する方法です。zkVMの優位性は、開発者にとって使いやすい点にあります。既存の計算基盤(例:オープンソースのLLVMコンパイラエコシステム)を活用することで、開発者は特定のドメイン固有言語(DSL)を使わずに、選んだプログラミング言語でSNARKの強力な機能を利用できるのです。

これは、現代の多くの暗号学分野と非常に似ています。暗号化やデジタル署名に標準的に使われるライブラリやツールがあり、開発者はそれらを日常的に使いながら、その内部動作を理解しなくても済みます。Joltは同じ抽象化レイヤーを提供します。既存のプログラムを使って検証するだけで、両者の相互作用について心配する必要はありません。これは、新しい暗号技術の普及に不可欠な条件です。

開発者は実務に集中できます。Joltを使えば、SNARKの専門知識がなくても、ボタン一つで自分の書いた計算コードからJolt証明を生成できます。

ただし、Joltが多くの進歩を遂げたとしても、中程度の複雑さの証明(例:標準的なCPUコアが1秒間に行う操作)を証明するには依然として強力な計算資源が必要です。複雑な証明を合理的な時間内に生成するには、複数のGPUが必要です。LayerZeroはJolt証明器をCUDAに移植し、「Zero」をリリースしました。これは、Joltの底層で並列化されたアルゴリズムとGPUの並列ハードウェアを組み合わせることで、より高いスケーラビリティを実現しています。

LayerZeroは、Joltを実運用レベルのGPU証明に向けて推進しています。GPUに最適化されたJoltアルゴリズムの共同開発も進めており、これによりzkVMや証明の拡張性が大きく向上します。

オープンソースによる研究開発

Joltはオープンソースであり、誰でもその革新的な技術を利用・改良できます。オープンソースは究極の加速器です。成果を公開し、エコシステムの多くの人々が利用・再利用・負荷テスト・監査・修正・改良を行い、さらなる革新を促進します。

リスク投資会社がオープンソースプロジェクトに投資するのは一見異例に思えるかもしれませんが、現代の研究開発の構造上、多くの開発は社内(例:従来の企業研究所や現在の基金研究所)や学術界で行われています。私たちa16z暗号研究機関は、学術理論と産業実践をつなぐ産業研究所とエンジニアリングチームを構築することを目的としています。リスク投資会社として、他の資金援助が難しいプロジェクトも支援可能です。特に逆向き投資の観点から。

SNARKの逆向き設計手法をサポートすることは、Joltにとって非常に重要です。これは従来の設計手法と根本的に異なる「パラダイムシフト」を意味します。この設計の進化は長年にわたるものです。

革新の物語はしばしばアーキテクチャの変革の物語です

SNARKの設計手法における大きな変革を理解するには、2000年以上前にさかのぼる必要があります。古代ギリシャ人は形式化された数学証明システムの発展を切り開き、その後中東、アジア、その他の地域の学者たちもこれを拡張してきました。

これらの初期証明——論理的推論を一歩一歩書き出したもの——は、形式言語や数式で記録され、誰でも検証できるようになっていました。例えば、数学者が証明を書いた「書物」を作り、別の数学者がそれを逐語的に読み解いて検証する、という形です。この伝統的な静的証明の概念は、いわゆるNP(非決定性多項式時間)クラスの証明の原型です。

この伝統的証明は順序的であり、交互に行われるものではありません。

しかし、1985年*、Shafi Goldwasser、Silvio Micali、Charles Rackoffは、対話型証明(「IP」)の概念を提案しました。[*実際には、彼らの論文はそれより数年前に提出されましたが、何度も拒否された後に受理されました。]この対話型証明の核心は、例えば二人の数学者がリアルタイムでやり取りを行う場合、証明書(証明者)が証明を書き下ろすのを待つ必要はなく、相手に質問しながら証明の真偽を探ることができる、というものです。

この対話型証明の威力——古代ギリシャの静的証明に比べて——は、1990年に十分に認識されました。当時、Carsten Lund、Lance Fortnow、Howard Karloff、Noam Nisanは、代数的手法を用いた和の検査(sum-check)プロトコルを提案しました。これにより、対話型証明システムの基盤的な結果である「IP=PSPACE」が導かれました。これは直感的には次のような内容です:

証明者と検証者が対話できる(挑戦と応答を行う)ならば——たとえば、虚偽の証明者が挑戦に答えられない場合に「捕まる」——古典的な静的証明よりもはるかに複雑な命題を高速に検証できる、というものです。

言い換えれば、対話性は証明システムに大きな優位性をもたらします。そして、和の検査(sum-check)は、その優位性を効率的な検証に変換する核となる技術です。これにより、検証者は証明の全計算過程を再構築せずとも、結果の正当性を確認できるのです。

数年後、Joe Kilianは確率的検証可能証明(PCP)を出発点として、シンプルなゼロ知識論証を構築しました。PCPの証明理論では、証明者(古代ギリシャの数学者のような存在、ただし今は計算機)が長大な証明書を書きますが、そのフォーマットは冗長です。検証者は証明書の一部の位置(例:3つの「単語」)をランダムに抽出し、それだけを見て証明の正当性を高い確率で判断できます。

しかし、問題はPCP証明自体が長く、検証コストは低いものの、証明の長さが膨大なことです。

そこでKilianは、PCPと暗号学を組み合わせて、「長い証明書」を証明者がコミットし、抽出した部分だけを公開し、短い暗号証明を付与する方式を提案しました。Kilianのプロトコルの最終証明は、これらの「単語」(および暗号認証データ)に過ぎませんが、これだけで全証明の正当性を高い信頼性で保証できるのです。

これらの証明は当時は対話式でした。その後、MicaliはFiat-Shamir変換を適用し、KilianのPCPに基づく対話証明を非対話証明に変換しました。要するに、Fiat-Shamir変換は検証者のランダム挑戦を「消し」、証明者が自ら挑戦を生成し、一度に証明全体を出力できるようにしたのです。

既存アーキテクチャの長期的影響

証明システムの歴史と進化を振り返ると、静的証明から対話型、確率的・非対話的(PCP)、そして再び対話型(Kilian)、最後に非対話型(Micali)へと変遷してきました。SNARKはこの進化の最後に登場します。Fiat-Shamir変換をPCPに適用し、Micaliが最初のSNARKを実現したのです。

しかし、これらの初期のPCPベースSNARKは、証明者の作業負荷が非常に高く、実用化は困難でした。

それでも、SNARKの設計方式は数十年にわたりほぼ変わっていません。業界は、PCPに基づくSNARKの設計から脱却しようと試みても、「線形PCP」などの概念を使い続けてきました。これらは実質的にPCPのヒューリスティック技術の変種です。これらの方法は証明が非常に短いSNARKをもたらしましたが、証明者の速度を最速にするSNARKにはなりませんでした。

SNARK設計者たちは、根本的な源泉——和の検査プロトコル——に立ち返ることなく、現代の計算能力を活用したより高速・使いやすい証明者を得る道を模索してきたのです。

一歩引いて考えると、より早期に和の検査プロトコルを採用するには、SNARKの歴史と進化を非線形に見直す必要があります。具体的には、(a) 対話型証明 → (b) PCP → © シンプルな対話証明 → (d) 初期SNARKの発展という流れの中で、次のような変化がありました。

(a) 対話型証明から(b) PCPへの移行では、検証の簡潔性を保ちつつ、証明システムから交互性を排除することが最大の課題でした。これにより、求和検査(sum-check)を用いた交互性の部分を排除しようとしたのです。

© PCPから© シンプルなゼロ知識証明への移行では、再び交互性が現れ……最終的にFiat-Shamir変換によってこれを排除し、©のシンプルな対話証明から(d)の初期SNARKへと進化しました。

振り返ると、(a)→(b)→©→(d)の一連の流れの中で、SNARK設計者は二度交互性を省略しています。一度は(a)→(b)の段階で、もう一度は©→(d)の段階でです。

しかし、もしFiat-Shamirを使って交互性を排除するなら、(b)の段階——すなわち確率的検証可能証明(PCP)を飛ばして、直接SNARKを構築することも可能です。これがJoltの根底にある重要な洞察です。すなわち、対話型証明からSNARKを直接構築し、求和検証に直行するのです。

なぜ多くの人が早期に和の検査に基づく設計に踏み切らなかったのか? 初期のSNARK設計者は、PCPとSNARKが表面上似ているため、両者を混同していた可能性があります。実際、構造や誤解も存在したでしょう。

私たちにとって、求和検査に基づくzkVM Joltに多大な工学的・研究的リソースを投入するのは、SNARKの長年の主流パラダイムに逆行する逆張りです。

「Jolt Inside」

JoltのSNARK設計手法(Twist + Shoutのようなバッチ評価とメモリ検査機構に基づく)は、対話証明と和の検査プロトコルに根ざしています。

今や、私たちがJoltの構築を始めて数年経ち、他の研究者も和の検査を取り入れた設計を始めています。では、Joltは現代のzkVMの中でどのような特徴を持つのでしょうか?JoltはCPUの繰り返し構造を最大限に活用しています。各CPUコアの「フェッチ・デコード・実行」の抽象が、バッチ評価の仕組みにどのように適用できるかを観察し、Joltは最小の複雑さで比類なき効率を実現しています。

一方、他のzkVMは「プリコンパイル」(ASICのような特定サブプログラム用のアクセラレータ)に大きく依存し、性能を確保しようとします。Joltはこれらのプリコンパイルを排除し、SNARKの普及を目指します。なぜなら、これらはSNARK設計の過去の失敗例を繰り返す可能性があるからです。専門家の設計が必要でバグが入り込みやすく、一般の開発者には使いにくいのです。Joltは、SNARKの普及を最優先します。

CPUの実行の正しさを検証することこそ、zkVMの核心的価値です。これは開発者体験の大きな革新でもあります。なぜなら、既存の汎用計算基盤を再利用できるからです。世界中の計算インフラはCPUを前提に構築されており、Joltはその「構造」を最大限に活用し、シンプルさと性能を高めています。

Joltは、最初から実用性と本番レベルの性能を重視しています。開発者は既存のプログラムを直接検証でき、迅速な検証のためにコードを書き換える必要はありません。Joltは、プリコンパイルや特殊APIに頼ることなく、元のコードの完全性を保ちつつ、採用や監査、反復コストを低く抑えます。

さらに、Joltは速度だけでなく、よりシンプルです。ほかの方案では、仮想マシンの各基本命令に回路を指定する必要がありますが、Joltでは約十行のRustコードで各命令を定義できます。回路は不要です。たった十行のコードで済みます。

Joltの次なる展望は何か?

私たちはすでに速度面でリードしています。今後の最適化や機能追加により、再帰やゼロ知識証明の導入、特に楕円曲線暗号から格子暗号への移行を進め、今年中にさらなる高速化を実現します。ポスト量子時代も視野に入れています。

Joltは、より多くのアプリケーションを可能にします。ブロックチェーンにとって、長らく期待されてきた拡張性と分散化は、より容易に展開できるようになるでしょう。ゼロ知識証明のサマリーは、複雑な暗号工学の知識を必要とせず、すぐに使える状態になります。

さらに、Joltの進化により、スマートフォンやノートパソコン上で動作する高速・簡便なゼロ知識証明仮想マシンの構築も視野に入っています。これにより、クライアント側やプライバシー保護の用途で、より多くのユースケースが解放されるでしょう。例えば、スマホのプライバシーアプリは、従来は維持や運用が難しかったものが、手軽に実現できるようになります。

長期的には、これらの証明システムは、暗号やデジタル署名と並ぶ、世界のデジタルインフラの中核を担う存在になるでしょう。この汎用的な暗号圧縮技術は、例えば、50キロバイトの証明書だけを送ることで、数ギガバイトのデータを持つ属性を証明できるなど、その可能性は計り知れません。どのようなアプリケーションが生まれるか、想像もつかないほどです。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
0/400
コメントなし
  • ピン