ブロックチェーンにおけるプログラマブルプライバシー:オフチェーン計算とオンチェーン検証
パブリックブロックチェーンは、プライバシーを犠牲にすることで透明性と完全性を提供します。つまり、すべてのトランザクションとコントラクトの状態が全参加者に公開されます。この公開性は、MEV (マイナー抽出可能価値) 攻撃、コピートレーディング、機密性の高いビジネスロジックの漏洩といった問題を引き起こします。プログラマブルプライバシーは、データ自体を明らかにすることなくプライベートデータに対する計算を可能にすることで、これらの問題を解決することを目指しています。これを可能にしているのが、2つの新しい暗号技術パラダイム、完全準同型暗号仮想マシン (FHE-VM) と ゼロ知識 (ZK) コプロセッサです。これらのアプローチは、オフチェーンまたは暗号化された計算とオンチェーン検証を可能にし、トラストレスな正当性を維持しながら機密性を保護します。本レポートでは、FHE-VM と ZK コプロセッサのアーキテクチャを深く掘り下げ、それらのトレードオフを比較し、金融、アイデンティティ、ヘルスケア、データ市場、分散型機械学習にわたるユースケースを探り ます。
完全準同型暗号仮想マシン (FHE-VM)
完全準同型暗号 (FHE) は、暗号化されたデータを一度も復号することなく、その上で任意の計算を行うことを可能にします。FHE 仮想マシンは、この機能をブロックチェーンのスマートコントラクトに統合し、暗号化されたコントラクトの状態とロジックを可能にします。FHE 対応のブロックチェーン (EVM 互換の設計ではしばしば fhEVM と呼ばれます) では、すべての入力、コントラクトのストレージ、および出力が実行中ずっと暗号化されたままです。これは、バリデーターが機密性の高い値を一切知ることなくトランザクションを処理し、状態を更新できることを意味し、データ機密性を伴うオンチェーン実行を実現します。
FHE-VM のアーキテクチャと設計
典型的な FHE-VM は、標準的なスマートコントラクトのランタイム (イーサリアム仮想マシンのような) を拡張し、暗号化データ型と操作のネイティブサポートを追加します。例えば、Zama の FHEVM は、暗号化された整数 (euint8
, euint32
など)、暗号化されたブール値 (ebool
)、さらには暗号化された配列を第一級の型として導入します。Solidity のようなスマートコントラクト言語は、ライブラリや新しいオペコードを介して拡張され、開発者は算術演算 (add
, mul
など)、論理演算、比較を暗号文上で直接実行できます。内部では、これらの操作は FHE プリミティブ (例えば TFHE ライブラリを使用) を呼び出し、暗号化されたビットを操作して暗号化された結果を生成します。
暗号化された状態ストレージがサポートされているため、コントラクト変数はブロックチェーンの状態で暗号化されたままです。実行フローは通常次のようになります:
- クライアントサイドでの暗号化: ユーザーはトランザクションを送信する前に、公開 FHE 鍵を使用してローカルで入力を暗号化します。暗号化鍵は公開 (暗号化と評価用) ですが、復号鍵は秘密のままです。一部の設計では、各ユーザーが自身の鍵を管理しますが、他の設計では、単一のグローバル FHE 鍵が使用されます (後述)。
- オンチェーンでの準同型計算: マイナー/バリデーターは、暗号化されたオペコードでコントラクトを実行します。彼らは暗号文に対して同じ決定論的な準同型操作を実行するため、暗号化された新しい状態についてコンセンサスに達することができます。重要なのは、バリデーターは平文データを一切見ないことです。彼らは「意味不明な」暗号文を見るだけですが、それでも一貫して処理できます。
- 復号 (任意): 結果を公開したりオフチェーンで使用したりする必要がある場合、秘密鍵を持つ承 認された当事者が出力の暗号文を復号できます。それ以外の場合、結果は暗号化されたままであり、後続のトランザクションの入力として使用できます (永続的な暗号化状態での連続計算を可能にします)。
主要な設計上の考慮事項は鍵管理です。一つのアプローチはユーザーごとの鍵で、各ユーザーが自身の秘密鍵を保持し、自分に関連する出力のみを復号できます。これはプライバシーを最大化しますが (他の誰もあなたのデータを復号できません)、複雑なマルチキープロトコルなしでは、異なる鍵で暗号化されたデータを準同型操作で混合することはできません。Zama の FHEVM で使用されている別のアプローチは、グローバル FHE 鍵です。単一の公開鍵がすべてのコントラクトデータを暗号化し、分散されたバリデーターのセットが閾値復号鍵のシェアを保持します。公開の暗号化鍵と評価鍵はオンチェーンで公開されるため、誰でもネットワークにデータを暗号化できます。秘密鍵はバリデーター間で分割され、閾値スキームの下で必要に応じて集合的に復号できます。バリデーターの共謀によるプライバシー侵害を防ぐため、Zama は「ノイズフラッディング」を伴う閾値 FHE プロトコル (彼らの Noah’s Ark 研究に基づく) を採用し、部分的な復号を安全にしています。十分な数のバリデーターが協力した場合にのみ、例えば読み取りリクエストに応えるために平文を回復できます。しかし、通常の操作では、単一のノードが平文を見ることは決してありません。データは常にオンチェーンで暗号化されたままです。
アクセス制御も重要な要素です。FHE-VM の実装には、誰が (もしいるなら) 復号をトリガーしたり、特定の暗号化フィールドにアクセスしたりできるかを管理するためのきめ細かい制御が含まれています。例えば、Cypher の fhEVM は暗号文に対するアクセス制御リストをサポートしており、開発者はどのアドレスやコントラクトが特定のデータと対話したり、再暗号化したりできるかを指定できます。一部のフレームワークは再暗号化をサポートしています。これは、平文を公開することなく、暗号化された値をあるユーザーの鍵から別のユーザーの鍵へ転送する機能です。これはデータマーケットプレイスのようなものに便利で、データ所有者は自分の鍵でデータセットを暗号化し、購入時に購入者の鍵に再暗号化することができます。これらすべてがオンチェーンで行われ、公に復号されることはありません。
正当性とプライバシーの確保
すべてのデータが暗号化されている場合、どのようにしてコントラクトロジックの正当性を強制するのか、と疑問に思うかもしれません。チェーンが値を「見ることができない」場合、どのようにして無効な操作を防ぐのでしょうか? FHE 自体は正当性の証明を提供しません。バリデーターは準同型ステップを実行できますが、ユーザーの暗号化された入力が有効であったか、条件分岐が取られるべきであったかなど を、復号なしでは本質的に判断できません。ゼロ知識証明 (ZKP) は、このギャップを埋めるために FHE を補完することができます。FHE-VM では、通常、ユーザーは必要に応じて特定の平文条件を証明する ZK 証明を提供する必要があります。例えば、Zama の設計では、各暗号化入力に 平文知識の ZK 証明 (ZKPoK) を添付します。これにより、ユーザーが自身の暗号文に対応する平文を知っており、それが期待される基準を満たしていることを、平文自体を明らかにすることなく証明します。このような**「認証済み暗号文」**は、悪意のあるユーザーが不正な形式の暗号化や範囲外の値を送信するのを防ぎます。同様に、決定が必要な操作 (例: 口座残高 ≥ 引き出し額を確認) の場合、ユーザーは暗号化された操作が実行される前に、この条件が平文で真であることを示す ZK 証明を提供できます。このようにして、チェーンは値を復号したり見たりすることはありませんが、暗号化されたトランザクションがルールに従っているという確信を得ることができます。
FHE ロールアップにおける別のアプローチは、ZKP を用いたオフチェーン検証です。Fhenix (FHE を使用する L2 ロールアップ) は、Threshold Service Network と呼ばれる別のネットワークコンポーネントが暗号化された結果を復号または検証できるオプティミスティックモデルを採用しており、不正な計算は不正証明によって異議を申し立てることができます。一般的に、FHE と ZK または不正証明を組み合わせることで、暗号化された実行が トラストレス であり続けることが保証されます。バリデーターは、承認された場合にのみ集合的に復号するか、各暗号化された状態遷移が平文を見る必要なく有効であったことを証明する証明を検証します。
パフォーマンスに関する考慮事項: FHE 操作は計算負荷が非常に高く、通常の算術演算よりも何桁も遅いです。例えば、イーサリアムでの単純な 64 ビット加算は約 3 ガスかかりますが、Zama の FHEVM で暗号化された 64 ビット整数 (euint64) の加算は約 188,000 ガスかかります。8 ビットの加算でさえ約 94,000 ガスかかることがあります。この莫大なオーバーヘッドは、既存のノードでの単純な実装が非現実的に遅く、高コストになることを意味します。FHE-VM プロジェクトは、最適化された暗号ライブラリ (Zama のバイナリゲートブートストラップ用の TFHE-rs ライブラリなど) やパフォーマンス向上のためのカスタム EVM 修正によってこれに取り組んでいます。例えば、Cypher の修正された Geth クライアントは、新しいオペコードを追加し、C++/アセンブリで準同型命令の実行を最適化してオーバーヘッドを最小限に抑えています。それでも、実用的なスループットを達成するには高速化が必要です。現在進行中の研究には、GPU、FPGA、さらには特殊なフォトニックチップを使用して FHE 計算を高速化することが含まれます。Zama は、2024 年以降、FHE のパフォーマンスが 100 倍向上し、GPU/FPGA の高速化により数千 TPS を目指していると報告しています。専用の FHE コプロセッササーバー (Optalysys の LightLocker Node など) は、バリデーターノードに接続して暗号化操作をハードウェアにオフロードし、ノードあたり毎秒 100 以上の暗号化 ERC-20 転送をサ ポートできます。ハードウェアとアルゴリズムが改善されるにつれて、FHE と平文計算の間のギャップは狭まり、プライベートコントラクトがより実用的な速度に近づくことが可能になります。
互換性: FHE-VM 設計の重要な目標は、既存の開発ワークフローとの互換性を維持することです。Cypher と Zama の fhEVM 実装では、開発者は最小限の変更で Solidity でコントラクトを書くことができます。ライブラリを使用して暗号化された型と操作を宣言するだけです。イーサリアムのツールチェーン (Remix, Hardhat など) の残りの部分は、基盤となる変更が主にクライアント/ノードレベルであるため、引き続き使用できます。これにより、参入障壁が低くなります。開発者は機密性の高いスマートコントラクトを書くために暗号技術の専門家である必要はありません。例えば、2 つの数値の単純な加算は euint32 c = a + b;
と書くことができ、FHEVM が暗号化固有の詳細を裏で処理します。コントラクトは通常のコントラクトと相互運用することもできます。例えば、暗号化されたコントラクトが、必要に応じて復号された結果を標準のコントラクトに出力し、1 つのエコシステム内でプライベート部分とパブリック部分を混在させることができます。
現在の FHE-VM プロジェクト: いくつかのプロジェクトがこの分野を開拓しています。Zama (パリを拠点とする FHE スタートアップ) は、中核となる FHEVM のコンセプトとライブラリ (TFHE-rs と fhevm-solidity
ライブラリ) を開発しました。彼らは独自のチェーンを立ち上げるつもりはなく、むしろ他の人にインフラを提供することを目 指しています。Inco は、Zama の FHEVM を統合してモジュラーな機密チェーンを作成した L1 ブロックチェーン (Cosmos SDK と Evmos 上に構築) です。彼らのテストネット (Gentry と Paillier という名前) は、暗号化された ERC-20 転送やその他のプライベート DeFi プリミティブを実証しています。Fhenix は、プライバシーのために FHE を使用するイーサリアムのレイヤー 2 オプティミスティックロールアップです。FHE と ZK をすべてのブロックで一緒に行うコストが高いため、ZK ロールアップではなくオプティミスティック (不正証明) アプローチを決定しました。Fhenix は同じ TFHE-rs ライブラリ (いくつかの変更あり) を使用し、分散型の方法で復号を処理するための Threshold Service Network を導入しています。また、Fhenix (現在はリブランド) のような独立したチームや、MPC + FHE ハイブリッドを模索するスタートアップも存在します。さらに、Cypher (by Z1 Labs) は、AI とプライバシーに焦点を当てたレイヤー 3 ネットワークを構築しており、シークレットストアや連合学習サポートなどの機能を備えた fhEVM を使用しています。エコシステムはまだ初期段階ですが、多額の資金調達に支えられて急速に成長しています。例えば、Zama は 2025 年までに 1 億 3000 万ドル以上を調達し、「ユニコーン」企業となり、FHE 技術の進歩を推進しています。
要約すると、FHE-VM は、すべてのロジックをオンチェーンの暗号化データ上で実行することにより、プライバシーを保護するスマートコントラクトを可能にします。このパラダイムは最大限の機密性を保証し (機密性の高いものはトランザクションや状態で公開されることはありません)、既存のブロックチェーンコンセンサスを完全性のために活用します。その代償は、バリデーターの計算負荷の増加と、鍵管理および証明の統合における複雑さです。次に、計算を完全にオフチェーンにオフロードし、チェーンを検証にのみ使用する代替パラダイム、ゼロ知識コプロセッサを探ります。
ゼロ知識コプロセッサ (ZK-Coprocessors)
ZK コプロセッサは、高コストな計算をオフチェーンで実行し、その正当性の簡潔なゼロ知識証明をオンチェーンで検証する新しいブロックチェーンアーキテクチャパターンです。これにより、スマートコントラクトは、トラストレス性を犠牲にすることなく、オンチェーン実行で許容されるよりもはるかに大きな計算能力とデータを活用できます。_コプロセッサ_という用語は、CPU のために特殊なタスクを処理するハードウェアコプロセッサ (数学コプロセッサや GPU など) との類推から使用されています。ここでは、ブロックチェーンの「CPU」(EVM のようなネイティブ VM) が、特定のタスクを暗号コプロセッサとして機能するゼロ知識証明システムに委任します。ZK コプロセッサは、結果 と その結果が正しく計算されたことの証明を返し、オンチェーンのコントラクトはそれを検証して使用できます。
アーキテクチャとワークフロー
典型的な設定では、dApp 開発者は、アプリケーションロジックの中でオンチェーン実行にはコストがかかりすぎる、または複雑すぎる部分 (例えば、履歴データに対する大規模な計算、重いアルゴリズム、ML モデルの推論など) を特定します。彼らはそれらの部分を、その実行のゼロ知識証明を生成できるオフチェーンプログラム (高水準言語またはサーキット DSL で) として実装します。オンチェーンコンポーネントは、証明をチェックし、結果をシステムの他の部分で利用可能にする検証者スマートコントラクトです。このフローは次のように要約できます:
- リクエスト – オンチェーンコントラクトが、特定の計算をオフチェーンで行うようリクエストをトリガーします。これは、ユーザートランザクションによって開始されるか、あるコントラクトが ZK コプロセッサのインターフェースを呼び出すことによって行われます。例えば、DeFi コントラクトが “proveInterestRate(currentState)” を呼び出したり、ユーザーが “queryHistoricalData(query)” を呼び出したりします。
- オフチェーン実行と証明 – オフチェーンサービス (分散型証明者ネットワークまたは信頼されたサービス、設計による) がリクエストを受け取ります。必要なデータ (オン チェーンの状態、オフチェーンの入力など) を収集し、特別な ZK 仮想マシン (ZKVM) またはサーキットで計算を実行します。実行中に、証明トレースが生成されます。最後に、サービスは 「入力 X に対して関数 F を計算すると出力 Y が得られる」 ことを証明する簡潔な証明 (例: SNARK または STARK) を生成し、任意でデータの完全性も証明します (詳細は後述)。
- オンチェーン検証 – 証明と結果はブロックチェーンに返されます (多くの場合、コールバック関数を介して)。検証者コントラクトは、効率的な暗号検証 (ペアリングチェックなど) を使用して証明の有効性をチェックします。有効であれば、コントラクトは出力 Y を正しいものとして信頼できます。結果は状態に保存されたり、イベントとして発行されたり、さらなるコントラクトロジックに供給されたりします。証明が無効であるか、一定時間内に提供されない場合、リクエストは失敗したと見なされ (潜在的に何らかのフォールバックまたはタイムアウトロジックがトリガーされます)、処理されます。
図 1: ZK コプロセッサのアーキテクチャ (RISC Zero Bonsai の例)。オフチェーンでは、スマートコントラクトの呼び出しからの入力で ZKVM 上でプログラムが実行されます。実行の証明はリレーコントラクトを介してオンチェーンに返され、検証済みの結果とともにコールバックを呼び出します。
重要なのは、検証のためのオンチェーンのガス費用は、オフチェーンの計算がどれほど複雑であっても一定 (または非常にゆっくりと増加する) であることです。簡潔な証明の検証には数十万ガス (イーサリアムブロックの数分の一) かかるかもしれませんが、その証明はオフチェーンで行われた 数百万 の計算ステップを表すことができます。ある開発者が言ったように、「1 つのデジタル署名を証明したいですか? 約 15 ドルです。100 万の署名を証明したいですか? それも約 15 ドルです。」。このスケーラビリティは大きな利点です。dApp は、ブロックチェーンを詰まらせることなく、複雑な機能 (ビッグデータ分析、精巧な金融モデルなど) を提供できます。
ZK コプロセッサシステムの主なコンポーネントは次のとおりです:
-
証明生成環境: これは、汎用の ZKVM (任意のプログラムを実行可能) または特定の計算に合わせたカスタムサーキットにすることができます。アプローチは様々です:
- 一部のプロジェクトは、サポートされている各クエリまたは関数に対して手作りのサーキットを使用します (その関数の効率を最大化します)。
- 他のプロジェクトは、開発者がオフチェーンロジックを記述するために使用するドメイン固有言語 (DSL) または埋め込み DSL を提供し、それがサーキットにコンパイルされます (使いやすさとパフォーマンスのバランスを取ります)。
- 最も柔軟なアプローチは zkVM です。これは、(多くの場合 RISC アーキテクチャに基づく) 仮想マシンで、プログラムを標準言語 (Rust, C など) で記述し、自動的に証明することができます。これはパフォーマンスを犠牲にしますが (サーキットで CPU をシミュレートするとオーバーヘッドが追加されます)、_開発者体験を最大 化_します。
-
データアクセスと完全性: 特有の課題は、オフチェーン計算に正しいデータを供給することです。特にそのデータがブロックチェーン上 (過去のブロック、コントラクトの状態など) に存在する場合です。単純な解決策は、証明者にアーカイブノードから読み取らせてそれを 信頼 させることですが、これは信頼の仮定を導入します。ZK コプロセッサは代わりに、マークル証明や状態コミットメントにリンクすることで、使用されたオンチェーンデータが確かに本物であったことを証明します。例えば、クエリプログラムはブロック番号とストレージスロットまたはトランザクションのマークル証明を受け取り、サーキットはその証明を既知のブロックヘッダーハッシュに対して検証します。3 つのパターンが存在します:
- インラインデータ: 必要なデータをオンチェーンに (検証者への入力として) 置くことで、直接チェックできるようにします。これは大規模なデータには非常にコストがかかり、全体の目的を損ないます。
- オラクルを信頼する: オラクルサービスにデータを証明に供給させ、それを保証させます。これはよりシンプルですが、第三者への信頼を再導入します。
- ZK を介してデータの包含を証明する: ゼロ知識サーキット自体の中に、チェーンの履歴におけるデータの包含証明を組み込みます。これは、各イーサリアムブロックヘッダーが (ステートルートを介して) 以前の全状態とトランザクション履歴にコミットしているという事実を活用します。サーキット内でデータのマークルパトリシア証明を検証することにより、出力証明はコントラクトに 「この計算はブロック N からの本物のブロックチェーンデータを使用した」 ことを、追加の信頼なしで保証します。
3 番目のアプローチが最もトラストレスであり、Axiom や Xpansion のような高度な ZK コプロセッサで使用されています (証明コストは増加しますが、セキュリティ上好ましいです)。例えば、Axiom のシステムは、イーサリアムのブロック構造、ステートトライ、トランザクショントライをサーキット内でモデル化しているため、「アカウント
X
はブロックN
で残高Y
を持っていた」 や 「特定のプロパティを持つトランザクションがブロック N で発生した」 のようなステートメントを証明できます。これは、最近の信頼されたブロックハッシュが与えられれば、外部の当事者を信頼することなく、履歴データの包含を再帰的に証明できるという事実を活用しています。 -
検証者コントラクト: このオンチェーンコントラクトには、証明を受け入れるか拒否するための検証鍵とロジックが含まれています。Groth16 や PLONK のような SNARK の場合、検証者はいくつかの楕円曲線ペアリングを行うかもしれません。STARK の場合、いくつかのハッシュ計算を行うかもしれません。集約や再帰のようなパフォーマンス最適化により、オンチェーンの負荷を最小限に抑えることができます。例えば、RISC Zero の Bonsai は STARK-to-SNARK ラッパーを使用します。速度のためにオフチェーンで STARK ベースの VM を実行しますが、その後、STARK の有効性を証明 する小さな SNARK 証明を生成します。これにより、証明サイズが数百キロバイトから数百バイトに縮小され、オンチェーンでの検証が実現可能かつ安価になります。Solidity の検証者は、その後 SNARK をチェックするだけです (これは定数時間の操作です)。
デプロイメントに関して、ZK コプロセッサは レイヤー 2 のような ネットワークとして、または純粋なオフチェーンサービスとして機能することができます。Axiom のように、イーサリアム向けの特化サービスとして始まったものもあります (Paradigm の支援を受けて)。開発者は Axiom の証明者ネットワークにクエリを送信し、オンチェーンで証明を取得します。Axiom のキャッチフレーズは、イーサリアムコントラクトに 「すべてのオンチェーンデータへのトラストレスなアクセスと、それに対する任意の表現力豊かな計算」 を提供することでした。これは、答えが信頼ではなく ZKP によって検証されるクエリオラクルとして効果的に機能します。RISC Zero の Bonsai のような他のものは、よりオープンなプラットフォームを提供します。どの開発者でもプログラム (RISC-V 互換の ZKVM にコンパイルされたもの) をアップロードし、リレーコントラクトを介して Bonsai の証明サービスを使用できます。図 1 に示されているリレーパターンは、リクエストとレスポンスを仲介するコントラクトを含みます。dApp コントラクトはリレーを呼び出して証明を要求し、オフチェーンサービスはこれを聞き (例えばイベントや直接呼び出しを介して)、証明を計算し、その後リレーが dApp コントラクトのコールバック 関数を結果と証明とともに呼び出します。この非同期モデルは、証明が複雑さによって数秒から数分かかる可能性があるため必要です。これはレイテンシー (および証明者が応答するという活性仮定) を導入しますが、FHE-VM の計算はブロック内で同期的に行われます。この非同期ワークフロー (おそらくオラクルの応答に似ています) を処理するようにアプリケーションを設計することは、ZK コプロセッサを使用する一部です。
注目すべき ZK コプロセッサプロジェクト
-
Axiom: Axiom はイーサリアムに特化した ZK コプロセッサで、当初は 履歴 オンチェーンデータのクエリを証明することに焦点を当てていました。Halo2 証明フレームワーク (Plonk-ish SNARK) を使用して、イーサリアムの暗号構造を組み込んだ証明を作成します。Axiom のシステムでは、開発者は 「ブロック N でのコントラクト X の状態はどうだったか?」 のようなことをクエリしたり、ある範囲のすべてのトランザクションにわたる計算を実行したりできます。内部では、Axiom のサーキットはイーサリアムの状態/トライロジックを実装する必要があり、再帰をサポートするためにサーキット内で楕円曲線演算や SNARK 検証さえも実行していました。Trail of Bits は監査で、Axiom の Halo2 サーキットがブロック全体と状態をモデル化す る複雑さを指摘しました。監査後、Axiom はその技術を OpenVM に一般化し、同じ Halo2 ベースのインフラで任意の Rust コードを証明できるようにしました。(これは、ドメイン固有のサーキットからより一般的な ZKVM アプローチへの移行というトレンドを反映しています。) Axiom チームは、イーサリアムがネイティブでは実行できない ZK クエリを実証し、暗号的な完全性を備えたあらゆる履歴データへの ステートレスアクセス を可能にしました。彼らはまた、セキュリティを重視し、制約不足のサーキットバグを捕捉・修正し、健全性を確保しました。Axiom の初期製品はピボット中にシャットダウンされましたが、そのアプローチは ZK コプロセッサにおける画期的なものとして残っています。
-
RISC Zero Bonsai: RISC Zero は RISC-V アーキテクチャに基づく ZKVM です。彼らの zkVM は任意のプログラム (Rust, C++ および RISC-V にコンパイルされる他の言語で書かれたもの) を実行し、実行の STARK 証明を生成できます。Bonsai は RISC Zero のクラウドサービスであり、この証明をオンデマンドで提供し、スマートコントラクトのコプロセッサとして機能します。これを使用するには、開発者はプログラム (例えば、複雑な数学計算を実行したり、オフチェーン API の応答を検証したりする関数) を書き、それを Bonsai サービスにアップロードし、対応する検証者コントラクトをデプロイします。コントラクトがその計算を必要とするとき、Bonsai リレーを呼び出し、それが証明生成をトリガーし、コールバックを介して結果を返します。実証されたアプリケーションの一例は、 オフチェーンでのガバナンス計算でした。RISC Zero は、DAO が Bonsai を使用して票を集計し、複雑な投票メトリクスをオフチェーンで計算し、その後、オンチェーンの Governor コントラクトが最小限のガス費用で結果を信頼できるように証明を投稿する様子を示しました。RISC Zero の技術は、開発者が使い慣れたプログラミングパラダイムを使用できることを強調しています。例えば、何かを計算するための Rust 関数を書き、サーキット作成の重労働は zkVM が処理します。しかし、証明は大きくなる可能性があるため、前述のように、オンチェーン検証のために SNARK 圧縮を実装しました。2023 年 8 月、彼らはイーサリアムの Sepolia テストネットで RISC Zero の証明を正常に検証し、証明あたり 30 万ガス程度のコストがかかりました。これにより、イーサリアム dApp がスケーリングおよびプライバシーソリューションとして Bonsai を 今日 使用する道が開かれました。(Bonsai はまだアルファ版であり、本番環境には対応しておらず、セレモニーなしの一時的な SNARK セットアップを使用しています。)
-
その他: 他にも多数のプレイヤーや研究イニシアチブがあります。Expansion/Xpansion (ブログで言及) は、埋め込み DSL アプローチを使用しており、開発者は特殊な言語でオンチェーンデータに対するクエリを記述でき、内部で証明生成を処理します。StarkWare の Cairo や Polygon の zkEVM はより一般的な ZK ロールアップ VM ですが、その技術は L1 コントラクト内で証明を検証することにより、コプロセッサのような用途に再利用できます。また、ZKML (ZK 機械学習) ドメインのプロジェクトも見られます。これらは、ML モデルの推論やトレーニング結果をオンチェーンで検証するためのコプロセッサとして効果的に機能します。例えば、zkML セットアップは、入力を明らかにしたり、オンチェーンで計算を行ったりすることなく、「プライベート入力に対するニューラルネットワークの推論が分類 X を生成した」 ことを証明できます。これらは、AI に適用されたコプロセッサコンセプトの特殊なケースです。
信頼の仮定: ZK コプロセッサは、暗号証明の健全性に依存しています。証明システムが安全であれば (そして、信頼されたセットアップが正直に行われていれば)、受け入れられた証明は計算が正しかったことを保証します。証明者に対する追加の信頼は不要です。悪意のある証明者でさえ、偽のステートメントを検証者に納得させることはできません。しかし、活性仮定があります。誰かが実際にオフチェーン計算を実行し、証明を生成しなければなりません。実際には、これは分散型ネットワーク (インセンティブや手数料で作業を行う) または単一のサービスオペレーターかもしれません。誰も証明を提供しない場合、オンチェーンのリクエストは未解決のままになる可能性があります。もう一つの微妙な信頼の側面は、ブロックチェーン上にないオフチェーン入力のデータ可用性です。計算が何らかのプライベートまたは外部データに依存する場合、検証者は、追加の措置 (データコミットメントやオラクル署名など) が使用されない限り、そのデータが正直に提供されたか どうかを知ることができません。しかし、純粋にオンチェーンデータの計算については、説明されたメカニズムがチェーン自体と同等のトラストレス性を保証します (Axiom は、彼らの証明が履歴クエリに対して「イーサリアムと暗号的に同等のセキュリティ」を提供すると主張しました)。
プライバシー: ゼロ知識証明は本質的にプライバシーもサポートします。証明者は、それらに関するステートメントを証明しながら、入力を隠しておくことができます。コプロセッサの文脈では、これは、証明がコントラクトにプライベートデータから導出された結果を使用させることを可能にすることを意味します。例えば、証明は、実際のクレジットスコアや生データを明らかにすることなく、「ユーザーのクレジットスコア > 700 なので、ローンを承認する」 ことを示すことができます。Axiom のユースケースは、公に知られているデータ (ブロックチェーンの履歴) に関するものであったため、プライバシーは焦点ではありませんでした。しかし、RISC Zero の zkVM は、ユーザーが提供した秘密データに関するアサーションを証明するために使用できます。データはオフチェーンに留まり、必要な結果のみがオンチェーンに渡されます。FHE とは異なり、ZK 証明は通常、状態の継続的な機密性を提供しないことに注意する価値があります。それは一度きりの証明です。ワークフローがトランザクション間で秘密の状態を維持する必要がある場合、コントラクトに状態への コミットメント を保存させ、各証明が古いコミットメントから新しいコミットメントへの有効な状態遷移を示し、秘密は隠され たままにすることで構築できます。これは本質的に、プライベートトランザクションのための zk-ロールアップ (Aztec や Zcash のような) が機能する方法です。したがって、ZK コプロセッサは完全にプライベートなステートマシンを促進 できます が、実装は簡単ではありません。多くの場合、入力または出力 (あるいはその両方) が必要に応じてプライベートにできる 一度きりの計算 に使用されます。
開発者体験: ZK コプロセッサを使用するには、通常、新しいツールを学ぶ必要があります。カスタムサーキットを書くこと (上記のオプション (1)) は非常に複雑で、通常は狭い目的のためにのみ行われます。DSL や zkVM のような高レベルのオプションは生活を楽にしますが、それでもオーバーヘッドを追加します。開発者はオフチェーンコードを書いてデプロイし、その相互作用を管理しなければなりません。FHE-VM では暗号化がほとんど裏で処理され、開発者は通常のスマートコントラクトコードを書くのに対し、ここでは開発者はロジックを分割し、オフチェーン部分のために異なる言語 (Rust など) で書く必要があるかもしれません。しかし、Noir, Leo, Circom DSL や RISC Zero のアプローチのようなイニシアチブは、アクセシビリティを急速に向上させています。例えば、RISC Zero はテンプレートと Foundry の統合を提供しており、開発者はオフチェーンコードをローカルでシミュレートし (正当性のために)、その後 Bonsai のコールバックを介してシームレスに Solidity のテストにフックすることができます。時間が経つにつれて、ロジックの一部が ZK 証明を介して実行され るかオンチェーンで実行されるかを抽象化する開発フレームワークが期待できます。コンパイラやツールがコストに基づいて決定するかもしれません。
FHE-VM vs ZK-コプロセッサ: 比較
FHE-VM と ZK コプロセッサはどちらも 「オンチェーンの保証付きでプライベートデータ上で計算する」 という形態を可能にしますが、アーキテクチャが根本的に異なります。以下の表は、主な違いをまとめたものです:
側面 | FHE-VM (暗号化されたオンチェーン実行) | ZK-コプロセッサ (オフチェーンでの証明) |
---|---|---|
計算が行われる場所 | 直接オンチェーン (すべてのノードが暗号文に対して準同型操作を実行)。 | オフチェーン (証明者またはネットワークがプログラムを実行し、証明のみがオンチェーンで検証される)。 |
データ機密性 | 完全な暗号化: データはオンチェーンで常に暗号化されたまま。バリデーターは平文を見ることがない。復号鍵の所有者のみが出力を復号できる。 | ゼロ知識: 証明者のプライベート入力はオンチェーンで公開されない。証明は公開出力に含まれるもの以外の秘密を明かさない。ただし、オンチェーンの状態に影響を与える必要のある計算で使用されるデータは、出力ま たはコミットメントにエンコードする必要がある。秘密はデフォルトでオフチェーンに留まる。 |
信頼モデル | コンセンサス実行と暗号技術への信頼: バリデーターの大多数がプロトコルに従えば、暗号化された実行は決定論的で正しい。計算の正当性に外部の信頼は不要 (すべてのノードが再計算するため)。プライバシーのためには FHE スキームのセキュリティ (通常は格子困難性に基づく) を信頼する必要がある。一部の設計では、十分な数のバリデーターが共謀して閾値鍵を悪用しないことも信頼する必要がある。 | 証明システムのセキュリティ (SNARK/STARK の健全性) への信頼。証明が検証されれば、結果は暗号的な確実性をもって正しい。オフチェーンの証明者は数学をごまかすことはできない。証明者が実際に作業を行うという活性仮定がある。信頼されたセットアップ (例: SNARK SRS) を使用する場合、それが正直に生成されたことを信頼するか、透明/セットアップ不要のシステムを使用する必要がある。 |
オンチェーンコストとスケーラビリティ | トランザクションあたりのコストが高い: 準同型操作は計算コストが非常に高く、すべてのノードが実行する必要がある。ガス費用は高い (例: 8 ビット加算 1 回で 10 万ガス以上)。複雑なコントラクトは、すべてのバリデーターが 1 ブロックで計算できる範囲に制限される。スループットは、特殊なハードウェアが採用されない限り、通常のスマートコントラクトよりもはるかに低い。スケーラビリティは、より高速な暗号技術とハードウェアアクセラレーションによって向上す るが、基本的には各操作がチェーンのワークロードを増加させる。 | 検証コストが低い: 簡潔な証明の検証は効率的でサイズが一定であるため、オンチェーンのガスは控えめ (どんなサイズの計算でも数十万ガス)。これにより、複雑さがオンチェーンのリソース制限から切り離される。大規模な計算でもオンチェーンの追加コストはない。したがって、オンチェーンの負荷という点で スケール する。オフチェーンでは、証明時間はかなり長くなる可能性があり (巨大なタスクでは数分以上)、強力なマシンが必要になるかもしれないが、これはブロックチェーンを直接遅くするものではない。証明が時間内に生成できる限り (並列証明者ネットワークの可能性)、全体的なスループットは高くなる可能性がある。 |
レイテンシー | 計算が実行中に行われるため、結果は同じトランザクション/ブロックですぐに利用可能。追加のラウンドトリップは不要 – 同期操作。ただし、FHE 操作が遅い場合、ブロック処理時間が長くなり、ブロックチェーンのレイテンシーが増加する可能性がある。 | 本質的に非同期。通常、リクエストのための 1 つのトランザクションと、後で証明/結果を提供するためのトランザクション (またはコールバック) が必要。これにより遅延が発生する (証明の複雑さと証明ハードウェアによっては数秒から数時間)。単一トランザクションの即時ファイナリティには適していない – むしろ 非同期ジョブ モデルに近い。 |
プライバシー保証 | 強力: すべて (入力、出力、中間状態) がオンチェー ンで暗号化されたままにできる。複数のトランザクションがそれを明らかにすることなく更新する、長期間存続する暗号化状態を持つことができる。承認された復号アクション (もしあれば) のみが結果を明らかにし、それらは鍵/ACL を介して制御できる。ただし、ガス使用量やイベントログのようなサイドチャネルの考慮事項は、パターンが漏洩しないように管理する必要がある (fhEVM 設計は、漏洩を避けるためにデータ非依存の実行と操作のための定数ガスを目指している)。 | 選択的: 証明は、公開出力にあるもの、または検証に必要なもの (例: 初期状態へのコミットメント) を明らかにする。設計者は、意図した結果のみが明らかにされ、他のすべての入力がゼロ知識で隠されたままであることを保証できる。しかし、FHE とは異なり、ブロックチェーンは通常 隠された 状態を保存しない – プライバシーはデータを完全にオフチェーンに保つことによって達成される。永続的なプライベート状態が必要な場合、コントラクトはそれに対する暗号コミットメントを保存することがある (そのため、状態更新は毎回新しいコミットメントを明らかにする)。プライバシーは証明することを選択したものによって制限される。例えば、正確な値を明らかにすることなく閾値が満たされたことを証明する柔軟性がある。 |
完全性の強制 | 設計上、すべてのバリデーターは次の状態を準同型的に再計算するため、悪意のあるアクターが間違った暗号文の結果を提供した場合、他のバリデーターは不一致を検出し、全員が同じ結果を得ない限りコンセンサスは失敗する。したがって、完全性は冗長な実行によって強制される (通常のブロックチェーンと同様、ただし暗号化データ上)。バリデーターは平文の条件を直接チェックできないため、ビジネスルール (例: ユーザーが制約に違反できなかった) を強制するために追加の ZK 証明がしばしば使用される。 | 完全性は、ZK 証明をチェックする検証者コントラクトによって強制される。証明が検証される限り、結果はオフチェーンプログラムの何らかの有効な実行と一致することが保証される。正当性のために正直な多数派の仮定は不要 – 単一の正直な検証者 (コントラクトコード自体) で十分。オンチェーンコントラクトは、不正な証明や欠落した証明を単に拒否する (無効な署名を拒否するのと同様)。考慮事項: 証明者が中止または遅延した場合、コントラクトにはフォールバックロジックが必要になるかもしれないが (またはユーザーが後で再試行する必要があるかもしれないが)、不正な結果は受け入れない。 |
開発者体験 | 長所: 拡張機能を使えば、使い慣れたスマートコントラクト言語 (Solidity など) をほぼ使用できる。機密性はプラットフォームによって処理される – 開発者は主に何を暗号化し、誰が鍵を持つかを心配する。暗号化されたコントラクトと通常のコントラクトの構成が可能で、DeFi の構成可能性を維持する (ただし暗号化された変数を使用)。短所: FHE の制限を理解する必要がある – 例: 特別な処理なしでは秘密データに対する直接の条件分岐はできない、サーキットの深さが限られる (ただし TFHE のブートストラップは時間と引き換えに任意の長さの計算を可能にする)。暗 号化されたロジックのデバッグは、鍵なしではランタイム値を簡単に内省できないため、トリッキーになる可能性がある。また、鍵管理と権限設定はコントラクト設計に複雑さを加える。 | 長所: オフチェーン部分には任意のプログラミング言語を使用できる可能性がある (特に zkVM を使用する場合)。オフチェーンプログラムで既存のコード/ライブラリを活用できる (ZK 互換性の注意点あり)。汎用 ZKVM を使用する場合、開発者によるカスタム暗号技術は不要 – 通常のコードを書き、証明を得る。また、重い計算は、オンチェーンでは決して実行できないライブラリ (例: 機械学習コード) を使用できる。短所: 開発者はオフチェーンインフラを調整するか、証明サービスを使用する必要がある。非同期ワークフローの処理とオンチェーンロジックとの統合には、より多くの設計作業が必要 (例: 保留中の状態の保存、コールバックの待機)。効率的なサーキットや zkVM コードを書くには、新しい制約を学ぶ必要があるかもしれない (例: 浮動小数点数なし、固定小数点または特殊プリミティブを使用、証明時間を爆発させる重い分岐を避ける、制約数に最適化する)。また、証明の失敗やタイムアウトなどに対処する負担もあり、これらは通常の Solidity では懸念事項ではない。ツールのエコシステムは成長しているが、多くの人にとって新しいパラダイムである。 |
両アプローチは積極的に改善されており、収束も見られます。前述のように、ZKPs は FHE-VM 内部 で特定のチェックに使用され、逆に一部の研究者は ZK で証明者の入力をプライベートに保つために FHE を使用することを提案しています (クラウド証明者があなたの秘密データを見ないように)。将来のシステムがこれらを組み合わせることは考えられます。例えば、オフチェーンで FHE を実行し、その正当性をチェーンに証明したり、オンチェーンで FHE を使用し、暗号化操作が正しく行われたことをライトクライアントに ZK 証明したりするなどです。各技術には強みがあります。FHE-VM は重い計算を犠牲にして 継続的なプライバシーとリアルタイムの相互作用 を提供し、ZK コプロセッサはレイテンシーと複雑さを犠牲にして スケーラビリティと柔軟性 を提供します。
ユースケースと影響
プログラマブルプライバシーの出現は、業界全体で新しいブロックチェーンアプリケーションの富を解き放ちます。以下では、FHE-VM と ZK コプロセッサ (またはハイブリッド) が、プライバシーを保護するスマートコントラクトと安全なデータエコノミーを可能にすることで、さまざまなドメインをどのように強化できるかを探ります。
機密 DeFi と金融
分散型金融において、プライバシーはフロントランニングを軽減し、取引戦略を保護し、必要な場合には透明性を犠牲にすることなくコンプライアンスを満たすことができます。機密 DeFi は、ユーザーが自分のポジションを世界に公開することなくプロトコルと対話することを可能にします。
-
プライベートトランザクションと隠蔽残高: FHE を使用すると、機密トークン転送 (暗号化された ERC-20 残高とトランザクション) やブロックチェーン L1 上のシールドプールを実装できます。観察者はあなたがどのトークンをどれだけ保有しているか、または転送したかを見ることができず、保有量に基づく標的型攻撃のリスクを排除します。ZK 証明は、残高が同期を保ち、二重支払いが発生しないことを保証できます (Zcash に似ていますが、スマートコントラクトプラットフォーム上です)。一例として、プールリザーブと取引がオンチェーンで暗号化される機密 AMM (自動マーケットメーカー) があります。裁定取引者やフロントランナーは、取引が決済されるまで価格の滑りを見ることができないため、プールを悪用できません。MEV を削減します。一定の遅延後、またはアクセス制御されたメカニズムを介してのみ、監査のために一部のデータが公開される場合があります。
-
MEV 耐性のあるオークションと取引: マイナーやボットは、トランザクションの透明性を利用して取引をフロントランします。暗号化を使用すると、注文が暗号文で送信される暗号化メンプールやバッチオークションを持つことができます。オークションがクリアされた後にのみ、取引が復号されます。このコンセプトは、公正な注文フロー とも呼ばれ、閾値復号 (複数のバリデーターが集合的にバッチを復号) や、個々の入札を明らかにすることなく ZK を介してオークションの結果を証明することで達成できます。例えば、ZK コプロセッサは、オフチェーンで封印された入札のバッチを受け取り、オークションのクリア価格を計算し、その価格と勝者だけを証明付きで出力することができます。これにより、敗者の入札の公平性とプライバシーが保護されます。
-
機密レンディングとデリバティブ: DeFi レンディングでは、ユーザーはローンや担保の規模を公開したくない場合があります (市場心理に影響を与えたり、悪用を招いたりする可能性があるため)。FHE-VM は、各ローンの詳細が暗号化された暗号化されたローンブックを維持できます。スマートコントラクトロジックは、暗号化された健全性係数上で操作することにより、清算条件のようなルールを引き続き強制できます。ローンの担保比率が閾値を下回った場合、コントラクトは (ZK 証明の助けを借りて) 正確な値を公開することなく清算のためにフラグを立てることができます。平文でイエス/ノーのフラグを生成するだけかもしれません。同様に、秘密のデリバティブやオプションポジションをオンチェーンで管理し、集計されたリスクメトリクスのみを公開することができます。これにより、コピートレーディングを防ぎ、独自の戦略を保護し、より多くの機関投資家の参加を促すことができます。
-
コンプライアンスを遵守したプライバシー: すべての金融コンテキストが完全な匿名性を望んでいるわけではありません。規制のために 選択的開示 が必要な場合があります。これらのツールを使用すると、規制された プライバシーを実現できます。例えば、取引は一般にはプライベートですが、規制された取引所は特定のプロパティについて復号したり、証明を受け取ったりできます。ZK を介して、「この取引はブラックリストに載っているアドレスを含まず、両当事者は KYC 認証済みである」 ことを、チェーンに身元を明かすことなく証明できます。このバランスは、他のすべての人に対してユーザーの身元とポジションを機密に保ちながら、マネーロンダリング対策 (AML) ルールを満たすことができます。FHE は、オンチェーンのコンプライアンスオフィサーコントラクトが、リスクシグナルのために暗号化されたトランザクションをスキャンすることを可能にします (例えば、裁判所命令の下でのみアクセス可能な復号鍵を使用して)。
デジタルアイデンティティと個人データ
アイデンティティシステムは、オンチェーンのプライバシー技術から大きな利益を得ることができます。現在、個人の資格情報や属性を公開台帳に載せることは、プライバシー法やユーザーの抵抗のために非現実的です。FHE と ZK を使用すると、自己主権型アイデンティティをプライバシーを保護する方法で実現できます:
-
ゼロ知識クレデンシャル: ZK 証明 (一部のアイデンティティプロジェクトではすでに一 般的) を使用すると、ユーザーは他の個人情報を一切明かすことなく、「私は 18 歳以上です」、「有効な運転免許証を持っています」、または 「(信用スコアリングのために) 5 万ドル以上の収入があります」 のようなステートメントを証明できます。ZK コプロセッサは、オフチェーンでより複雑なチェックを処理することでこれを強化できます。例えば、Axiom のような方法でプライベートな信用データベースをクエリし、ユーザーのクレジットスコアが閾値以上であることを証明し、ブロックチェーンにはイエス/ノーのみを出力します。
-
DeFi における機密 KYC: 法律によりユーザーが KYC 認証済みであることを確認しなければならない DeFi プロトコルを想像してみてください。FHE-VM を使用すると、ユーザーの資格情報をオンチェーンで暗号化して保存 (または DID を介して参照) し、スマートコントラクトが FHE 計算を実行して KYC 情報が要件を満たしていることを検証できます。例えば、コントラクトは、暗号化されたユーザープロファイルの 名前 と SSN が、制裁対象ユーザーリスト (これも暗号化) と一致するか、またはユーザーの国が制限されていないかを準同型的にチェックできます。コントラクトは暗号化された「合格/不合格」のみを取得し、これはネットワークバリデーターによってブール値フラグに閾値復号できます。ユーザーが許可されているかどうかの事実のみが明らかにされ、PII の機密性を保護し、GDPR の原則に沿っています。この選択的開示は、コンプライアンスとプライバシーを保証します。
-
属性ベースのアクセスと選択的開示: ユーザーは、検証可能な資格情報 (年齢、市民権、スキルなど) の束を暗号化された属性として保持できます。彼らは、すべてを開示することなく、特定の dApp がそれらに対して計算を実行することを許可できます。例えば、分散型採用 dApp は、(FHE を使用して) 暗号化された履歴書で検索を実行し (例: 経験年数を数える、資格を確認する)、一致が見つかった場合にのみ、オフチェーンで候補者に連絡することができます。候補者のプライベートな詳細は、彼らが公開を選択しない限り暗号化されたままです。ZK 証明はまた、ユーザーが属性の組み合わせ (例: 21 歳以上 かつ 特定の郵便番号内) を持っていることを、実際の値を明らかにすることなく選択的に証明することを可能にします。
-
多者間本人確認: 時には、ユーザーの身元が複数の当事者によって審査される必要があります (例えば、会社 A による身元調査、会社 B による信用調査)。準同型および ZK ツールを使用すると、各検証者は暗号化されたスコアまたは承認を提供でき、スマートコントラクトはこれらを集計して最終決定を下すことができます。個々の貢献を公開することなく。例えば、3 つの機関が暗号化された「合格/不合格」ビットを提供し、3 つすべてが合格であればコントラクトが承認を出力します。ユーザーまたは依拠当事者は最終結果のみを見ることができ、どの特定の機関が不合格にしたかはわからず、各機関でのユーザーの記録のプライバシーを保護します。これにより、例えば、1 つの不合格が特定の問題を明らかにするという偏見や汚名を減 らすことができます。
ヘルスケアと機密データ共有
ヘルスケアデータは非常に機密性が高く、規制されていますが、複数のソースからのデータを組み合わせることで、(研究、保険、個別化医療のために) 大きな価値を生み出すことができます。プライバシーが解決されれば、ブロックチェーンはデータ交換のための信頼層を提供できます。機密スマートコントラクトは、新しい健康データエコシステムを可能にする可能性があります:
-
安全な医療データ交換: 患者は、自分の医療記録への参照を暗号化された形式でオンチェーンに保存できます。FHE 対応のコントラクトにより、研究機関は患者データのコホートに対して、それを復号することなく 分析を実行できます。例えば、コントラクトは、暗号化された患者の転帰にわたる薬剤の平均有効性を計算できます。集計された統計結果のみが復号されて出力され (そしておそらく、再識別を防ぐために最小数の患者が含まれている場合にのみ)、出力されます。患者は、自分のプライバシーが保護されていることを知っているため、暗号化されたデータを研究に提供することでマイクロペイメントを受け取ることができます。ブロックチェーンや研究者でさえ、暗号文または集計証明しか見ないためです。これは、プライバシーを尊重するヘルスケア向けデータマーケ ットプレイスを育成します。
-
プライバシーを保護する保険金請求: 健康保険の請求処理は、保険会社にデータを公開することなく医療データの条件を検証するスマートコントラクトを介して自動化できます。請求には、暗号化された診断コードと暗号化された治療費が含まれる場合があります。コントラクトは、FHE を使用して、その暗号化されたデータに対してポリシールール (例: 補償範囲、免責金額) をチェックします。保険会社のブロックチェーンに実際の診断を明らかにすることなく、承認と支払額を出力できます (患者と医師のみが鍵を持っていました)。ZK 証明は、患者のデータが認定病院の記録から来たことを示すために使用されるかもしれません (Axiom のようなものを使用して病院の署名や記録の包含を検証する)、記録自体を明らかにすることなく。これにより、不正を防ぎながら患者のプライバシーを確保します。
-
ゲノムおよび個人データ計算: ゲノムデータは非常に機密性が高いです (文字通り、個人の DNA の青写真です)。しかし、ゲノムを分析することで、貴重な健康上の洞察を得ることができます。企業は FHE-VM を使用して、ユーザーがアップロードした暗号化されたゲノムに対して計算を実行できます。例えば、スマートコントラクトは、暗号化されたゲノムデータと暗号化された環境データ (おそらくウェアラブルから) に対して遺伝子-環境リスクモデルを実行し、ユーザーのみが復号できるリスクスコアを出力できます。ロジック (多遺伝子リスクスコアアルゴリズムなど) はコントラクトにコーディングされ、準同型的に実行され るため、ゲノムデータは平文で現れることはありません。このようにして、ユーザーは企業に生の DNA データを与えることなく洞察を得ることができます。プライバシーとデータ所有権の両方の懸念を軽減します。
-
疫学と公衆衛生: パンデミックのような状況では、データ共有は病気の蔓延をモデル化するために不可欠ですが、プライバシー法がデータ共有を妨げる可能性があります。ZK コプロセッサにより、公衆衛生当局は、「地域 X で過去 24 時間に陽性反応を示した人の数」 のようなクエリを、証明を介して病院のデータネットワークに送信できます。各病院は患者の検査記録をオフチェーンに保持しますが、誰であるかを明らかにすることなく、陽性者の数を当局のコントラクトに証明できます。同様に、接触追跡は、暗号化された位置情報の軌跡を照合することで行うことができます。コントラクトは、患者の暗号化された位置情報の履歴の交差点を計算してホットスポットを特定し、ホットスポットの場所のみを出力します (そしておそらく、保健部門のみが復号できる影響を受けた ID の暗号化リストも)。個人の生の位置情報の軌跡はプライベートなままです。
データマーケットプレイスとコラボレーション
データを明らかにすることなく計算できる 能力は、データ共有に関する新しいビジネスモデルを開きます。エンティティは、独自のデータが公開されないことを知っている上で、計算で協力できます:
-
安全なデータマーケットプレイス: 販売者は、ブロックチェーンマーケットプレイスで暗号化された形式でデータを利用可能にすることができます。購入者は、スマートコントラクトを介して暗号化されたデータセットに対して特定の分析や機械学習モデルを実行するためにお金を払い、トレーニング済みのモデルまたは集計された結果のいずれかを取得します。販売者の生データは、購入者や一般に公開されることはありません。購入者はモデルのみを受け取るかもしれません (それでも重みにいくつかの情報が漏れる可能性がありますが、差分プライバシーや出力の粒度を制御するなどの技術でこれを軽減できます)。ZK 証明は、約束されたデータセットに対して計算が正しく行われたことを購入者に保証できます (例えば、販売者は証明がコミットされた暗号化データセットに結びついているため、ダミーデータでモデルを実行してごまかすことはできません)。このシナリオはデータ共有を促進します。例えば、企業は、データを渡すことなく、承認されたアルゴリズムが暗号化の下で実行されることを許可することで、ユーザー行動データを収益化できます。
-
連合学習と分散型 AI: 分散型機械学習では、複数の当事者 (例えば、異なる企業やデバイス) が、互いにデータを共有することなく、結合されたデータで共同でモデルをトレーニングしたいと考えています。FHE-VM はここで優れています。各当事者のモデル更新がコントラクトによって準同型的に集計される連合学習を可能にします。更新は暗号化されているため、参加者は他の人の貢献を知ることはありません。コントラクトは、トレーニングループの一部 (勾配降下ステップなど) をオンチェーンで暗号化の下で実行し、承認された当事者のみが復号できる更新されたモデルを生成することさえできます。ZK は、各当事者の更新がトレーニングアルゴリズムに従って計算されたことを証明することでこれを補完できます (悪意のある参加者がモデルを汚染するのを防ぎます)。これは、グローバルモデルがオンチェーンで完全な監査可能性をもってトレーニングできることを意味しますが、各貢献者のトレーニングデータはプライベートなままです。ユースケースには、銀行間で共同で不正検出モデルをトレーニングしたり、多くのユーザーからのデータを使用して AI アシスタントを改善したりすることが含まれますが、生データは集中化されません。
-
組織横断的な分析: パートナーシップキャンペーンのために、顧客リスト全体を互いに公開することなく、顧客の共通部分を見つけたい 2 つの会社を考えてみましょう。彼らはそれぞれ顧客 ID リストを暗号化し、コミットメントをアップロードできます。FHE 対応のコントラクトは、暗号化されたセット上で共通部分を計算できます (FHE を介したプライベート集合交差のような技術を使用して)。結果は、相互に信頼された第三者 (または顧客自身、何らかのメカニズムを介して) のみが復号できる共通の顧客 ID の暗号化リストになる可能性があります。あるいは 、ZK アプローチ: 一方の当事者が他方の当事者にゼロ知識で 「我々は N 人の共通の顧客を持っており、ここにそれらの ID の暗号化がある」 ことを証明し、その暗号化が確かに共通のエントリに対応していることの証明を付けます。このようにして、彼らは完全なリストを平文で交換することなく、それらの N 人の顧客へのキャンペーンを進めることができます。同様のシナリオ: 個々のサプライヤーの詳細を明らかにすることなく競合他社間でサプライチェーンメトリクスを計算したり、完全なクライアントデータを共有することなく銀行が信用情報を照合したりします。
-
ブロックチェーン上の安全な多者間計算 (MPC): FHE と ZK は、本質的に MPC の概念をオンチェーンにもたらします。複数の組織にまたがる複雑なビジネスロジックは、各組織の入力が秘密共有または暗号化されるようにスマートコントラクトにエンコードできます。コントラクトは (MPC ファシリテーターとして)、利益分配、コスト計算、または共同リスク評価のような、誰もが信頼できる出力を生成します。例えば、いくつかのエネルギー会社が電力取引の市場を決済したいとします。彼らは暗号化された入札とオファーをスマートコントラクトオークションに供給できます。コントラクトは暗号化された入札でクリア価格と割り当てを計算し、各会社の割り当てとコストをその会社だけに (公開鍵への暗号化を介して) 出力します。どの会社も他社の入札を見ることはなく、競争情報を保護しますが、オークションの結果は公正で検証可能です。この ブロックチェーンの透明性と MPC のプライバシーの組み合わせ は、現在信頼された第三者に依存しているコンソーシアムや企業コンソーシアムを革命的に変える可能性があります。
分散型機械学習 (ZKML と FHE-ML)
検証可能でプライベートな方法で機械学習をブロックチェーンにもたらすことは、新たなフロンティアです:
-
検証可能な ML 推論: ZK 証明を使用すると、x (プライベートデータの場合) または f の内部動作 (モデルの重みが独自の場合) のいずれも明らかにすることなく、「機械学習モデル f が入力 x を与えられたときに出力 y を生成する」 ことを証明できます。これは、ブロックチェーン上の AI サービスにとって重要です。例えば、予測や分類を提供する分散型 AI オラクルなどです。ZK コプロセッサは、モデルをオフチェーンで実行し (モデルは大きく、評価にコストがかかるため)、結果の証明を投稿できます。例えば、オラクルは、炭素クレジット契約をサポートするために、衛星画像や場合によってはモデルさえも明らかにすることなく、「提供された衛星画像は少なくとも 50% の樹木被覆を示している」 というステートメントを証明できます。これは ZKML として知られており、プロジェクトはサーキットフレンドリーなニューラルネットワークの最適化に取り組んでいます。これにより、スマートコントラクトで使用される AI 出力の完全性が保証され (不正や任意の出力なし)、入力データとモデルパラメータの機密性を保護できます。
-
プライバシーと監査可能性を備えたトレーニング: ML モデルのトレーニングはさらに計算集約的ですが、達成可能であれば、ブロックチェーンベースのモデルマーケットプレイスを可能にします。複数のデータプロバイダーが、トレーニングアルゴリズムが暗号化データ上で実行されるように、FHE の下でモデルのトレーニングに貢献できます。結果は、購入者のみが復号できる暗号化されたモデルになる可能性があります。トレーニング中、トレーニングがプロトコルに従っていることを証明するために ZK 証明が定期的に提供される可能性があります (悪意のあるトレーナーがバックドアを挿入するのを防ぐなど)。完全にオンチェーンでの ML トレーニングはコストを考えるとまだ先ですが、ハイブリッドアプローチでは、重要な部分に ZK 証明を使用したオフチェーン計算を使用できます。参加者がプライベートデータセットでモデルをトレーニングし、暗号化されたテストデータでのモデルの精度の ZK 証明を提出して勝者を決定する、分散型の Kaggle のようなコンペティションを想像できます。データセットやテストデータを明らかにすることなく。
-
パーソナライズされた AI とデータ所有権: これらの技術により、ユーザーは個人データの所有権を保持し、それでも AI の恩恵を受けることができます。例えば、ユーザーのモバイルデバイスは FHE を使用して使用状況データを暗号化し、それを分析コントラクトに送信して、彼らのためだけのパーソナライズされた AI モデル ( 推奨モデルなど) を計算できます。モデルは暗号化されており、ユーザーのデバイスのみが復号してローカルで使用できます。プラットフォーム (ソーシャルネットワークなど) は生データやモデルを見ることはありませんが、ユーザーは AI の恩恵を受けます。プラットフォームが集計された洞察を望む場合、個々のデータにアクセスすることなく、コントラクトから特定の集計パターンの ZK 証明を要求できます。
その他の分野
-
ゲーム: オンチェーンゲームは、秘密情報 (隠されたカードの手札、戦略ゲームの戦場の霧など) を隠すのに苦労することがよくあります。FHE は、ゲームロジックが暗号化された状態で実行される隠蔽状態ゲームを可能にします。例えば、ポーカーゲームのコントラクトは、暗号化されたカードをシャッフルして配ることができます。プレイヤーは自分のカードの復号を取得しますが、コントラクトや他の人は暗号文しか見ません。ベッティングロジックは ZK 証明を使用して、プレイヤーがアクションについてブラフをしていないことを保証したり (または、最後に勝利の手札を検証可能な公正な方法で明らかにしたり) できます。同様に、NFT のミンティングやゲームの結果のためのランダムシードは、シードを公開することなく生成され、公正であることが証明できます (操作を防ぎます)。これにより、ブロックチェーンゲームが大幅に強化され、従来のゲームと同じダイナミクスをサポートできるようになります。
-
投票とガバナンス: DAO は、オンチェーンでの秘密投票のためにプライバシー技術を使用し、票の買収や圧力を排除できます。FHE-VM は、暗号化された形式で投じられた票を集計し、最終的な合計のみが復号されます。ZK 証明は、各票が有効であったこと (資格のある有権者からであり、二重投票していない) を、誰が何に投票したかを明らかにすることなく保証できます。これにより、個々の投票を秘密に保ちながら、検証可能性 (誰もが証明と集計を検証できる) を提供します。これは、偏りのないガバナンスにとって重要です。
-
安全なサプライチェーンと IoT: サプライチェーンでは、パートナーは競合他社に完全な詳細を公開することなく、特定のプロパティ (原産地、品質メトリクス) の証明を共有したい場合があります。例えば、食品輸送の IoT センサーは、暗号化された温度データを継続的にブロックチェーンに送信できます。コントラクトは FHE を使用して、輸送中に温度が安全な範囲内にとどまっていたかどうかを確認できます。閾値を超えた場合、アラートやペナルティをトリガーできますが、温度ログ全体を公に公開する必要はありません。証明または 「90 パーセンタイルの温度」 のような集計のみかもしれません。これにより、プロセスデータの機密性を尊重しながら、サプライチェーンオートメーションへの信頼を構築します。
これらのユースケースはそれぞれ、データを明らかにすることなくデータを計算または検証するという中核的な能力を活用し ています。この能力は、分散型システムにおける機密情報の扱い方を根本的に変えることができます。これにより、プライベートデータを扱う分野でのブロックチェーンの採用を制限してきた、透明性とプライバシーの間のトレードオフが減少します。
結論
ブロックチェーン技術は、データ機密性とスマートコントラクト機能が密接に関連する、プログラマブルプライバシーの新時代に突入しています。FHE-VM と ZK コプロセッサのパラダイムは、技術的には異なりますが、どちらも 何を計算できるか と 何を明らかにしなければならないか を切り離すことで、ブロックチェーンアプリケーションの範囲を拡大しようとしています。
完全準同型暗号仮想マシンは、計算をオンチェーンで暗号化されたままにし、分散化と構成可能性を維持しますが、効率の向上を要求します。ゼロ知識コプロセッサは、重い処理をオフチェーンにシフトし、暗号的な保証の下で事実上無制限の計算を可能にし、スケーリングとイーサリアムの強化においてすでにその価値を証明しています。それら (およびそのハイブリッド) の間の選択は、ユースケースに依存します。プライベート状態とのリアルタイムの相互作用が必要な場合は、FHE アプローチがより適しているかもしれません。非常に複雑な計算や既存のコードとの統合が必要な場合は、ZK コプロセッサが適切な方法かもしれません。多くの場合、それらは補完的です。実際、ZK 証明が FHE の完全性を強化し、FHE が証明者のためのプライベートデータを処理することで ZK を助ける可能性があることがわかります。
開発者にとって、これらの技術は新しい設計パターンを導入します。私たちは、dApp アーキテクチャの第一級の要素として、暗号化された変数と証明検証の観点から考えるようになります。ツールは急速に進化しています。高レベルの言語と SDK は、暗号の詳細を抽象化しています (例えば、Zama のライブラリは FHE 型をネイティブ型と同じくらい簡単にし、RISC Zero のテンプレートは証明リクエストを容易にします)。数年後には、機密性の高いスマートコントラクトを書くことは、通常のものを書くのとほとんど同じくらい簡単になり、プライバシーがデフォルトで「組み込まれている」と感じられるようになるかもしれません。
データエコノミーへの影響は甚大です。個人や企業は、その可視性を制御できる場合、データやロジックをオンチェーンに置くことにもっと意欲的になるでしょう。これにより、プライバシーの懸念のために以前は実現不可能だった、組織横断的なコラボレーション、新しい金融商品、AI モデルが解き放たれる可能性があります。規制当局も、暗号的な手段 (例えば、すべてのトランザクションを公開することなく、オンチェーンで税金が正しく支払われたことを証明する) を介してコンプライアンスチェックと監査を可能にするため、これらの技術を受け入れるようになるかもしれません。
私たちはまだ初期段階にいます。現在の FHE-VM プロトタイプにはパフォーマンスの制限があり、ZK 証明は以前よりもはるかに高速になりましたが、非常に複雑なタス クにとっては依然としてボトルネックになる可能性があります。しかし、継続的な研究とエンジニアリングの努力 (Optalysys のような企業が光学 FHE アクセラレーションを推進していることに見られるように、特殊なハードウェアを含む) は、これらの障壁を急速に取り除いています。この分野に注ぎ込まれる資金 (例えば、Zama のユニコーンステータス、Paradigm の Axiom への投資) は、プライバシー機能が Web1/2 にとって透明性がそうであったように、Web3 にとっても基本的になるという強い信念を裏付けています。
結論として、FHE-VM と ZK コプロセッサを介したプログラマブルプライバシーは、トラストレスで、分散化され、機密性の高い新しいクラスの dApp の到来を告げます。詳細を明かさない DeFi 取引から、患者データを保護する健康研究、生データを公開することなく世界中でトレーニングされる機械学習モデルまで、可能性は広大です。これらの技術が成熟するにつれて、ブロックチェーンプラットフォームはもはや実用性とプライバシーの間のトレードオフを強制しなくなり、機密性を必要とする業界でのより広範な採用を可能にします。Web3 の未来は、*ユーザーと組織が、ブロックチェーンが完全性を検証し、彼らの秘密を安全に保つことを知っている上で、機密データをオンチェーンで自信を持って取引し、計算できる世界です*。
出典: このレポートの情報は、この分野の主要プロジェクトの技術文書および最近の研究ブログから引用されています。これには、Cypher と Zama の FHEVM ドキュメント、Trail of Bits による Axiom のサーキット に関する詳細な分析、RISC Zero の開発者ガイドとブログ投稿、および機密ブロックチェーン技術のユースケースを強調する業界記事が含まれます。これらの出典などは、さらなる読書と、説明されたアーキテクチャおよびアプリケーションの証拠を提供するために、全体を通して引用されています。