# ブロックチェーン分野におけるzk-SNARKs技術の応用と発展## まとめzk-SNARKs(ZKP)技術は、ブロックチェーン分野で最も重要な革新の一つとして広く認識されています。本稿では、ZKP技術の近四十年の歴史文献と最新研究について系統的にレビューします。まず、ZKPの基本概念と歴史的背景について紹介します。次に、回路ベースのZKP技術、特にzkSNARK、Ben-Sasson、Pinocchio、Bulletproofs、Ligeroなどのモデルの設計、応用、最適化手法について重点的に分析します。計算環境の分野では、ZKVMとZKEVMを紹介し、これらが取引処理能力を向上させ、プライバシーを保護し、検証効率を高める方法を探ります。記事では、Layer 2拡張ソリューションとしてのZK Rollupの作動メカニズムと最適化手法、さらにハードウェアアクセラレーション、ハイブリッドソリューション、専用ZK EVMの最新の進展についても紹介します。最後に、本稿ではZKCoprocessor、ZKML、ZKThreads、ZK Sharding、ZK StateChannelsなどの新興概念を展望し、それらがブロックチェーンのスケーラビリティ、相互運用性、プライバシー保護において持つ潜在能力について探討しました。これらの最新技術と発展動向を分析することで、本稿はZKP技術の理解と応用に対する包括的な視点を提供し、ブロックチェーンシステムの効率と安全性を向上させる上でのその巨大な潜在能力を示し、将来の投資判断に重要な参考を提供します。## 目次前書き1. ゼロ知識証明の基礎知識1. 概要 2. ゼロ知識証明の例2. 非対話型のゼロ知識証明1. 背景2. NIZKの提案3. フィアット・シャミール変換4. ジェンス・グロスとその研究5. その他の研究3. 回路ベースのゼロ知識証明 1. 背景2. 回路モデルの基本概念と特徴3. ゼロ知識証明における回路設計と応用4. 潜在的な落とし穴と課題第四に、ゼロ知識証明モデル1. 背景2. 一般的なアルゴリズムモデル3. 線形PCPと離散対数問題に基づくスキーム4. 一般人の証明に基づくスキーム5. 確率論的テスト可能証明(PCP)に基づくゼロ知識。6. CPCベースのセットアップステージ分類5. ゼロ知識仮想マシンの概要と開発1. 背景2. 既存のZKVMの分類3. フロントエンドとバックエンドのパラダイム4. ZKVMパラダイムの長所と短所六、zk-SNARKsイーサリアム仮想マシンの概要と発展1. 背景2. ZKEVMのしくみ3. ZKEVMの実装プロセス4. ZKEVMの特徴7. ゼロ知識レイヤー2ネットワークソリューションの概要と開発1. 背景2. ZK Rollupの仕組み3. ZK Rollupの欠点と最適化8. ゼロ知識証明の今後の展開方向1. コンピューティング環境の開発を加速する2. ZKMLの提案・開発3. ZKP拡張技術の開発4. ZKPの相互運用性の開発9. まとめ参照## イントロダクションインターネットはWeb3時代に突入しており、ブロックチェーンアプリケーションの発展が急速に進んでいます。近年、ブロックチェーンプラットフォームは毎日数百万ユーザーの活動を支え、数十億の取引を処理しています。これらの取引から生じる膨大なデータは、通常、ユーザーの身元、取引金額、アカウントアドレス、アカウント残高などの機密個人情報を含んでいます。ブロックチェーンの開放性と透明性の特性を考えると、これらの保存されたデータはすべての人に開かれているため、さまざまなセキュリティとプライバシーの問題を引き起こしました。現在、いくつかの暗号技術がこれらの課題に対処できます。これには、同次暗号、リング署名、安全なマルチパーティ計算、そして零知識証明が含まれます。同次暗号は、暗号文を解読せずに演算を実行することを可能にし、口座残高や取引額の安全を保護するのに役立ちますが、口座アドレスの安全を保護することはできません。リング署名は、署名者の身元を隠すことができる特別なデジタル署名形式を提供し、口座アドレスの安全を保護しますが、口座残高や取引額の保護には無力です。安全なマルチパーティ計算は、複数の参加者間で計算タスクを分配することを許可し、参加者の一人が他の参加者のデータを知ることなく、口座残高や取引額の安全を効果的に保護しますが、同様に口座アドレスの安全を保護することはできません。さらに、同次暗号、リング署名、安全なマルチパーティ計算は、取引額、口座アドレス、口座残高を漏らさずに証明者が十分な取引額を持っているかどうかを検証するために使用することはできません。zk-SNARKsは、より包括的なソリューションです。この検証プロトコルは、仲介データを開示することなく、特定の命題の正確性を検証することを許可します。このプロトコルは、複雑な公開鍵インフラストラクチャを必要とせず、繰り返し実施しても悪意のあるユーザーに追加の有益な情報を取得する機会を提供しません。ZKPを通じて、検証者はプライベートな取引データを開示せずに、証明者が十分な取引金額を持っているかどうかを検証できます。検証プロセスには、証明者が主張する取引金額を含む証明を生成し、その証明を検証者に渡し、検証者が事前定義された計算を行い、最終的な計算結果を出力することが含まれます。これにより、証明者の声明を受け入れるかどうかの結論が得られます。証明者の声明が受け入れられた場合、彼らは十分な取引金額を持っていることを意味します。上記の検証プロセスは、ブロックチェーン上に記録され、偽造はありません。ZKPのこの特性は、ブロックチェーン取引や暗号通貨アプリケーションにおいて核心的な役割を果たし、特にプライバシー保護とネットワークのスケーラビリティの面で、学術研究の焦点となり、分散型台帳技術の成功した実装以来、最も重要な技術革新の一つと広く見なされています。また、業界の応用とリスク投資の重点的な分野でもあります。このように、ZKPに基づく多くのネットワークプロジェクトが次々と登場しています。例えば、ZkSync、StarkNet、Mina、Filecoin、Aleoなどです。これらのプロジェクトの発展に伴い、ZKPのアルゴリズム革新が次々と生まれており、報告によればほぼ毎週新しいアルゴリズムが発表されています。さらに、ZKP技術に関連するハードウェア開発も急速に進展しており、ZKPに最適化されたチップが含まれています。例えば、Ingonyama、Irreducible、Cysicなどのプロジェクトはすでに大規模な資金調達を完了しており、これらの発展はZKP技術の急速な進歩を示すだけでなく、汎用ハードウェアからGPU、FPGA、ASICのような専用ハードウェアへの移行を反映しています。これらの進展は、zk-SNARKs技術が暗号学分野の重要な突破口であるだけでなく、より広範なブロックチェーン技術の応用を実現するための重要な推進力であることを示しています。したがって、私たちは将来の投資判断をより良くサポートするために、零知识证明に関する知識を体系的に整理することに決めました。そのために、私たちはZKPに関連する主要な学術論文を総合的にレビューしました。また、この分野における先進的なプロジェクトの資料やホワイトペーパーも詳細に分析しました。これらの包括的な資料収集と分析は、本論文の執筆に堅実な基盤を提供しました。## 1. ゼロ知識証明の基礎知識### 1. 概要1985年、学者Goldwasser、MicaliとRackoffは論文《The Knowledge Complexity of Interactive Proof-Systems》中で初めて零知识证明と交互式知识证明を提唱しました。この論文は零知识证明の基礎となるものであり、その後の学術研究に影響を与える多くの概念を定義しています。例えば、知識の定義は「不可行計算の出力」であり、つまり知識は出力でなければならず、不可行計算であることを意味します。これは単純な関数ではなく、複雑な関数である必要があります。不可行計算は通常、NP問題として理解されるものであり、これは多項式時間内にその解の正しさを検証できる問題を指します。多項式時間とは、アルゴリズムの実行時間が入力サイズの多項式関数で表されることを指します。これは計算機科学におけるアルゴリズムの効率性と実行可能性を測る重要な基準です。NP問題の解決過程は複雑であるため、不可行計算と見なされますが、その検証過程は比較的簡単であるため、零知识证明の検証に非常に適しています。NP問題の一例は旅行商問題であり、一連の都市を訪れ、出発点に戻る最短経路を見つける必要があります。最短経路を見つけることは難しいかもしれませんが、特定の経路が最短であるかどうかを検証することは比較的容易です。なぜなら、特定の経路の総距離を検証するのは多項式時間内で行えるからです。Goldwasserらは彼の論文で「知識の複雑度」という概念を導入し、インタラクティブ証明システムにおいて証明者が検証者に漏らす知識の量を定量化しました。彼らはまた、証明者と検証者が複数回のインタラクションを通じてある命題の真実性を証明するインタラクティブ証明システムを提案しました。以上のように、Goldwasserらによってまとめられたzk-SNARKsの定義は、特別な対話型証明であり、その中で検証者は、真偽値以外の追加情報を得ることはない。そして、次の3つの基本的な特性が提唱された:1.完全性:もし証明が真実であれば、誠実な証明者は誠実な検証者にこの事実を納得させることができる;2.信頼性:もし証明者が声明の内容を知らない場合、彼は微々たる確率で検証者を欺くことしかできない;3.零知識性:証明プロセスが完了した後、検証者は「証明者がこの知識を持っている」という情報のみを取得し、追加の内容は得られません。### 2. ゼロ知識証明の例より良くzk-SNARKsとその特性を理解するために、以下は証明者が特定の秘密情報を持っているかどうかを検証する例です。この例は、設定、チャレンジ、応答の3つの段階に分かれています。ステップ1:セットアップこのステップでは、証明者の目標は、特定の秘密の数字sを知っていることを証明する証拠を作成することですが、sを直接表示しないことです。秘密の数字を設定します;2つの大きな素数pとqを選び、それらの積を計算します。素数の和を設定し、得られたものを計算します;計算、ここで、vは証明の一部として検証者に送信されますが、それは検証者や他の観察者がsを推測するのに十分ではありません。ランダムに整数rを選択し、計算して検証者に送信します。この値xはその後の検証プロセスに使用されますが、sも同様に露出しません。ランダムな整数を設定し、計算結果を得ます。ステップ2:チャレンジ検証者はランダムに位置a(を選択し、それが0または1)である可能性があります。そして、証明者に送信します。この「チャレンジ」は、証明者が次に取るべきステップを決定します。ステップ 3: 応答する検証者が発行したa値に基づき、証明者が応答します:もし、証明者が(ここでrを彼が以前にランダムに選択した数)として送信する場合。もし、証明者が計算して送信します。検証者が送信したランダムビットを設定し、aの値に基づいて、証明者が計算します。最後に、検証者は受け取ったgに基づいて等しいかどうかを検証します。等式が成立した場合、検証者はこの証明を受け入れます。その時、検証者は検証者計算を行い、右側を検証します。その時、検証者は検証者計算を行い、右側を検証します。ここでは、検証者が計算して得た説明が、証明者が検証プロセスを成功裏に通過し、同時に彼の秘密の数字sを漏らさなかったことを示しています。ここでは、aが0または1のいずれかしか取れないため、可能性は2つしかなく、証明者は運に頼って検証を通過する確率(は、aが0のとき)です。しかし、検証者はその後、証明者に再度挑戦し、証明者は関連する数字を次々と変更し、検証者に提出し、常に検証プロセスを成功裏に通過することができます。これにより、証明者が運に頼って検証を通過する確率(は無限に0)に近づき、証明者が確かにある秘密の数字sを知っているという結論が証明されます。この例は、zk-SNARKsシステムの完全性、信頼性、及びゼロ知識性を証明しています。## 次に、非対話型のゼロ知識証明### 1. 背景零知識証明は伝統的な概念では通常、インタラクティブでオンラインのプロトコル形式です; 例えば、Sigmaプロトコルは通常、認証を完了するために3から5ラウンドのインタラクションを必要とします。しかし、即時取引や投票などのシーンでは、多ラウンドのインタラクションを行う機会がないことが多く、特にブロックチェーン技術の応用において、オフライン検証機能が特に重要です。### 2. NIZKの提案1988年、Blum、FeldmanとMicaliは初めて非対話型零知识证明の概念を提唱し、複数回の対話を必要とせずに、証明者と検証者が認証プロセスを完了できる可能性を証明しました。このブレークスルーにより、即時取引、投票、そしてブロックチェーンアプリケーションの実現が可能になりました。彼らは非対話型zk-SNARKsが三つの段階に分かれることを提案しました:1. 設定2. 計算3. 検証設定段階では計算関数を使用して、安全パラメータを公共の知識に変換します。これは通常、共通の参照文字列にエンコードされます。これは、計算証明を行い、正しいパラメータとアルゴリズムを使用して検証する方法です。計算フェーズでは、計算関数、入力および証明鍵を使用し、計算結果と証明を出力します。検証段階では、検証キーを使用して証明の有効性を確認します。彼らが提案した公共参照文字列モデルは、すべての参加者が1つの文字を共有することに基づいています。
zk-SNARKs技術革新ブロックチェーン:アルゴリズムからハードウェアへの全面進展
ブロックチェーン分野におけるzk-SNARKs技術の応用と発展
まとめ
zk-SNARKs(ZKP)技術は、ブロックチェーン分野で最も重要な革新の一つとして広く認識されています。本稿では、ZKP技術の近四十年の歴史文献と最新研究について系統的にレビューします。
まず、ZKPの基本概念と歴史的背景について紹介します。次に、回路ベースのZKP技術、特にzkSNARK、Ben-Sasson、Pinocchio、Bulletproofs、Ligeroなどのモデルの設計、応用、最適化手法について重点的に分析します。計算環境の分野では、ZKVMとZKEVMを紹介し、これらが取引処理能力を向上させ、プライバシーを保護し、検証効率を高める方法を探ります。記事では、Layer 2拡張ソリューションとしてのZK Rollupの作動メカニズムと最適化手法、さらにハードウェアアクセラレーション、ハイブリッドソリューション、専用ZK EVMの最新の進展についても紹介します。
最後に、本稿ではZKCoprocessor、ZKML、ZKThreads、ZK Sharding、ZK StateChannelsなどの新興概念を展望し、それらがブロックチェーンのスケーラビリティ、相互運用性、プライバシー保護において持つ潜在能力について探討しました。
これらの最新技術と発展動向を分析することで、本稿はZKP技術の理解と応用に対する包括的な視点を提供し、ブロックチェーンシステムの効率と安全性を向上させる上でのその巨大な潜在能力を示し、将来の投資判断に重要な参考を提供します。
目次
前書き
ゼロ知識証明の基礎知識
概要
ゼロ知識証明の例
非対話型のゼロ知識証明
背景
NIZKの提案
フィアット・シャミール変換
ジェンス・グロスとその研究
その他の研究
回路ベースのゼロ知識証明
背景
回路モデルの基本概念と特徴
ゼロ知識証明における回路設計と応用
潜在的な落とし穴と課題
第四に、ゼロ知識証明モデル
背景
一般的なアルゴリズムモデル
線形PCPと離散対数問題に基づくスキーム
一般人の証明に基づくスキーム
確率論的テスト可能証明(PCP)に基づくゼロ知識。
CPCベースのセットアップステージ分類
ゼロ知識仮想マシンの概要と開発
背景
既存のZKVMの分類
フロントエンドとバックエンドのパラダイム
ZKVMパラダイムの長所と短所
六、zk-SNARKsイーサリアム仮想マシンの概要と発展
背景
ZKEVMのしくみ
ZKEVMの実装プロセス
ZKEVMの特徴
ゼロ知識レイヤー2ネットワークソリューションの概要と開発
背景
ZK Rollupの仕組み
ZK Rollupの欠点と最適化
ゼロ知識証明の今後の展開方向
コンピューティング環境の開発を加速する
ZKMLの提案・開発
ZKP拡張技術の開発
ZKPの相互運用性の開発
まとめ
参照
イントロダクション
インターネットはWeb3時代に突入しており、ブロックチェーンアプリケーションの発展が急速に進んでいます。近年、ブロックチェーンプラットフォームは毎日数百万ユーザーの活動を支え、数十億の取引を処理しています。これらの取引から生じる膨大なデータは、通常、ユーザーの身元、取引金額、アカウントアドレス、アカウント残高などの機密個人情報を含んでいます。ブロックチェーンの開放性と透明性の特性を考えると、これらの保存されたデータはすべての人に開かれているため、さまざまなセキュリティとプライバシーの問題を引き起こしました。
現在、いくつかの暗号技術がこれらの課題に対処できます。これには、同次暗号、リング署名、安全なマルチパーティ計算、そして零知識証明が含まれます。同次暗号は、暗号文を解読せずに演算を実行することを可能にし、口座残高や取引額の安全を保護するのに役立ちますが、口座アドレスの安全を保護することはできません。リング署名は、署名者の身元を隠すことができる特別なデジタル署名形式を提供し、口座アドレスの安全を保護しますが、口座残高や取引額の保護には無力です。安全なマルチパーティ計算は、複数の参加者間で計算タスクを分配することを許可し、参加者の一人が他の参加者のデータを知ることなく、口座残高や取引額の安全を効果的に保護しますが、同様に口座アドレスの安全を保護することはできません。さらに、同次暗号、リング署名、安全なマルチパーティ計算は、取引額、口座アドレス、口座残高を漏らさずに証明者が十分な取引額を持っているかどうかを検証するために使用することはできません。
zk-SNARKsは、より包括的なソリューションです。この検証プロトコルは、仲介データを開示することなく、特定の命題の正確性を検証することを許可します。このプロトコルは、複雑な公開鍵インフラストラクチャを必要とせず、繰り返し実施しても悪意のあるユーザーに追加の有益な情報を取得する機会を提供しません。ZKPを通じて、検証者はプライベートな取引データを開示せずに、証明者が十分な取引金額を持っているかどうかを検証できます。検証プロセスには、証明者が主張する取引金額を含む証明を生成し、その証明を検証者に渡し、検証者が事前定義された計算を行い、最終的な計算結果を出力することが含まれます。これにより、証明者の声明を受け入れるかどうかの結論が得られます。証明者の声明が受け入れられた場合、彼らは十分な取引金額を持っていることを意味します。上記の検証プロセスは、ブロックチェーン上に記録され、偽造はありません。
ZKPのこの特性は、ブロックチェーン取引や暗号通貨アプリケーションにおいて核心的な役割を果たし、特にプライバシー保護とネットワークのスケーラビリティの面で、学術研究の焦点となり、分散型台帳技術の成功した実装以来、最も重要な技術革新の一つと広く見なされています。また、業界の応用とリスク投資の重点的な分野でもあります。
このように、ZKPに基づく多くのネットワークプロジェクトが次々と登場しています。例えば、ZkSync、StarkNet、Mina、Filecoin、Aleoなどです。これらのプロジェクトの発展に伴い、ZKPのアルゴリズム革新が次々と生まれており、報告によればほぼ毎週新しいアルゴリズムが発表されています。さらに、ZKP技術に関連するハードウェア開発も急速に進展しており、ZKPに最適化されたチップが含まれています。例えば、Ingonyama、Irreducible、Cysicなどのプロジェクトはすでに大規模な資金調達を完了しており、これらの発展はZKP技術の急速な進歩を示すだけでなく、汎用ハードウェアからGPU、FPGA、ASICのような専用ハードウェアへの移行を反映しています。
これらの進展は、zk-SNARKs技術が暗号学分野の重要な突破口であるだけでなく、より広範なブロックチェーン技術の応用を実現するための重要な推進力であることを示しています。
したがって、私たちは将来の投資判断をより良くサポートするために、零知识证明に関する知識を体系的に整理することに決めました。そのために、私たちはZKPに関連する主要な学術論文を総合的にレビューしました。また、この分野における先進的なプロジェクトの資料やホワイトペーパーも詳細に分析しました。これらの包括的な資料収集と分析は、本論文の執筆に堅実な基盤を提供しました。
1. ゼロ知識証明の基礎知識
1. 概要
1985年、学者Goldwasser、MicaliとRackoffは論文《The Knowledge Complexity of Interactive Proof-Systems》中で初めて零知识证明と交互式知识证明を提唱しました。この論文は零知识证明の基礎となるものであり、その後の学術研究に影響を与える多くの概念を定義しています。例えば、知識の定義は「不可行計算の出力」であり、つまり知識は出力でなければならず、不可行計算であることを意味します。これは単純な関数ではなく、複雑な関数である必要があります。不可行計算は通常、NP問題として理解されるものであり、これは多項式時間内にその解の正しさを検証できる問題を指します。多項式時間とは、アルゴリズムの実行時間が入力サイズの多項式関数で表されることを指します。これは計算機科学におけるアルゴリズムの効率性と実行可能性を測る重要な基準です。NP問題の解決過程は複雑であるため、不可行計算と見なされますが、その検証過程は比較的簡単であるため、零知识证明の検証に非常に適しています。
NP問題の一例は旅行商問題であり、一連の都市を訪れ、出発点に戻る最短経路を見つける必要があります。最短経路を見つけることは難しいかもしれませんが、特定の経路が最短であるかどうかを検証することは比較的容易です。なぜなら、特定の経路の総距離を検証するのは多項式時間内で行えるからです。
Goldwasserらは彼の論文で「知識の複雑度」という概念を導入し、インタラクティブ証明システムにおいて証明者が検証者に漏らす知識の量を定量化しました。彼らはまた、証明者と検証者が複数回のインタラクションを通じてある命題の真実性を証明するインタラクティブ証明システムを提案しました。
以上のように、Goldwasserらによってまとめられたzk-SNARKsの定義は、特別な対話型証明であり、その中で検証者は、真偽値以外の追加情報を得ることはない。そして、次の3つの基本的な特性が提唱された:
1.完全性:もし証明が真実であれば、誠実な証明者は誠実な検証者にこの事実を納得させることができる;
2.信頼性:もし証明者が声明の内容を知らない場合、彼は微々たる確率で検証者を欺くことしかできない;
3.零知識性:証明プロセスが完了した後、検証者は「証明者がこの知識を持っている」という情報のみを取得し、追加の内容は得られません。
2. ゼロ知識証明の例
より良くzk-SNARKsとその特性を理解するために、以下は証明者が特定の秘密情報を持っているかどうかを検証する例です。この例は、設定、チャレンジ、応答の3つの段階に分かれています。
ステップ1:セットアップ
このステップでは、証明者の目標は、特定の秘密の数字sを知っていることを証明する証拠を作成することですが、sを直接表示しないことです。秘密の数字を設定します;
2つの大きな素数pとqを選び、それらの積を計算します。素数の和を設定し、得られたものを計算します;
計算、ここで、vは証明の一部として検証者に送信されますが、それは検証者や他の観察者がsを推測するのに十分ではありません。
ランダムに整数rを選択し、計算して検証者に送信します。この値xはその後の検証プロセスに使用されますが、sも同様に露出しません。ランダムな整数を設定し、計算結果を得ます。
ステップ2:チャレンジ
検証者はランダムに位置a(を選択し、それが0または1)である可能性があります。そして、証明者に送信します。この「チャレンジ」は、証明者が次に取るべきステップを決定します。
ステップ 3: 応答する
検証者が発行したa値に基づき、証明者が応答します:
もし、証明者が(ここでrを彼が以前にランダムに選択した数)として送信する場合。
もし、証明者が計算して送信します。検証者が送信したランダムビットを設定し、aの値に基づいて、証明者が計算します。
最後に、検証者は受け取ったgに基づいて等しいかどうかを検証します。等式が成立した場合、検証者はこの証明を受け入れます。その時、検証者は検証者計算を行い、右側を検証します。その時、検証者は検証者計算を行い、右側を検証します。
ここでは、検証者が計算して得た説明が、証明者が検証プロセスを成功裏に通過し、同時に彼の秘密の数字sを漏らさなかったことを示しています。ここでは、aが0または1のいずれかしか取れないため、可能性は2つしかなく、証明者は運に頼って検証を通過する確率(は、aが0のとき)です。しかし、検証者はその後、証明者に再度挑戦し、証明者は関連する数字を次々と変更し、検証者に提出し、常に検証プロセスを成功裏に通過することができます。これにより、証明者が運に頼って検証を通過する確率(は無限に0)に近づき、証明者が確かにある秘密の数字sを知っているという結論が証明されます。この例は、zk-SNARKsシステムの完全性、信頼性、及びゼロ知識性を証明しています。
次に、非対話型のゼロ知識証明
1. 背景
零知識証明は伝統的な概念では通常、インタラクティブでオンラインのプロトコル形式です; 例えば、Sigmaプロトコルは通常、認証を完了するために3から5ラウンドのインタラクションを必要とします。しかし、即時取引や投票などのシーンでは、多ラウンドのインタラクションを行う機会がないことが多く、特にブロックチェーン技術の応用において、オフライン検証機能が特に重要です。
2. NIZKの提案
1988年、Blum、FeldmanとMicaliは初めて非対話型零知识证明の概念を提唱し、複数回の対話を必要とせずに、証明者と検証者が認証プロセスを完了できる可能性を証明しました。このブレークスルーにより、即時取引、投票、そしてブロックチェーンアプリケーションの実現が可能になりました。
彼らは非対話型zk-SNARKsが三つの段階に分かれることを提案しました:
設定段階では計算関数を使用して、安全パラメータを公共の知識に変換します。これは通常、共通の参照文字列にエンコードされます。これは、計算証明を行い、正しいパラメータとアルゴリズムを使用して検証する方法です。
計算フェーズでは、計算関数、入力および証明鍵を使用し、計算結果と証明を出力します。
検証段階では、検証キーを使用して証明の有効性を確認します。
彼らが提案した公共参照文字列モデルは、すべての参加者が1つの文字を共有することに基づいています。