ゼロ知識証明
ゼロ知識証明とは何ですか?
ゼロ知識証明 (Zero-Knowledge Proof)
ゼロ知識証明は、特定の情報(例えば、パスワードや秘密鍵)を相手に一切明かすことなく、自分がその情報を知っているという事実を証明するための暗号学的な技術またはプロトコルです。これは映画、書籍、音楽、ブランドではなく、主にコンピュータサイエンスと暗号学の分野に属する概念です。
その目的は、プライバシーを保護しながら、認証や検証プロセスの正当性を保証することにあります。
基本概要
項目 | 詳細 |
---|---|
分類 | 暗号プロトコル、計算理論 |
主要な目的 | プライバシー保護、スケーラビリティ向上、認証 |
提唱者 | Shafi Goldwasser, Silvio Micali, Charles Rackoff (1985年) |
主要な受賞 | 上記3名はゼロ知識証明を含む研究功績により、2012年にチューリング賞を受賞 |
ゼロ知識証明を構成する3つの性質
ゼロ知識証明は、以下の3つの条件を満たす必要があります。
-
完全性 (Completeness)
- 証明者が持つ命題が真実である場合、証明者は常に検証者を納得させることができる。
- (例:本当に秘密の呪文を知っていれば、何度試されても洞窟の扉を開けられることを証明できる)
-
健全性 (Soundness)
- 証明者が持つ命題が偽りである場合、証明者が検証者を騙して納得させることは、ほぼ不可能である。
- (例:秘密の呪文を知らない場合、偶然正しい道から出てくることはできても、その成功確率は極めて低く、複数回試すと必ず失敗する)
-
ゼロ知識性 (Zero-Knowledge)
- 検証者は、証明者から提示された証明を通じて、その命題が真実であること「以外」の情報を何も得ることができない。
- (例:検証者は「証明者が呪文を知っている」と確信するが、「呪文そのもの」が何であるかは全く知ることができない)
仕組みの簡単な比喩:「アリババの洞窟」
ゼロ知識証明を理解するために最も有名な比喩です。
- 設定:入口が一つで、奥が円形につながった洞窟があります。奥には魔法の扉があり、正しい呪文を唱えないと開けません。
- 登場人物:
- 証明者(ペギー):秘密の呪文を知っていると主張。
- 検証者(ビクター):ペギーが本当に呪文を知っているか確認したい。
- 手順:
- ① ペギーは一人で洞窟に入り、AかBどちらかの分かれ道に進む。ビクターはどちらに進んだか見えない。
- ② ビクターが洞窟の入口に来て、「Aから出てきて」または「Bから出てきて」とランダムに叫ぶ。
- ③ ペギーが呪文を知っていれば、魔法の扉を開けて反対側に抜けられるため、必ずビクターが指定した道から出ることができる。
- ④ 呪文を知らない場合、ペギーが出てこられる確率は50%しかない(自分がいる側を指定された場合のみ)。
- ⑤ この手順を何度も繰り返す。20回連続で成功すれば、ペギーが偶然成功し続けている確率は
1/2^20
(約100万分の1)となり、ビクターは「ペギーが呪文を知っている」と確信できる。
このプロセスを通じて、ビクターは秘密の呪文そのものを一切聞くことなく、ペギーが呪文を知っているという事実を検証できました。これがゼロ知識証明の基本概念です。
主な種類と特徴
実用化されているゼロ知識証明にはいくつかの方式があり、それぞれに長所と短所が存在します。
種類 | 正式名称 | 特徴 | 主な用途例 |
---|---|---|---|
ZK-SNARKs | Zero-Knowledge Succinct Non-Interactive Argument of Knowledge | ・証明サイズが非常に小さい(Succinct)<br>・検証が高速<br> ・信頼できる第三者による初期設定(Trusted Setup)が必要 | Zcash, Ethereum(プライバシー、スケーリング) |
ZK-STARKs | Zero-Knowledge Scalable Transparent Argument of Knowledge | ・証明サイズはSNARKsより大きい<br>・Trusted Setupが不要(Transparent)<br>・耐量子性を持つとされる | StarkNet, Polygon Miden(スケーリング) |
主な応用分野
ゼロ知識証明は、デジタル社会におけるプライバシーと信頼性の問題を解決する鍵として、多岐にわたる分野で活用または研究されています。
-
ブロックチェーンと暗号資産
- プライバシーの強化:取引の送金者、受信者、金額を隠したまま取引の正当性を証明する。(例:Zcash)
- スケーラビリティの向上:多数のトランザクションを一つにまとめて、その正しさを単一の証明で検証する「ZK-Rollup」技術。
-
デジタルIDと認証
- 生年月日を明かさずに「18歳以上であること」を証明する。
- パスワードそのものを送信せずに、サーバーに「パスワードを知っていること」を証明してログインする。
-
電子投票
- 誰に投票したかを秘匿したまま、「自分が正当な有権者であり、かつ一票だけを投じたこと」を証明する。
-
監査とコンプライアンス
- 銀行が個々の口座情報を開示することなく、「総資産が負債を上回っていること(支払能力があること)」を監査機関に証明する。
ゼロ知識証明の最新の質問 (25)
ゼロ知識証明の動画

