導入

ZK アプリケーション向けに設計された Ethereum モジュラー レイヤー 2 である Manta Pacific は、Polychain、Binance Labs、CoinFund、SevenX Ventures などの著名な機関から 6,000 万ドルを超える資金を獲得しています。Manta Pacific は、ZK 回路をレイヤー 2 アーキテクチャに統合し、DApp 向けに高度にモジュール化された設計と複数の ZK 機能モジュールを提供します。開発者は、SDK と API を使用して、わずか数行のコードで簡単に ZK 機能を呼び出すことができます。

Manta のアプローチにより、レイヤー 2 環境内で ZK 機能を完全に実現できるため、ZK の正確性とトランザクション圧縮を既存のアプリケーションにシームレスに統合したり、ZK 機能に合わせてカスタマイズされた新しいアプリケーションを展開したりすることができます。これは Manta Pacific 独自の機能です。

ゼロ知識証明 (ZKP) は、あらゆる NP 問題に適用できる汎用的な概念です。その理論的発展と実用的応用は、暗号研究における主要な焦点となっています。Manta が使用する主要な暗号プリミティブは、ゼロ知識簡潔非対話型知識論証 (zkSNARK) と呼ばれる、特定の種類の非対話型ゼロ知識証明です。このシステムにより、計算全体を繰り返すことなく、複雑な計算結果を検証できます。

zkSNARK フレームワーク

概要

zkSNARK は、KeyGen、Prove、Verify の 3 つの多項式時間アルゴリズムで構成されています。これらのアルゴリズムは、算術回路上でのゼロ知識証明の生成、証明、検証を容易にします。

  1. KeyGen(1^λ, C) -> (pk, vk):

    • セキュリティ パラメータ λ (例: 128 ビット) と算術回路 C が与えられると、KeyGen アルゴリズムは証明キー pk と検証キー vk を生成します。これらのキーは公開されており、回路 C で定義された言語でのメンバーシップの証明と検証に繰り返し使用できます。

  2. 証明(pk, x, a) -> π:

    • 証明キー pk と入力 (x, a) (x は公開入力、a は証人) を使用して、Prove アルゴリズムは非対話型証明 π を出力します。この証明は、C(x, a) = 0 となる証人 a が存在することを主張します。

  3. 検証(vk, x, π) -> {0,1}:

    • Verify アルゴリズムは、検証キー vk、公開入力 x、および証明 π を使用して、x が実際に C で定義された言語のメンバーであるかどうかを判断します。証明が有効な場合は 1 を出力し、そうでない場合は 0 を出力します。

数学的表現

有限体 F と F 上で定義された算術回路 C を考えます。入力 x ∈ F^n と証拠 a ∈ F^h に対して、回路 C(x, a) は F の値を出力します。目標は、与えられた x に対して、C(x, a) = 0 となる証拠 a が存在することを証明することです。

類推

ゼロ知識証明は、アリス (証明者) が一連の巧妙なトリック (数学的計算) を使ってボブ (検証者) に手がかり (証明) を示し、秘密が箱の中に確かに入っていることを納得させるマジック ショーに例えることができます。ボブは秘密そのものを見なくても納得します。アリスは特別な「マジック キー」(公開検証キー vk) を使用します。このキーは誰でも手がかりを検証するために使用できます。この「マジック ショー」は、さまざまな場所でさまざまな観客の前で繰り返すことができます。

Manta のその他の暗号化プリミティブ

非インタラクティブコミットメントスキーム(COMM)

非対話型コミットメント スキームは、情報の一貫性を保証します。メッセージ m とランダム シード r が与えられた場合、r と m を明らかにすることで、コミットメント c := COMMIT_r(m) を検証できます。このスキームは拘束力があり、コミットされたメッセージは、一度コミットされると変更できません。

擬似ランダム関数 (PRF)

PRF は、固定された入力からランダムに見える出力を生成します。アドレス、ノンス値、公開鍵の生成に使用できます。暗号化アプリケーションでは、同じコア機能を共有する場合でも、異なるラベルによって異なる PRF が区別されます。

暗号アキュムレータ

アキュムレータを使用すると、大規模なデータセットのメンバーシップを効率的にゼロ知識で証明できます。アキュムレータを使用すると、多数のデータ ポイントを小さな固定サイズの値に集約できるため、データセット全体を提供せずにデータが含まれているかどうかを効率的に検証できます。これは、ブロックチェーンでデータの保存と検証プロセスを改善する場合に特に役立ちます。

楕円曲線統合暗号化方式 (ECIES)

ECIES は楕円曲線 Diffie-Hellman 鍵交換に基づいており、安全でないチャネル上での安全な情報交換を可能にします。送信者は受信者の公開鍵を使用してメッセージを暗号化し、対応する秘密鍵を持つ受信者だけがそれを復号化できます。この方式は、強力な暗号化保護のために AES などのブロック暗号でよく使用されます。

マンタZKサーキットトランザクション

Manta ZK 回路のトランザクションは UTXO モデルに従います。トランザクションは 1 つ以上の入力から古いコインを消費し、新しいコインを生成します。鋳造操作は新しい UTXO を作成し、トランザクション操作は既存の UTXO を消費します。プロセスには次のものが含まれます。

  1. セットアップ: NIZK システム パラメータを使用してシステムを初期化します。

  2. GenMint: 鋳造トランザクションを生成し、UTXO を入力として選択し、新しいコインの値を指定して、証明を生成します。

  3. ミント: 証明の検証が成功すると、ネットワークは新しい UTXO を検証して記録します。

  4. GenTransfer: 転送トランザクションを生成し、現在の元帳の状態、転送するコイン、受信者の公開鍵を指定して、証明を生成します。

  5. 転送: 検証者は転送トランザクションを実行し、証明検証が成功すると元帳の状態を更新します。

  6. GenReclaim: UTXO から未使用の残高を回復するための回収トランザクションを生成します。

  7. 再請求: 検証者は再請求トランザクションを実行し、証明検証が成功すると元帳の状態を更新します。

セキュリティ証明フレームワーク

シミュレータ構築

zkSNARK 方式のゼロ知識特性を実証するために、実際の敵対者のビュー (Real adv) と区別がつかないビューを生成するシミュレータが構築されます。これは、コミットメント スキームと PRF の仮定の下では、シミュレータによって生成されたビューを実際の敵対者のビューと区別することが不可能であることを示すことによって証明されます。

ハイブリッド議論

一連の中間ビューは、実アドバンスビューの要素を徐々に置き換えて理想アドバンスビューに到達するまで構築されます。この議論は、2 つの連続する中間ビューを区別できる敵対者は、最初の実アドバンスビューと最後の理想アドバンスビューも区別できるという前提に基づいています。この証明は、敵対者がこれらのビューを区別する利点が多項式で制限されていることを示しており、zkSNARK スキームのセキュリティを裏付けています。

結論

これらのシステムのセキュリティ証明には通常、2 つの実験の構築が含まれます。1 つは実際のプロトコル実行 (Real)、もう 1 つは理想的なプロトコル実行 (Ideal) で、シミュレーターが実際の敵の行動を模倣します。これらの実験の出力が区別できない場合、プロトコルは安全であると見なされます。Ideal/Real セキュリティ モデルは、ゼロ知識証明の一般的な概念であり、検証者 (またはシステム) が特定のステートメントの真実性を確信しながら、潜在的な攻撃者に対するセキュリティを維持できるようにします。

この詳細な調査では、Manta の ZK 回路の基盤となる厳密な数学的原理と暗号化メカニズムに焦点を当て、その革新的なアプローチとセキュリティ保証を強調しています。