ゼロ知識証明(ZKP)は、ある当事者(プルーバー)が別の当事者(検証者)に対し、特定の知識の所有について、その情報そのものを明かすことなく証明できる暗号技術です。この方法は、完全性と健全性の両方を保証しており、追加のデータを開示することなく、証明が有効で信頼できることを意味します。
検証者は、正しい情報を持つ者だけが達成できる特定の作業を行うよう、プルーバーに要求します。もしプルーバーが推測任せであれば、高い確率で検証者のテストに不合格となります。
特徴
完全性:誠実なプルーバーは、ステートメントが真であれば、誠実な検証者に正しい知識を持っていると確信させることができます。
健全性:不誠実なプルーバーは、ステートメントが偽である場合、誠実な検証者を確信させることはできません。
ゼロ知識:検証者は、そのステートメントが真であるという事実以外には何も知ることはありません。
ゼロ知識証明の種類: zk-SNARK、zk-STARK、PLONK、Bulletproofがあります。
ユースケース
ゼロ知識証明は、プライベート取引、検証可能な計算、スケーラブルなレイヤー2ソリューション、分散化されたアイデンティティと認証に使用されます。Zcash、StarkNet、zkSync、Loopringなどのプロジェクトは、セキュリティ、プライバシー、スケーラビリティを強化するためにZKPを使用しています。