インタラクティブ零知識(IZK):VOLE-ZK 23 zkPassは、VOLEに基づくインタラクティブZKプロトコルを利用して認証を行い、データが正確なデータソースから来ていることを確認し、クライアント側からの改ざんから保護します。VOLE-ZK 23プロトコルは「提出と証明」のフレームワークであり、証明者(P)と検証者(V)が共同で多数のVOLEインスタンスを生成し、それぞれのインスタンスが線形式「m = k + w * delta」を満たします。Pはその式のいくつかの構成要素をコミットメントとして提供し、Vは残りの構成要素を含みます。
zkPassはどのように機能しますか?3P-TLS + 混合ZKでゼロ知識オラクルマシンを構築
! [zkPassのしくみ](https://img-cdn.gateio.im/webp-social/moments-87a9b3933a-bedc28aa99-153d09-69ad2a.webp019283746574839201
zkPassは、プライベートインターネットデータをブロックチェーン上で検証できるオラクルプロトコルです。zkPassは、3P-TLSと混合ZK技術から構成されるzkTLSの上に構築されており、安全で検証可能なデータ共有のためのツールとアプリケーションを提供し、OAuth APIを必要とせずに、すべてのHTTPSウェブサイトからのプライバシーと完全性を保証します。
) zkPass はどのように機能するのか?全体構造とコア概念
! [zkPass全体構造]###https://img-cdn.gateio.im/webp-social/moments-87a9b3933a-ca83c82af4-153d09-69ad2a.webp019283746574839201
zkPass はどのように機能しますか?その構造を理解するには、まず三つのコアロールを認識する必要があります:P(証明者/個人)、V(検証者/ビジネス/zkPass ノード)、S(TLS サーバー/データソース)。従来のデータ検証プロセスでは、証明者が情報を検証者に提出し、検証者がそのデータを取得し、DataSource と連携して検証チェックを実行します。このモデルには三つの大きな問題があります:証明者は過剰な個人情報漏洩のリスクに直面する;データソースは信頼できるものの、パーソナライズされた検証サービスを提供できない;検証者はすべての顧客のプライベートデータを掌握しており、大きなデータ漏洩の潜在的リスクがあります。
zkPassは、証明者を検証者とデータソースの間に位置付ける革命的なソリューションを提案しました。従来の方法とは異なり、証明者は彼らのアクセストークンを使用してデータソースから直接データを見つけ、取得し、続いて検証者が確認するためのゼロ知識証明(ZKP)を生成します。このプロセスにより、検証者は依然として証明者の個人情報を知らないことが保証されます。このアーキテクチャは、3P-TLS、MPC(マルチパーティ計算)、および混合ZK(ゼロ知識)技術を統合しています。
コア技術コンポーネント:
3P-TLS:楕円曲線DHプロトコルに基づく三者間トランスポート層のセキュリティで、MPCとOblivious Transfer(OT)を組み合わせて不正を防ぎます。
ハイブリッド ZK:インタラクティブ ZK(VOLE-ZK 23)と非インタラクティブ ZK(SNARK/Circom)の二層証明システムを組み合わせる
zkSBT:ERC998に基づくコンポーザブルNFT標準のソウルバウンドトークンで、主要な声明とクエリ声明を保存します。
( 3P-TLS と MPC:三者ハンドシェイクの技術的ブレークスルー
! [zkPass 3P-TLSおよびMPC])https://img-cdn.gateio.im/webp-social/moments-87a9b3933a-ebb0a53efc-153d09-69ad2a.webp###
zkPass の動作の第一の鍵は 3P-TLS プロトコルにあります。トランスポート層セキュリティ (TLS) は HTTPS の安全通信プロトコルで、ほぼすべてのデータソースがサポートしています。zkPass は楕円曲線 DH プロトコルに基づいて 3P-TLS プロトコルを構築し、MPC と Oblivious Transfer と組み合わせることで三者間の安全な通信を実現しています。
第一段階:三者間のハンドシェイク P、V、S が共同でセッションキーを生成し、P と V はそれぞれこれらのキーのシェアを得る。これは Paillier 暗号アルゴリズムを用いて実現されており、このアルゴリズムは加法的同型性を提供する。前主キーは二つの部分に分けられ、P と V はそれぞれ半分を取得し、S は完全な前主キーを保持する。クライアントが偽のウェブサイトを生成するのを防ぐために、クライアントはサーバーに証明書の返却を要求し、データソースへの信頼を確保する。
第二段階:鍵の交換と MPC P および V による MPC 計算暗号鍵(enc_key)およびメッセージ認証コード鍵(mac_key)。重要な設計は、V が mac_key の一部のみを持ち、enc_key を持たないことにあります。これにより、V はユーザーのプライベート情報にアクセスできません。逆に、P は mac_key の一部を保持しており、特定の個人情報にアクセスできますが、改ざんできません。改ざんは mac_key によってメッセージの真実性を検証することで検出できます。
第3段階:標準TLSとZKPの準備 アプリケーションデータは標準TLS通信プロトコル手順に従い、PとVは鍵を交換し、ゼロ知識証明を含む段階に備えます。zkPassのMPCアルゴリズムは通信時間、ハッシュ関数、メモリ操作の面で大幅に最適化され、効率が3倍以上向上しました。新しいAES128証明方法を採用し、ブロック数を300倍削減し、Garbler/Evaluatorの実行時間は10倍向上しました。具体的には、zkPassはSilent OTを使用してOT操作を行い、スタックGCを利用して乱数回路のサイズを縮小し、全体のMPCプロセスの実行時間を大幅に短縮しました。
( ハイブリッドZK:インタラクティブと非インタラクティブの完璧な融合
! [zkPass混合ZK])https://img-cdn.gateio.im/webp-social/moments-87a9b3933a-7fbe46bdb9-153d09-69ad2a.webp019283746574839201
zkPassがどのように機能するかの第二の鍵は、混合ゼロ知識手法にあります。zkPassプロトコルの最終ステップは、クライアントがゼロ知識証明を生成し、ブロックチェーン上のスマートコントラクトがそれを検証することです。この混合手法は、インタラクティブおよび非インタラクティブZKプロトコルの利点を組み合わせています。
インタラクティブ零知識(IZK):VOLE-ZK 23 zkPassは、VOLEに基づくインタラクティブZKプロトコルを利用して認証を行い、データが正確なデータソースから来ていることを確認し、クライアント側からの改ざんから保護します。VOLE-ZK 23プロトコルは「提出と証明」のフレームワークであり、証明者(P)と検証者(V)が共同で多数のVOLEインスタンスを生成し、それぞれのインスタンスが線形式「m = k + w * delta」を満たします。Pはその式のいくつかの構成要素をコミットメントとして提供し、Vは残りの構成要素を含みます。
このリニアリティは、SNARKなどの他の高次多項式ソリューションとは異なり、コスト効率の高いソリューションの鍵となる理由です。Pは検証者に2つのフィールド要素を送信するだけで済み、その後VはそのVOLEパラメータを使用して関連性を検証します。この段階には5つの主要な制約があり、リクエストは暗号鍵で暗号化され、ユーザーのアクセストークンを使用してリクエストを生成し、ユーザーは応答を復号化するために暗号鍵を持っている必要があり、ユーザーは応答を変更できず、応答データはテンプレートに概説された特定の条件に従う必要があります。
最適化技術 zkPass は、プロトコルの実用性を向上させるために複数の最適化を行いました。SoftSpoken を導入することで、ネットワークのオーバーヘッドを約 50% 削減し、VOLE の生成を加速します。VOLE の加法的同値性を利用して、XOR および INV ゲートのコミットメントをゼロに減少させます。同じ操作に関わる特定のユースケースでは、VOLE パラメータを再利用することができ、乗算を加算に変換することができます。これは「多数データ信号入力」と呼ばれ、CPU アーキテクチャの SIMD に類似しています。
非対話型ゼロ知識(NIZK)は、実際のテンプレートパターンを隠すことを目的としてIZK証明からNIZK証明に移行し、ユーザーが任意の当事者に公開検証のために証明を選択的に開示できるようにします。SNARKフレームワーク、特にCircomを採用しています。クライアントがIZK検証に成功すると、ノードは結果に署名を提供し、クライアントは結果とその関連署名をマークルツリーに挿入し、SBT契約のルートを更新します。クライアントが結果を証明する必要があるときは、ゼロ知識証明を提供するだけで、結果がマークルツリーの葉であり、ノードによって署名されていることを証明します。
zkSBT:組み合わせ可能なソウルバウンドトークンシステム
! zkPassのzkSBTアーキテクチャ
zkPass の動作の第三の鍵は、zkSBT 構造にあります。zkPass は ERC998 標準を遵守し、これは組み合わせ可能な NFT 標準です。tSBT は法的身分、ソーシャルネットワーク、財務情報などのカテゴリーを表し、dSBT はユーザーが主張する実際の証明書を含みます。これらの宣言には二種類のタイプがあります:主要な宣言とクエリ宣言。
主な請求は、ユーザーがMPCを実行した後にデータソースから取得したプライベートデータ、例えば国/地域、年齢、性別、政府のウェブサイトのその他の情報に関わります。これらのデータを基に請求ツリーを構築し、各ノードはその子ノードのハッシュ値を表します。詳細な攻撃を防ぐために、babyjub署名を使用してランダム数を追加し、主請求ツリーのルートハッシュをdSBTに保存する必要があります。このツリーの正確性を検証するためのゼロ知識証明は、スマートコントラクトによって生成されなければなりません。
宣言に関して、例えばユーザーの年齢が18歳以上であるかどうかを判断するために、ユーザーは証明を提供するだけでよく、その証明は年齢を表す葉がツリー構造に含まれており、その葉の値が18より大きいことを示します。ユーザーはこの証明を直接検証者に送信でき、検証者はオンチェーン関数を実行して証明を検証できます。これにより、ユーザーの実際のプライベートデータはすべての関係者に対して隠され、データクエリの陳述のみが特定の検証者に選択的に公開されます。