ゼロ知識証明とは【基礎知識】
ゼロ知識証明は、信頼を犠牲にせずに取引のプライバシーを確保することに役立つ。ここではゼロ知識証明とは何か、どのように機能するのか、そしてなぜWeb3でゼロ知識証明が必要なのかを見ていこう。
ゼロ知識証明とは?
ゼロ知識証明(ZKP)とは、プライバシーを侵害する可能性のある情報を提供することなく、ブロックチェーン上のステートメントの正当性を証明するためのプロトコル。ゼロ知識証明によって、ユーザーは取引の詳細を明らかにすることなく、取引の正当性を検証することができる。 ゼロ知識証明では、証明者の責任はステートメントを証明することであり、検証者の役割はそれを検証することだ。プロトコルは、隠された情報が有効であることをオンチェーンで明らかにし、証明者はこれを高い確実性で知ることができる。 悪意のある行為者の手にかかると、個人を特定できる情報(PII:personally identifiable information)は、なりすまし、風評被害、差別などの特定のリスクをもたらす可能性がある。ゼロ知識証明はあなたのPIIを確実に保護する。 取引を完了するために身元を証明しなければならないシナリオを考えてみよう。運転免許証やその他のPIIなどの証拠を提出する必要がある。 しかし、その情報が第三者の手に渡ると、あなたはその情報の安全性をコントロールできなくなる。ハッカーがサードパーティの中央データベースを狙う可能性もあるし、サードパーティがターゲット広告やその他の目的のためにあなたの情報を他者と共有する可能性もある。 ゼロ知識証明を使えば、このような情報の共有を避け、その正当性を証明することに特化させることができる。
ゼロ知識証明の仕組み
ゼロ知識証明は、入力データを処理してその真実性を確認するアルゴリズムを利用する。現在、イーサリアムのStarkNet、Polygon Zero、Zk Syncなどのプロジェクトがこのプロトコルを利用している。 ゼロ知識証明が効率的に機能するためには、以下の3つの基準を満たす必要がある。 基本的なゼロ知識証明は次の3つの要素で構成される。