「ゼロ知識証明」って何?5段階のレベルで説明 | 5 Levels | WIRED.jp
WIRED.jp

【ブロックチェーンの未来】ゼロ知識証明とは?プロトコルが備える3つの性質をを分かりやすく解説
Web3大学

【情報防御】ゼロ知識証明とは?【個人ID・ZKロールアップ】
クリプト3.0

【動画で学ぶブロックチェーン】ゼロ知識証明 -津田匠貴氏
gbec

【最強の証明?】持っている情報を一切 伝えずに証明する手法とは【ずんだもん解説・ゆっくり解説】
ヒラリバタフライ男爵とずんだもん

【ずんだもん解説】ゼロ知識証明について
ITものしりずんだもん

コンピューター科学者が 1 つの概念を 5 段階の難易度で説明 |ワイヤード
WIRED

2023年注目分野①:ゼロ知識証明(Zero-knowledge proof) by.岡本 和士さん#shorts #ゼロ知識証明 #NonagonCapital #DAO #Web3
The WAVE TV【AIの最新動向解説チャンネル】

ゼロ知識証明って一体何!?仮想通貨の技術について学ぼう!【4月第4週 仮想通貨ニュース】
Kudasai TV - 仮想通貨情報発信

ZKP(ゼロ知識証明)ってなに?:episode 1
ブロックチェーンとか暗号とかZKとか

ゼロ知識証明入門 オンデマンド印刷版
YouTube多教養大學

ゼロ知識証明の概念- (日本語)
FuTech

Mina オンライン勉強会🪶TypeScriptでゼロ知識証明プロダクトを開発する方法
AI+Crypto FM

#4 ゼロ知識証明と生体認証
Japan Blockchain Association

1からゼロ知識証明のアプリケーションを開発しよう!【Mina入門】
ブロックチェーンとか暗号とかZKとか

イーサリアムコミュニティとゼロ知識証明の発展 / INTMAX 日置玲於奈氏
Japan Blockchain Association

00079 Web3を変革する魔法の技術:ゼロ知識証明がプライバシーとスケーラビリティを解き放つ
web3ラジオ

【情報科学部】プライバシー保護を実現する暗号・認証技術
HiroshimaUniv

現在ゼロ知識でも、たった1週間で合格する方法🌱美容師国家試験学科📚
kana美容師国家試験対策

ZKP(ゼロ知識証明)とは?ロールアップなどその13の活用領域について
AI+Crypto FM
$FAQ報酬の獲得方法
私たちは1億個の問題達成のために多くの人々の貢献を求めています。すべての貢献者に$FAQトークンの報酬を提供します
- 1. 質問して$FAQ報酬を獲得
- 2. API_KEYを提供して$FAQ報酬を獲得
- 3. 質問を閲覧中にランダムで$FAQ報酬がドロップ