上級者用語を調べる
ゼロ知識証明とプライバシー
- 執筆
- CRYPTO PORT 編集部
- 公開日
- 更新日
- 読了目安
- 5 分
結論
ゼロ知識証明は、ある主張が正しいことを、その根拠を明かさずに証明する技術です。プライバシーの文脈では「残高が足りている」「二重支払いでない」といった性質だけを示し、金額や宛先を公開しないために使われます。同じ技術がスケーリングにも使われており、目的によって応用先が変わります。
要点
- 根拠を明かさずに主張の正しさだけを示す
- 金額や宛先を伏せたまま取引の妥当性を検証できる
- 同じ技術がロールアップの圧縮にも使われる
- 証明の生成は重く、検証は軽いという非対称性がある
定義
証明する側が持つ秘密の情報を明かさずに、その情報を持っていることや、ある条件を満たしていることだけを相手に納得させる暗号技術。検証者は結論の正しさのみを得る。
通常のブロックチェーンでは、取引が正しいことを示すために取引の中身をすべて公開します。ゼロ知識証明を使うと、この関係を切り離せます。手元の秘密の情報から証明を作り、検証者はその証明だけを見て「条件を満たしている」と判断します。中身は証明の中に入りません。
プライバシーへの応用では、証明の対象になる条件を注意深く設計します。使おうとしている資金が過去に受け取ったもののどれかに含まれていること、まだ使われていないこと、入出力の合計が合っていること。これらを一括で証明できれば、どの資金をいくら使ったかを明かさずに取引を成立させられます。
実用上の制約は計算コストです。証明の生成には時間とメモリがかかり、端末の性能が体感に直結します。逆に検証は軽く、ネットワーク全体では効率が良い構造になっています。この非対称性は、ロールアップが大量の取引を一つの証明にまとめる用途でも活かされています。
注意点
- · 初期設定に信頼できる手続きを要する方式では、その手続きの健全性が前提になる
- · 証明が守るのは台帳上の情報だけで、通信経路や端末からの漏れは別問題
- · 実装の不備で秘密が漏れた事例もあり、監査状況の確認は欠かせない