How it works
ゼロ知識証明が「明かさずに」納得させる流れ
ステップ 1 / 5
秘密と主張
証明者は秘密(パスワード・残高・モデルの出力など=証拠)を持ち、それについての主張を証明したい。
詳しい解説
3つの性質
ゼロ知識証明は、①完全性(真の主張は必ず通る)②健全性(偽の主張はごくわずかな確率でしか通らない)③ゼロ知識(主張が真であること以外は何も伝わらない)の三つで定義されます。この概念はGoldwasser・Micali・Rackoff(1985)が導入しました。
SNARK と STARK
実用の主役は非対話型の簡潔な証明です。Groth16などのzk-SNARKは証明が極小(数百バイト)で検証も一瞬ですが、方式によっては初期の「信頼できるセットアップ」が要ります。zk-STARK(StarkWare系)はセットアップ不要で耐量子性を持つ代わりに、証明サイズが数十〜数百KBと大きくなります。
zkML:AIが正しく動いたことを証明する
近年の応用がzkML(ゼロ知識機械学習)です。ezkl のようなツールはONNXモデルを回路に変換し、「このモデルを(秘密の)入力で走らせたら、この出力になった」ことを、重みや入力を明かさずに証明します。AIの出力に検証可能な来歴を与える技術として注目されています。
主要パラメータ・設計要素
完全性・健全性・ゼロ知識
証明系を定義する三条件。真は通り、偽は通らず、余計な情報を漏らさない——このどれかが崩れると証明にならない。
zk-SNARK と zk-STARK
SNARKは証明が極小で検証も速いがセットアップが要ることがある。STARKは透明(セットアップ不要)で耐量子だが証明が大きい。
信頼できるセットアップ
一部のSNARKが要する一度きりの儀式。生成に使う秘密(毒廃棄物)が漏れると健全性が崩れる。STARKは不要。
証明サイズ/検証時間
Groth16は約3群要素・検証ミリ秒。STARKは数十〜数百KB。生成は重く、検証は軽い、が共通の形。
zkML
ニューラルネット推論の証明。回路サイズはモデル規模に比例し、実用化には量子化と最適化が要る。
産業・ユースケース
この技術が実際に価値を生んでいる領域と、その使われ方。
ブロックチェーン・スケーリング
zk-Rollupは大量のトランザクションをオフチェーンで実行し、その正当性を一つの簡潔な証明にまとめてL1へ提出する。全取引を再実行せず検証でき、Ethereumの処理能力を拡張する。
暗号資産・秘匿決済
Zcashなどの秘匿通貨は、送金額や当事者を明かさずに取引が正当であることをゼロ知識証明で示す。残高やルールの遵守を証明しつつ、明細は秘匿されたまま決済する。
デジタルID・年齢確認
デジタル身分証で「18歳以上である」「特定国の居住者である」といった属性だけを証明し、生年月日や住所そのものは開示しない。選択的開示により最小限の事実だけを検証者へ渡す。
金融・コンプライアンス証明
取引所が「準備金が負債以上ある」ことを、個々の顧客残高や内訳を公開せずにproof of reservesとして証明する。監査可能性と機密性を両立させる用途で使われる。
AI・モデル完全性
zkMLは、特定のモデルが特定の入力に対して確かにその出力を返したことを、重みや入力を開示せずに証明する。推論の真正性や規約遵守を検証する用途が研究されている。
最新の動向
zkMLのコストが急落。2025年だけで1証明あたりの費用が桁違いに下がったとされる(ZKMLガイド2025, icme.io)。
主要フレームワーク(ezkl・Jolt・Lagrange等)がこぞってGPUアクセラレーションを導入している。
折りたたみ(folding)や再帰により、大きなモデルの巨大な証明を圧縮する動きが標準化しつつある。
耐量子性とセットアップ不要を理由に、透明なSTARKが選好される場面が増えている。
用途がブロックチェーンの外へ拡大。年齢・本人性の秘匿証明や、AI出力の来歴証明(proof-of-inference)などが立ち上がっている。
ベンチマーク・実測の目安
Groth16の証明サイズ
わずか3つの群要素(検証はペアリング3回)
Jens Groth『On the Size of Pairing-based Non-interactive Arguments』(EUROCRYPT 2016, ePrint 2016/260)。
SNARK と STARK の証明サイズ
SNARKは数百バイト、STARKは数十〜数百KB
透明性・耐量子の代償として証明が大きくなる。zk-STARK論文(Ben-Sasson他, ePrint 2018/046)の性質。
zkMLの1証明あたりコスト(2025)
1年で大幅に低下(約45倍安く、との集計)
『The Definitive Guide to ZKML (2025)』(icme.io) の集計値。業界ブログ由来のため参考値。
※数値は各出典に基づく参考値です。前提条件により大きく変わります。実装時は一次情報をご確認ください。