記事著者:a16z crypto記事翻訳:Block unicorn### はじめに本日、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 cryptoの研究機関設立の目的は、学術理論と産業実践をつなぐ産業研究所とエンジニアリングチームを構築することです。リスク投資会社として、他の機関では資金援助が難しいプロジェクトも支援できます…特に逆向き投資の観点から。SNARKの逆向き設計手法をサポートすることは、Joltにとって非常に重要です。これは従来の設計手法と根本的に異なる「パラダイムシフト」を意味し、長年にわたり進化してきました。### 革新の物語はしばしばアーキテクチャの変革の物語SNARKの設計における大きな変革を理解するには、2000年以上前にさかのぼる必要があります。古代ギリシャ人は形式化された数学証明システムの発展を切り拓き、その後中東、アジア、その他の地域の学者たちもこれを拡張してきました。これらの初期の証明——論理的推論を一歩一歩書き出したもの——は、形式言語や数式で記録され、誰でも検証できるようになっていました。例えば、数学者が証明を書いた「書物」を作り、別の数学者がそれを逐語的に読み解いて検証する、という形です。この静的な書面証明の概念は、いわゆるNPクラスの「P vs NP」の問題の根幹をなしています。この伝統的な証明は逐次的であり、順番に行われるもので、インタラクションはありません。しかし、1985年*、Shafi Goldwasser、Silvio Micali、Charles Rackoffは、インタラクティブ証明(“IP”)の概念を提唱しました。[*実際には彼らの論文はもう少し早い時期に提出されましたが、何度も拒否された後に受理されました。]このインタラクティブ証明の核心は、例えば二人の数学者が交流する場合、一方が証明を書き下ろして相手に見せるのを待つ必要はなく、リアルタイムで質問しながら証明の真偽を探ることができる、というものです。この種のインタラクティブ証明の威力は、古代ギリシャの静的証明と比べて圧倒的であり、1990年頃にようやく広く認識されました。当時、Carsten Lund、Lance Fortnow、Howard Karloff、Noam Nisanは、代数的手法を用いた「和の検査」(sum-check)プロトコルを提案し、これがインタラクティブ証明システムの基盤となりました。これにAdi Shamirの後続研究が加わり、「IP=PSPACE」という基本的な定理に結実します。これは直感的には次のような内容です。証明者と検証者がインタラクションできる(挑戦と応答を行える)ならば——たとえば、嘘つきの証明者が答えられない挑戦に遭遇したら「捕まる」——古典的な静的証明と比べて、より複雑な命題も高速に検証できる、というものです。言い換えれば、インタラクションの性質は証明システムに大きな優位性をもたらします。そして、和の検査(sum-check)は、その優位性を効率的に検証可能な形に変換する核となる技術です。これにより、証明者が証明の全計算過程を再構築せずとも、結果の正当性を検証できるのです。数年後、Joe Kilianは確率的検証可能証明(PCP)を出発点とした、シンプルなゼロ知識証明の構築を提案しました。PCPの証明は、証明者(古代ギリシャの数学者のような存在、ただし今は計算機)が長大な証明書を書き、その中に冗長な情報を詰め込みます。検証者は、その中からランダムにいくつかの位置(例:3つの「単語」)を抽出し、それだけを見て証明の正当性を高い確率で判断できる、という仕組みです。しかし、問題はPCP証明自体が長大でありながら、検証コストは低い点にあります。そこでKilianは、PCPと暗号学を組み合わせて、「長い証明書」を証明者がコミットし、抽出した部分だけを公開し、暗号的に認証する方式を提案しました。最終的な証明は、その抽出部分(と暗号認証情報)だけで構成され、検証者はそれだけで全証明の正当性を信じられる仕組みです。これらの証明は当初、インタラクティブでした。その後、MicaliはFiat-Shamir変換を適用し、KilianのPCPに基づくインタラクティブ証明を非インタラクティブに変換しました。要するに、Fiat-Shamir変換は検証者の挑戦を「消し去り」、証明者が自ら挑戦を生成し、一気に証明を完成させる仕組みです。### 既存アーキテクチャの長期的影響証明システムの歴史と進化を振り返ると、静的証明からインタラクティブ、確率的・非インタラクティブ(PCP)、そして再びインタラクティブ(Kilian)、最後に非インタラクティブ(Micali)へと変遷してきました。SNARKはこの流れの最終段階に位置し、Fiat-Shamir変換を適用した結果、最初のSNARKが誕生しました。しかし、これらの初期のPCPベースSNARKは、証明者の計算負荷が非常に高く、実用化は困難でした。それでも、SNARKの設計方式は数十年にわたり継続してきました。業界は、PCPに基づくSNARKから脱却しようと試みても、結局は「線形PCP」などの概念を用いた派生的な手法に頼ることになり、これらはPCPのヒューリスティックに過ぎません。短い証明を実現するSNARKは得られましたが、証明者の速度を最速にしたSNARKには至っていません。SNARK設計者は、根本的な出発点である和の検査(求和校正)に立ち返ることなく、現代の計算能力を活用した高速・使いやすい証明者を実現できていません。もし早期に求和校正を採用していれば、SNARKの歴史と進化の流れを非線形に見直す必要があります。具体的には、(a)インタラクティブ証明 → (b) PCP → (c) 簡潔インタラクティブ証明 → (d) 初期SNARKの発展、といった流れの中で、次のような変化が起きてきました。(a)インタラクティブ証明から(b) PCPへの移行では、検証の簡潔性を保ちつつ、証明からインタラクションを排除することが最大の課題でした。これにより、求和校正(交互部分)を排除した設計が求められました。(c) 簡潔なゼロ知識論証への移行では、再びインタラクションが復活し、Fiat-Shamir変換によってこれを排除し、(c)から(d)のSNARKへと進化しました。振り返ると、(a)→(b)→(c)→(d)の一連の流れの中で、SNARK設計者は二度にわたりインタラクションを省略しています。最初は(a)から(b)へ、次に(c)から(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コアの「命令取得・解読・実行」の抽象が、バッチ評価の仕組みにどう適用できるかを観察し、最小限の複雑さで比類なき効率を実現しています。一方、他の zkVMは「プリコンパイル」(ASICのような特定サブプログラム用のアクセラレータ)に大きく依存し、性能を確保しようとします。Joltはこれらのプリコンパイルを排除し、従来のSNARK設計の過ちを繰り返さないようにしています。なぜなら、これらは専門家による設計を必要とし、バグのリスクや開発者の使いやすさの面で問題があるからです。Joltの焦点は、SNARKの普及にあります。CPUの実行正しさを検証することこそがzkVMの核心価値です。これは開発者体験の大きな革新でもあります。なぜなら、既存の汎用計算基盤を再利用できるからです。世界中の計算インフラはCPUを前提に構築されており、JoltはCPUの固有の「構造」を最大限に活用し、シンプルさと性能を高めています。Joltは最初から、使いやすさと本番運用レベルの性能を両立させることを重視しています。開発者は既存のプログラムをそのまま検証でき、迅速な検証のためにコードを書き換える必要もありません。Joltは、プリコンパイルや特殊APIに頼ることなく、元のコードの完全性を保ちつつ、採用や監査、反復コストを低く抑えます。さらに重要なのは、Joltは速度だけでなく、よりシンプルであることです。従来の方案では、仮想マシンの各命令に対応する回路を設計する必要がありましたが、Joltでは各命令を約10行のRustコードで記述できるだけです。回路は不要、コードはわずか10行です。### Joltの次の展望は?すでに速度面ではリードしていますが、今後の最適化や機能追加(例:再帰やゼロ知識証明、特に楕円曲線暗号から格子暗号への移行)により、今年中にさらなる高速化を実現します。ポスト量子時代も視野に入れています。Joltは、より多くのアプリケーションを可能にします。ブロックチェーンにとって、長らく期待されてきた拡張性と分散化は、より容易に展開できるようになるでしょう。ゼロ知識証明の総合もすぐに使える状態になり、数か月や数年の暗号工学的努力を必要としません。さらに、Joltの進化により、スマートフォンやノートPC上で動作する高速・簡便なゼロ知識証明仮想マシンの構築も見据えています。これにより、クライアント側やプライバシー保護の用途で、より多くのユースケースが解放されるでしょう。例えば、スマホ上のプライバシーアプリは、従来維持や運用が難しかったものを、手軽に実現できるようになります。長期的には、これらの証明システムは、暗号やデジタル署名と並ぶ、世界のデジタルインフラの中核を担う技術となるでしょう。これらの汎用暗号圧縮技術は、例えば50キロバイトの証明書だけを送ることで、何ギガバイトものデータの属性を証明できるなど、非常に強力です。その応用範囲は計り知れず、多くの新しいアプリケーションが生まれる可能性があります。
a16z:構築者の重要な要素:「Jolt Inside」
記事著者:a16z crypto
記事翻訳:Block unicorn
はじめに
本日、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 cryptoの研究機関設立の目的は、学術理論と産業実践をつなぐ産業研究所とエンジニアリングチームを構築することです。リスク投資会社として、他の機関では資金援助が難しいプロジェクトも支援できます…特に逆向き投資の観点から。
SNARKの逆向き設計手法をサポートすることは、Joltにとって非常に重要です。これは従来の設計手法と根本的に異なる「パラダイムシフト」を意味し、長年にわたり進化してきました。
革新の物語はしばしばアーキテクチャの変革の物語
SNARKの設計における大きな変革を理解するには、2000年以上前にさかのぼる必要があります。古代ギリシャ人は形式化された数学証明システムの発展を切り拓き、その後中東、アジア、その他の地域の学者たちもこれを拡張してきました。
これらの初期の証明——論理的推論を一歩一歩書き出したもの——は、形式言語や数式で記録され、誰でも検証できるようになっていました。例えば、数学者が証明を書いた「書物」を作り、別の数学者がそれを逐語的に読み解いて検証する、という形です。この静的な書面証明の概念は、いわゆるNPクラスの「P vs NP」の問題の根幹をなしています。
この伝統的な証明は逐次的であり、順番に行われるもので、インタラクションはありません。
しかし、1985年*、Shafi Goldwasser、Silvio Micali、Charles Rackoffは、インタラクティブ証明(“IP”)の概念を提唱しました。[*実際には彼らの論文はもう少し早い時期に提出されましたが、何度も拒否された後に受理されました。]このインタラクティブ証明の核心は、例えば二人の数学者が交流する場合、一方が証明を書き下ろして相手に見せるのを待つ必要はなく、リアルタイムで質問しながら証明の真偽を探ることができる、というものです。
この種のインタラクティブ証明の威力は、古代ギリシャの静的証明と比べて圧倒的であり、1990年頃にようやく広く認識されました。当時、Carsten Lund、Lance Fortnow、Howard Karloff、Noam Nisanは、代数的手法を用いた「和の検査」(sum-check)プロトコルを提案し、これがインタラクティブ証明システムの基盤となりました。これにAdi Shamirの後続研究が加わり、「IP=PSPACE」という基本的な定理に結実します。これは直感的には次のような内容です。
証明者と検証者がインタラクションできる(挑戦と応答を行える)ならば——たとえば、嘘つきの証明者が答えられない挑戦に遭遇したら「捕まる」——古典的な静的証明と比べて、より複雑な命題も高速に検証できる、というものです。
言い換えれば、インタラクションの性質は証明システムに大きな優位性をもたらします。そして、和の検査(sum-check)は、その優位性を効率的に検証可能な形に変換する核となる技術です。これにより、証明者が証明の全計算過程を再構築せずとも、結果の正当性を検証できるのです。
数年後、Joe Kilianは確率的検証可能証明(PCP)を出発点とした、シンプルなゼロ知識証明の構築を提案しました。PCPの証明は、証明者(古代ギリシャの数学者のような存在、ただし今は計算機)が長大な証明書を書き、その中に冗長な情報を詰め込みます。検証者は、その中からランダムにいくつかの位置(例:3つの「単語」)を抽出し、それだけを見て証明の正当性を高い確率で判断できる、という仕組みです。
しかし、問題はPCP証明自体が長大でありながら、検証コストは低い点にあります。
そこでKilianは、PCPと暗号学を組み合わせて、「長い証明書」を証明者がコミットし、抽出した部分だけを公開し、暗号的に認証する方式を提案しました。最終的な証明は、その抽出部分(と暗号認証情報)だけで構成され、検証者はそれだけで全証明の正当性を信じられる仕組みです。
これらの証明は当初、インタラクティブでした。その後、MicaliはFiat-Shamir変換を適用し、KilianのPCPに基づくインタラクティブ証明を非インタラクティブに変換しました。要するに、Fiat-Shamir変換は検証者の挑戦を「消し去り」、証明者が自ら挑戦を生成し、一気に証明を完成させる仕組みです。
既存アーキテクチャの長期的影響
証明システムの歴史と進化を振り返ると、静的証明からインタラクティブ、確率的・非インタラクティブ(PCP)、そして再びインタラクティブ(Kilian)、最後に非インタラクティブ(Micali)へと変遷してきました。SNARKはこの流れの最終段階に位置し、Fiat-Shamir変換を適用した結果、最初のSNARKが誕生しました。
しかし、これらの初期のPCPベースSNARKは、証明者の計算負荷が非常に高く、実用化は困難でした。
それでも、SNARKの設計方式は数十年にわたり継続してきました。業界は、PCPに基づくSNARKから脱却しようと試みても、結局は「線形PCP」などの概念を用いた派生的な手法に頼ることになり、これらはPCPのヒューリスティックに過ぎません。短い証明を実現するSNARKは得られましたが、証明者の速度を最速にしたSNARKには至っていません。
SNARK設計者は、根本的な出発点である和の検査(求和校正)に立ち返ることなく、現代の計算能力を活用した高速・使いやすい証明者を実現できていません。
もし早期に求和校正を採用していれば、SNARKの歴史と進化の流れを非線形に見直す必要があります。具体的には、(a)インタラクティブ証明 → (b) PCP → © 簡潔インタラクティブ証明 → (d) 初期SNARKの発展、といった流れの中で、次のような変化が起きてきました。
(a)インタラクティブ証明から(b) 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コアの「命令取得・解読・実行」の抽象が、バッチ評価の仕組みにどう適用できるかを観察し、最小限の複雑さで比類なき効率を実現しています。
一方、他の zkVMは「プリコンパイル」(ASICのような特定サブプログラム用のアクセラレータ)に大きく依存し、性能を確保しようとします。Joltはこれらのプリコンパイルを排除し、従来のSNARK設計の過ちを繰り返さないようにしています。なぜなら、これらは専門家による設計を必要とし、バグのリスクや開発者の使いやすさの面で問題があるからです。Joltの焦点は、SNARKの普及にあります。
CPUの実行正しさを検証することこそがzkVMの核心価値です。これは開発者体験の大きな革新でもあります。なぜなら、既存の汎用計算基盤を再利用できるからです。世界中の計算インフラはCPUを前提に構築されており、JoltはCPUの固有の「構造」を最大限に活用し、シンプルさと性能を高めています。
Joltは最初から、使いやすさと本番運用レベルの性能を両立させることを重視しています。開発者は既存のプログラムをそのまま検証でき、迅速な検証のためにコードを書き換える必要もありません。Joltは、プリコンパイルや特殊APIに頼ることなく、元のコードの完全性を保ちつつ、採用や監査、反復コストを低く抑えます。
さらに重要なのは、Joltは速度だけでなく、よりシンプルであることです。従来の方案では、仮想マシンの各命令に対応する回路を設計する必要がありましたが、Joltでは各命令を約10行のRustコードで記述できるだけです。回路は不要、コードはわずか10行です。
Joltの次の展望は?
すでに速度面ではリードしていますが、今後の最適化や機能追加(例:再帰やゼロ知識証明、特に楕円曲線暗号から格子暗号への移行)により、今年中にさらなる高速化を実現します。ポスト量子時代も視野に入れています。
Joltは、より多くのアプリケーションを可能にします。ブロックチェーンにとって、長らく期待されてきた拡張性と分散化は、より容易に展開できるようになるでしょう。ゼロ知識証明の総合もすぐに使える状態になり、数か月や数年の暗号工学的努力を必要としません。
さらに、Joltの進化により、スマートフォンやノートPC上で動作する高速・簡便なゼロ知識証明仮想マシンの構築も見据えています。これにより、クライアント側やプライバシー保護の用途で、より多くのユースケースが解放されるでしょう。例えば、スマホ上のプライバシーアプリは、従来維持や運用が難しかったものを、手軽に実現できるようになります。
長期的には、これらの証明システムは、暗号やデジタル署名と並ぶ、世界のデジタルインフラの中核を担う技術となるでしょう。これらの汎用暗号圧縮技術は、例えば50キロバイトの証明書だけを送ることで、何ギガバイトものデータの属性を証明できるなど、非常に強力です。その応用範囲は計り知れず、多くの新しいアプリケーションが生まれる可能性があります。