
ArkStream Capital:ゼロ知識証明の40年間の技術発展におけるマイルストーン
TechFlow厳選深潮セレクト

ArkStream Capital:ゼロ知識証明の40年間の技術発展におけるマイルストーン
本稿はゼロ知識証明技術に関するここ約40年間の歴史的文献および最新の研究を体系的に総覧している。
執筆:@renkingeth
要約
ゼロ知識証明(ZKP)は、分散型台帳技術以来の最も重要な技術革新の一つと広く見なされており、またベンチャーキャピタルにとっても注目の分野である。本稿では、ゼロ知識証明技術に関する過去約40年にわたる文献および最新の研究を体系的に総覧する。
まず、ゼロ知識証明の基本概念と歴史的背景について紹介する。次に、zkSNARK、Ben-Sasson、Pinocchio、Bulletproofs、Ligeroなどのモデルに基づく回路ベースのゼロ知識証明技術に焦点を当て、その設計、応用、最適化手法を分析する。計算環境の分野では、ZKVMおよびZKEVMについて紹介し、それらが取引処理能力、プライバシー保護、検証効率の向上にどのように貢献するかを考察する。また、レイヤー2スケーリングソリューションとしてのゼロ知識ロールアップ(ZK Rollup)の動作メカニズムと最適化手法、さらにハードウェアアクセラレーション、ハイブリッドソリューション、専用ZK EVMにおける最新の進展についても述べる。
最後に、ZKCoprocessor、ZKML、ZKThreads、ZK Sharding、ZK StateChannelsといった新興概念の将来展望を示し、それらがブロックチェーンのスケーラビリティ、相互運用性、プライバシー保護にどのような可能性をもたらすかを議論する。
これらの最新技術とトレンドを分析することで、ゼロ知識証明技術の理解と応用に対する包括的な視座を提供し、ブロックチェーンシステムの効率性と安全性を高める上での大きな可能性を示すとともに、今後の投資判断に重要な示唆を与える。
序論
現在、インターネットはWeb3時代へと移行しつつあり、ブロックチェーンアプリケーション(DApps)の発展は急速であり、ほぼ毎日のように新たなアプリケーションが登場している。ここ数年で、ブロックチェーンプラットフォームは毎日数百万人のユーザー活動を処理し、数十億件のトランザクションを扱っている。これらの取引から生じる大量のデータには、ユーザーアイデンティティ、取引金額、アカウントアドレス、残高など、多くの個人情報を含む。ブロックチェーンのオープン性と透明性という特性により、こうしたデータはすべての人に公開されているため、さまざまなセキュリティとプライバシーの問題が生じている。
現在、こうした課題に対処できる暗号技術としては、準同型暗号、リング署名、安全なマルチパーティ計算、そしてゼロ知識証明がある。準同型暗号は、暗号文を復号せずに演算を実行でき、アカウント残高や取引金額の保護に役立つが、アカウントアドレスの保護はできない。リング署名は、署名者の身元を隠蔽できる特殊なデジタル署名形式であり、アカウントアドレスの保護には有効だが、残高や取引金額の保護には無力である。安全なマルチパーティ計算は、複数の参加者間で計算タスクを分割し、他者のデータを知ることなく計算を行うことを可能にする。これによりアカウント残高や取引金額の保護が可能になるが、アカウントアドレスの保護はできない。さらに、準同型暗号、リング署名、安全なマルチパーティ計算のいずれも、取引金額、アドレス、残高を漏らすことなく、ブロックチェーン上で証明者が十分な資金を持っていることを検証する用途には使えない(Sun et al., 2021)。
ゼロ知識証明(ZKP)はより包括的な解決策であり、この検証プロトコルは、中間データを一切開示せずにある命題の正しさを検証することを可能にする(Goldwasser, Micali & Rackoff, 1985)。このプロトコルは複雑な公開鍵基盤を必要とせず、繰り返し実行しても悪意あるユーザーが追加の有用情報を得る機会を提供しない(Goldreich, 2004)。ZKPを用いることで、検証者はいかなる個人的な取引データも漏らすことなく、証明者が十分な取引金額を持っているかどうかを検証できる。検証プロセスには、証明者が主張する取引金額を含む証明を生成し、それを検証者に送信する手順が含まれる。検証者はその証明に対して事前定義された計算を行い、最終的な結果を得て、証明者の主張を受け入れるかどうかを決定する。もし証明者の主張が受け入れられた場合、それは彼/彼女が十分な取引金額を持つことを意味する。この検証プロセスは改ざん不可能な形でブロックチェーン上に記録できる(Feige, Fiat & Shamir, 1986)。
ZKPのこの特性により、特にプライバシー保護とネットワークスケーリングの面において、ブロックチェーン取引や暗号通貨アプリケーションの中心的な役割を果たしており、学術研究の焦点となるだけでなく、分散台帳技術――特にビットコイン――の成功実装以来の最も重要な技術革新の一つと広く認識されている。また、業界応用およびベンチャーキャピタルの重点分野でもある(Konstantopoulos, 2022)。
これにより、ZkSync、StarkNet、Mina、Filecoin、Aleoなど、ZKPに基づくネットワークプロジェクトが続々と登場している。これらのプロジェクトの発展に伴い、ZKPに関するアルゴリズム革新も絶えず生まれており、報告によればほぼ毎週新しいアルゴリズムが発表されている(Lavery, 2024;AdaPulse, 2024)。さらに、ZKP技術に関連するハードウェア開発も急速に進展しており、ZKP向けに最適化されたチップの開発も進められている。例えば、Ingonyama、Irreducible、Cysicなどのプロジェクトは大規模な資金調達を完了しており、こうした発展はZKP技術の急速な進歩を示すだけでなく、GPU、FPGA、ASICといった汎用ハードウェアから専用ハードウェアへの移行を反映している(Ingonyama, 2023;Burger, 2022)。
こうした進展は、ゼロ知識証明技術が暗号学の分野での重要な突破口であるだけでなく、プライバシー保護と処理能力の強化という点で、より広範なブロックチェーン技術の応用を推進する鍵となる技術であることを示している(Zhou et al, 2022)。
そこで我々は、将来的な投資判断をよりよく支援するために、ゼロ知識証明(ZKP)に関する知識を体系的に整理することにした。そのために、ZKP関連の主要な学術論文(関連性と引用数に基づいて順位付け)を包括的にレビューした。同時に、当該分野のリーディングプロジェクトの資料およびホワイトペーパー(資金調達規模に基づいて順位付け)も詳細に分析した。こうした包括的な資料収集と分析が、本稿作成の堅固な基礎となっている。
一、ゼロ知識証明の基礎知識
1. 概要
1985年、学者Goldwasser、Micali、Rackoffは論文『The Knowledge Complexity of Interactive Proof-Systems』の中で、初めてゼロ知識証明(Zero-Knowledge Proof, ZKP)およびインタラクティブ・ゼロナレッジ(Interactive Zero-Knowledge, IZK)を提唱した。この論文はゼロ知識証明の礎石であり、その後の学術研究に影響を与える多くの概念を定義している。例えば、「知識」とは「非現実的な計算(unfeasible computation)の出力」であり、知識は出力であり、かつ非現実的な計算でなければならない、つまり単純な関数ではなく複雑な関数でなければならない。非現実的な計算とは一般的にNP問題と解釈でき、これは多項式時間でその解の正しさを検証できる問題を指す。多項式時間とは、アルゴリズムの実行時間が入力サイズの多項式関数で表現できることを意味する。これはコンピュータサイエンスにおいて、アルゴリズムの効率性と現実性を測る重要な基準である。NP問題の求解過程は複雑であるため非現実的と見なされるが、検証過程は比較的簡単であるため、ゼロ知識証明の検証に非常に適している(Goldwasser, Micali & Rackoff, 1985)。
NP問題の古典的な例は巡回セールスマン問題であり、一連の都市を訪問して出発点に戻る最短経路を見つける問題である。最短経路を見つけることは困難かもしれないが、与えられた経路が最短であるかどうかを検証するのは比較的容易である。なぜなら、特定の経路の総距離を検証することは多項式時間で可能だからである。
Goldwasserらは、その論文で「知識複雑度」(knowledge complexity)という概念を導入し、インタラクティブ証明システムにおいて、証明者が検証者に伝える知識量を定量化した。また、インタラクティブ証明システム(Interactive Proof Systems, IPS)を提案し、証明者(Prover)と検証者(Verifier)が複数回のやり取りを通じてある命題の真実性を証明する仕組みを示した(Goldwasser, Micali & Rackoff, 1985)。
以上より、Goldwasserらがまとめたゼロ知識証明の定義は、検証者が検証過程で命題の真偽以外のいかなる追加情報も得ない特殊なインタラクティブ証明であり、以下の三つの基本的特性を持つ:
-
完全性(completeness):主張が真であれば、誠実な証明者は誠実な検証者を納得させることができる;
-
健全性(soundness):証明者が主張内容を知らない場合、ごくわずかな確率でしか検証者を騙すことができない;
-
ゼロ知識性(zero-knowledge):証明プロセス終了後、検証者は「証明者がこの知識を持っていること」以外の情報を得ることができない(Goldwasser, Micali & Rackoff, 1985)。
2. ゼロ知識証明の例
ゼロ知識証明とその属性をよりよく理解するために、以下に証明者が特定の秘密情報を保持しているかを検証する例を示す。この例は設定、挑戦、応答の三段階に分けられる。
第一段階:設定(Setup)
この段階では、証明者の目的は、秘密数字sを知っていることを証明するが、s自体を直接表示しない証拠を作成することである。秘密数字を設ける;
二つの大きな素数pとqを選び、その積を計算する。素数pとqを設け、計算によって得られる;
ここでvは証明の一部として検証者に送信されるが、sを推測させるには不十分である。;
ランダムな整数rを選び、を計算して検証者に送信する。この値xは後続の検証プロセスに使用されるが、sを明らかにしない。ランダム整数を設け、計算によって得られる。
第二段階:挑戦(Challenge)
検証者はランダムにビットa(0または1)を選び、証明者に送信する。この「挑戦」が、証明者が次に取るべきステップを決定する。
第三段階:応答(Response)
検証者から送られたaの値に応じて、証明者が応答する:
もしa=0ならば、証明者は(ここでrは以前にランダムに選ばれた数)を送信する。
もしa=1ならば、証明者はを計算して送信する。検証者が送ったランダムビットを設け、aの値に応じて証明者がを計算する;
最後に、検証者は受信したgを使ってが等しいかどうかを検証する。等式が成立すれば、検証者はこの証明を受け入れる。a=0の場合、検証者が計算し、右辺を検証する;a=1の場合、検証者が計算し、右辺を検証する。
ここで、検証者が計算して得たは、証明者が検証プロセスを成功裏に通過したことを示しており、同時に秘密数字sを漏らしていない。ここでaは0または1の二通りしかないため、運だけで検証を通過する確率は(a=0の場合)である。しかし、検証者が証明者を再度挑戦し、証明者が常に新たな関連数字を提出して検証を通過し続ける場合、運だけによる通過確率は(0に限りなく近づく)となり、証明者が実際に秘密数字sを知っていることが証明される。この例は、ゼロ知識証明システムの完全性、健全性、ゼロ知識性を示している(Fiat & Shamir, 1986)。
二、非インタラクティブゼロ知識証明
1. 背景
ゼロ知識証明(ZKP)は従来、通常はインタラクティブでオンラインのプロトコル形式であった。例えば、Sigmaプロトコルは認証を完了するために通常3〜5回のやり取りを必要とする(Fiat & Shamir, 1986)。しかし、即時取引や投票などのシナリオでは、しばしば複数回のやり取りの機会がなく、特にブロックチェーン技術の応用では、オフライン検証機能が極めて重要である(Sun et al., 2021)。
2. NIZKの提案
1988年、Blum、Feldman、Micaliは、非インタラクティブゼロ知識(NIZK)証明の概念を初めて提唱し、証明者(Prover)と検証者(Verifier)が複数回のやり取りなしに認証プロセスを完了できる可能性を証明した。この画期的な成果により、即時取引、投票、ブロックチェーンアプリケーションの実現が可能になった(Blum, Feldman & Micali, 1988)。
彼らは、非インタラクティブゼロ知識証明(NIZK)を次の三段階に分けた:
-
設定
-
計算
-
検証
設定段階では、セキュリティパラメータを共通の知識(証明者と検証者がアクセス可能な情報)に変換する計算関数を使用し、通常は共通参照文字列(CRS)に符号化される。これが正しいパラメータとアルゴリズムを使って証明を計算し、検証する方法である。
計算段階では、計算関数、入力、証明鍵を用いて、結果と証明を出力する。
検証段階では、検証鍵を使って証明の有効性を検証する。
彼らが提案した共通参照文字列(CRS)モデルは、すべての参加者が共有する文字列を利用してNP問題の非インタラクティブゼロ知識証明を実現するものである。このモデルの動作はCRSの信頼できる生成に依存しており、すべての参加者が同じ文字列にアクセスできる必要がある。CRSが正しくかつ安全に生成された場合にのみ、このモデルに基づくスキームは安全性を保証できる。多数の参加者にとって、CRSの生成プロセスは複雑で時間がかかる可能性があり、そのためこうしたスキームは通常操作が簡単で証明サイズが小さいものの、設定プロセスには大きな課題がある(Blum, Feldman & Micali, 1988)。
その後、NIZK技術は急速に発展し、インタラクティブゼロ知識証明を非インタラクティブ証明に変換するさまざまな方法が登場した。これらはシステムの構築方式や基盤となる暗号モデルの仮定においてそれぞれ異なる。
3. Fiat-Shamir変換
Fiat-Shamir変換は、別名Fiat-Shamir Heuristic(ヒューリスティック)またはFiat-Shamir Paradigm(パラダイム)とも呼ばれ、1986年にFiatとShamirが提唱した、インタラクティブゼロ知識証明を非インタラクティブに変換する方法である。この方法はハッシュ関数を導入することでやり取りの回数を減らし、セキュリティ仮定に基づいて証明の真実性と偽造困難性を確保する。Fiat-Shamir変換は、公共の暗号学的ハッシュ関数を使って部分的なランダム性とインタラクティブ性を置き換え、その出力をある意味でCRSと見なすことができる。このプロトコルはランダムオラクルモデルでは安全と見なされるが、ハッシュ関数の出力が異なる入力に対して均一でランダムかつ独立であるという仮定に依存している(Fiat & Shamir, 1986)。Canetti、Goldreich、Haleviは2003年の研究で、この仮定は理論モデルでは成立するが、実際の応用では課題に直面する可能性があるため、使用時に失敗するリスクがあることを示した(Canetti, Goldreich & Halevi, 2003)。後にMicaliがこの方法を改良し、複数回のやり取りを一回に圧縮し、インタラクションプロセスをさらに簡素化した(Micali, 1994)。
4. Jens Groth およびその研究
Jens Grothの後続の研究は、ゼロ知識証明が暗号学およびブロックチェーン技術において応用されるうえで大きく貢献した。2005年、彼とOstrovsky、Sahaiは、任意のNP言語に適用可能な完璧な非インタラクティブゼロ知識証明システムを共同で初めて提案し、動的/適応的攻撃者に対しても普遍的合成(UC)安全性を保証した。さらに、数論的複雑性仮定を用いて、簡潔かつ効率的な非インタラクティブゼロ知識証明システムを設計し、CRSおよび証明のサイズを著しく削減した(Groth & Sahai, 2005)。
2007年、Groth、Cramer、Damgårdはこれらの技術の商用化を開始し、実験的検証により、公的鍵暗号および署名スキームの効率性と安全性が顕著に向上したことを示した(ただし、これらは双線形群の仮定に基づいている)(Groth & Sahai, 2007)。2011年、Grothは完全準同型暗号と非インタラクティブゼロ知識証明の統合についてさらに探求し、通信コストを削減するスキームを提案し、NIZKのサイズを証明の証人サイズと一致させた(Groth, 2011)。その後の数年間、彼は他の研究者と共に、双線形対応に基づく技術を深く研究し、大規模な主張に対してコンパクトで効率的な非インタラクティブ証明を提供したが、これらの証明は依然として双線形群の枠組みから脱却できていない(Bayer & Groth, 2012; Groth, Kohlweiss & Pintore, 2016; Bootle, Cerulli, Chaidos, Groth & Petit, 2015; Groth, Ostrovsky & Sahai, 2012; Groth & Maller, 2017)。
5. その他の研究
特定の応用シナリオでは、特定の検証者向けの非インタラクティブゼロ知識証明は独自の実用価値を示している。例えば、CramerとShoupは、1998年および2002年に、汎用ハッシュ関数に基づく方法を用いた公開鍵暗号スキームを開発し、選択暗号文攻撃に対して効果的に耐性を示した。さらに、鍵登録モデルにおいて、すべてのNP問題に適用可能な新しい非インタラクティブゼロ知識証明法が開発され、参加者が自身の鍵を登録して後続の検証に備えることが肝要となった(Cramer & Shou, 1998, 2002)。
また、Damgård、Fazio、Nicolosiは2006年に、既存のFiat-Shamir変換を改良する新しい方法を提案し、直接的なやり取りなしに非インタラクティブゼロ知識証明を可能にした。彼らの方法では、検証者がまず公開鍵を登録し、後続の暗号化操作の準備をする必要がある。証明者は加法準同型暗号技術を用いて、データを知らずに演算を行い、答えを含む暗号化情報をチャレンジへの応答として生成する。この方法の安全性は「複雑性レバー仮定」に基づいており、超常的な計算資源を持つ攻撃者にとっては、難解とされる計算問題が解ける可能性があると考える(Damgård, Fazio & Nicolosi, 2006)。
VentreとViscontiは2009年に「弱い帰責的健全性」(weak accountability)の概念を提案し、この仮定の代替とした。これは、攻撃者が虚偽の証明を提出する場合、それが偽であることに気づくだけでなく、どうやってその偽証を成功させたかを明確に理解しなければならないというものである。この要求により、欺瞞の難易度が著しく高まる。なぜなら、攻撃者は自身の欺瞞手段を明確にしなければならないからである。実際の操作では、この概念を使う攻撃者は特定の証明を提供する必要があり、そこには指定された検証者向けの暗号化情報が含まれ、その検証者の秘密鍵がないと証明を完成できないため、攻撃者が偽証を試みると検出される(Ventre and Visconti, 2009)。
Unruh変換は、2015年に提案されたFiat-Shamir変換の代替案である。Fiat-Shamir法は量子計算に対して通常安全ではなく、特定のプロトコルでは安全でないスキームを生む可能性がある(Unruh, 2015)。一方、Unruh変換はランダムオラクルモデル(ROM)において、任意のインタラクティブプロトコルに対して量子攻撃者にも耐性のある、証明可能な安全な非インタラクティブゼロ知識証明(NIZK)を提供する。Fiat-Shamir法と同様に、Unruh変換は追加の設定ステップを必要としない(Ambainis, Rosmanis & Unruh, 2014)。
Kalaiらは、プライベート情報検索技術に基づく任意の決定問題の証明システムを提案した。この方法は多証明者インタラクティブ証明システム(MIP)モデルを採用し、Aielloらの方法によってMIPを証明システムに変換する。この構成は標準モデルで動作し、ランダムオラクル仮定に依存しない。この方法は「普通人向け証明(Proofs-for-Muggles)」に基づくゼロ知識証明に応用されている(Kalai, Raz & Rothblum, 2014)。
こうした技術を基盤として、非インタラクティブゼロ知識証明(NIZK)は金融取引、電子投票、ブロックチェーン技術など、高度なセキュリティとプライバシー保護が必要な分野で広く応用されている。やり取りの回数を減らし、証明の生成と検証プロセスを最適化することで、NIZKはシステムの効率性を高めるとともに、セキュリティとプライバシー保護能力を強化している。今後、これらの技術がさらに発展・洗練されることで、NIZKはより多くの分野で重要な役割を果たし、より安全で効率的な情報処理と伝送を支える堅固な技術基盤を提供すると期待される(Partala, Nguyen & Pirttikangas, 2020)。
三、回路ベースのゼロ知識証明
1. 背景
暗号学の分野、特に大規模行列演算などの高度な並列化と特定タイプの計算タスクを扱う場合、従来のチューリングマシンモデルには限界がある。チューリングマシンモデルは、無限長のテープを模倣するために複雑なメモリ管理機構を必要とし、並列計算やパイプライン操作を直接表現するのに不向きである。一方、回路モデルはその独特な計算構造の利点により、特定の暗号処理タスクに適している(Chaidos, 2017)。本稿では、回路モデルに基づくゼロ知識証明システム(Zero-Knowledge Proof Systems Based on Circuit Models)を詳細に検討する。このようなシステムは、回路(通常は算術回路または論理回路)を用いて計算プロセスを表現し、検証することに特化している。
2. 回路モデルの基本概念と特徴
回路ベースの計算モデルでは、回路は特別な計算モデルとして定義され、あらゆる計算プロセスをゲートと接続線の系列に変換できる。具体的には、回路モデルは主に二種類に分けられる:
-
算術回路:加算ゲートと乗算ゲートで構成され、有限体上の要素を処理する。算術回路は複雑な数値演算に適しており、暗号アルゴリズムや数値解析に広く用いられる。
-
論理回路:ANDゲート、ORゲート、NOTゲートなどの基本論理ゲートで構成され、ブール演算を処理する。論理回路は単純な判断ロジックやバイナリ計算に適しており、各種制御システムや単純なデータ処理タスクに頻繁に用いられる(Chaidos, 2017)。
3. ゼロ知識証明における回路設計と応用
ゼロ知識証明システムでは、回路設計のプロセスは、証明したい問題を回路の形で表現することを含む。このプロセスでは、多くの「逆向きの思考」が必要となる。「ある計算の主張される出力が真実であれば、その出力は一定の要件を満たさなければならない。もし、これらの要件を加算や乗算だけでモデル化することが困難であれば、証明者に追加の作業を求めて、これらの要件をより簡単にモデル化できるようにする。」設計プロセスは通常以下のステップに従う(Chaidos, 2017):
-
問題の表現:まず、暗号ハッシュ関数の計算プロセスなど、証明したい問題を回路の形に変換する。これには、計算ステップを回路内の基本ユニット(ゲートや接続線)に分解することを含む。
-
回路の最適化:ゲートの統合や定数折りたたみなどの技術的手法を用いて、回路設計を最適化し、必要なゲート数と計算ステップを削減することで、システムの実行効率と応答速度を向上させる。
-
多項式表現への変換:ゼロ知識証明技術に適合させるため、最適化された回路をさらに多項式形式に変換する。各回路要素と接続は特定の多項式制約に対応する。
-
共通参照文字列(CRS)の生成:システム初期化段階で、証明鍵と検証鍵を含む共通参照文字列を生成し、後続の証明生成と検証プロセスに使用する。
-
証明の生成と検証:証明者は自身の秘密入力とCRSを用いて、回路上で計算を実行し、ゼロ知識証明を生成する。検証者は公開された回路の説明とCRSを用いて、証明の正しさを検証できるが、証明者の秘密情報を知る必要はない(Chaidos, 2017)。
ゼロ知識証明回路設計は、特定の計算プロセスを回路表現に変換し、多項式制約を構築することで計算結果の正確性を保証しながら、余分な個人情報を漏らさないことを目的とする。回路設計の鍵となる課題は、回路構造の最適化と効果的な多項式表現の生成であり、これは証明生成と検証の効率を向上させるために不可欠である。これらのステップを実施することで、ゼロ知識証明技術は余分な情報を漏らすことなく計算の正しさを検証でき、プライバシー保護とデータセキュリティの両方の要件を満たすことができる(Chaidos, 2017)。
4. 潜在的な欠点と課題
欠点は以下の通り:
-
回路の複雑さと規模:複雑な計算には巨大な回路が必要となり、証明生成と検証の計算コストが大幅に増加し、特に大規模データを扱う場合には顕著である;
-
最適化の難しさ:ゲート統合、定数折りたたみなどの技術的手段で回路を最適化できるが、効率的な回路の設計と最適化には深い専門知識が必要である;
-
特定計算タスクへの適応性:異なる計算タスクには異なる回路設計が必要であり、各具体タスクごとに効率的な回路を設計することは時間のかかりやすく、一般化が難しい;
-
暗号アルゴリズムの実装の難しさ:ハッシュ関数や公開鍵暗号のような複雑な暗号アルゴリズムを実装するには多数の論理ゲートが必要となり、回路設計と実装が困難になる;
-
リソース消費:大規模回路は大量のハードウェアリソースを必要とし、消費電力、発熱、物理的スペースなどの面で実際のハードウェア実装のボトルネックに直面する可能性がある(Goldreich, 2004;Chaidos, 2017;Partala, Nguyen & Pirttikangas, 2020;Sun et al., 2021)。
解決策と改善方向:
-
回路圧縮技術:効率的な回路圧縮技術の研究と応用により、必要な論理ゲート数と計算リソースを削減する;
-
モジュール化設計:回路のモジュール化設計により、再利用性と拡張性を高め、異なるタスクのために回路を再設計する作業量を減らす;
-
ハードウェアアクセラレーション:専用ハードウェア(FPGAやASICなど)を用いて回路計算を高速化し、ゼロ知識証明全体のパフォーマンスを向上させる(Goldreich, 2004;Chaidos, 2017;Partala, Nguyen & Pirttikangas, 2020;Sun et al., 2021)。
四、ゼロ知識証明モデル
1. 背景
回路ベースのゼロ知識証明は汎用性が低く、特定の問題に対して新しいモデルやアルゴリズムを開発する必要がある。現在、いくつかの高級言語コンパイラと低レベル回路構成ツールが存在し、回路の生成と設計アルゴリズムを行える。関連する計算の変換は、手動回路構築ツールまたは自動コンパイラで行える。手動変換は通常より最適化された回路を生成するが、自動変換は開発者にとって便利である。パフォーマンスが重要なアプリケーションでは通常、手動変換ツールが必要とされる(Chaidos, 2017;Partala, Nguyen & Pirttikangas, 2020;Sun et al., 2021)。
本稿ではその中でも最も著名なものをいくつか紹介する。概して、これらのモデルはすべてzkSNARK技術の拡張または亜種であり、それぞれが特定の応用要件(証明サイズ、計算複雑性、設定要件など)において最適化を試みている。
各プロトコルは、設定要件、証明サイズ、検証速度、計算負荷の面で特定の応用、利点、限界を持つ。暗号通貨のプライバシー、安全な投票システム、ゼロ知識による一般計算の検証など、さまざまな分野で応用されている(Čapko, Vukmirović & Nedić, 2019)。
2. 主要アルゴリズムモデル
1. zkSNARKモデル:2011年、暗号学者Bitanskyらによって提唱された「ゼロ知識簡潔非インタラクティブ知識証明」(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)の略称。これは改良されたゼロ知識証明メカニズムであり、抽出可能衝突耐性ハッシュ(ECRH)関数が存在する場合、NP問題に対するSNARKの実現が可能であることを示し、計算委託、簡潔な非インタラクティブゼロ知識証明、簡潔な双方安全計算などにおけるSNARKの適用性を示した。この研究はまた、SNARKの存在がECRHの必要性を意味することを示し、これらの暗号プリミティブ間の基礎的関係を確立した(Bitansky et al., 2011)。
zkSNARKシステムは、設定、証明者、検証者の三部で構成される。設定プロセスでは、予め定義されたセキュリティパラメータlとF-算術回路Cを用いて、証明鍵(PK)と検証鍵(VK)を生成する。この回路のすべての入力と出力は体Fの要素である。PKは検証可能な証明の生成に使用され、VKは生成された証明の検証に使用される。生成されたPKを用いて、証明者は入力x ∈ Fnと証人W ∈ Fhを用いて証明pを生成する。ここでC(x, W) = 0l。C(x, W) = 0lは回路Cの出力が0lであることを意味し、xとWは回路Cの入力パラメータである。n、h、lはそれぞれx、W、C出力の次元を表す。最後に、検証者はVK、x、pを用いてpを検証し、検証結果に基づいて証明を受け入れるか拒否するかを決定する(Bitansky et al., 2011)。
さらに、zkSNARKはいくつかの追加特性を持つ。まず、検証プロセスは短時間で完了でき、証明のサイズは通常数バイト程度である。第二に、証明者と検証者の間で同期通信は不要であり、どの検証者でもオフラインで証明を検証できる。第三に、証明者アルゴリズムは多項式時間内に実行できる。これ以降、性能と応用範囲をさらに最適化した複数の改良版zkSNARKモデルが登場している(Bitansky et al., 2011)。
2. Ben-Sassonモデル:Ben-Sassonらは2013年および2014年に、フォン・ノイマンRISCアーキテクチャプログラムの実行に適用可能な新しいzkSNARKモデルを提案した。その後、提案された汎用回路ジェネレータに基づき、Ben-Sassonらはシステムを構築し、プログラム実行の検証への応用を示した。このシステムは二つの構成要素からなる:算術回路充足性の検証のための暗号証明システム、およびプログラム実行を算術回路に変換する回路ジェネレータ。この設計は機能面および効率面で先行研究を上回っており、特に回路ジェネレータの汎用性と出力回路サイズの加法的依存性が優れている。実験評価では、最大10,000命令のプログラムを処理でき、高いセキュリティレベルで簡潔な証明を生成でき、検証時間はわずか5ミリ秒であった。この価値は、ブロックチェーンやプライバシー保護スマートコントラクトなどの実用応用に、効率的で汎用的かつ安全なzk-SNARKソリューションを提供することにある(Ben-Sasson et al., 2013, 2014)。
3. Pinocchioモデル:Parnoら(2013)が提案した完全な非インタラクティブゼロ知識証明生成キット(Parno et al., 2013)。これには高級コンパイラが含まれ、開発者に計算を回路に変換する簡便な方法を提供する。これらのコンパイラは高級言語で書かれたコードを受け付けるため、新旧のアルゴリズムを簡単に変換できる。しかし、適切なサイズの回路を生成するため、コード構造に若干の制限がある。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News












