ゼロ知識証明
ゼロ知識証明は、ZKプロトコルとも呼ばれ、証明者と検証者の間で行われる検証方法です。ゼロ知識証明システムでは、証明者は、情報自体を明らかにすることなく、特定の情報(数式の解など)の知識を持っていることを検証者に証明できます。これらのプルーフシステムは、現代の暗号学者がプライバシーとセキュリティのレベルを高めるために使用できます。
ゼロナレッジプルーフの概念は、ShafiGoldwasserとSilvioMicaliによって発行された1985年のMITの論文で最初に説明されました。彼らは、数やそれに関する追加情報を開示することなく、数のいくつかの特性を証明することが可能であることを実証しました。この論文はまた、証明者と検証者の間の相互作用が与えられた定理を証明するために必要な情報の量を減らすことができるという数学的に重要な発見を紹介しました。
ZK証明は、完全性と健全性として知られる2つの基本的な要件を満たす必要があります。完全性とは、関連情報の知識を高い確率で正確に実証する証明者の能力を指します。証明が適切であるためには、検証者は、証明者が実際に情報を所有しているかどうかを確実に判断できなければなりません。最後に、真にゼロの知識であるためには、証明者と検証者の間で問題の情報が伝達されることなく、証明が完全性と健全性の両方を達成する必要があります。
ゼロナレッジプルーフは、主にプライバシーとセキュリティが不可欠なアプリケーションに使用されます。たとえば、認証システムでは、ZK証明を使用して、資格情報やIDを直接漏らさずに検証できます。簡単な例として、パスワードを開示することなく、人がコンピュータシステムのパスワードを持っていることを確認するために使用できます。
ゼロナレッジプルーフの1つの顕著な実世界の使用例は、暗号通貨とブロックチェーンテクノロジーの世界で見られます。ゼロナレッジSuccinctNon-interactiveArgument of Knowledge(zk-SNARK)として知られるタイプの証明を使用して、 Zcashなどのプライバシーに焦点を当てた暗号通貨は、ユーザーにプライバシーのレベルを高めたブロックチェーントランザクションを提供できます。イーサリアムは、2017年のビザンチウムアップデート以来、zk-SNARKプルーフにも取り組んでいます。