ゼロ知識証明
相手に秘密の情報を明かすことなく、自分がその情報を知っていることを証明すること
3つのプロパティ
完全性(Completeness)
命題が正しいことを確認する側(検証者)は、証明者が持っている命題が正しい(真である)場合、それが真であることが必ずわかること
健全性(Soundness)
証明者が持っている命題が誤っている(偽である)場合、検証者は高い確率でそれが偽であると見抜けること
ゼロ知識性(Zero Knowledge)
証明者の持つ命題が真であるなら、検証者が証明者から知識を盗もうとしても、「命題が真である」こと以外の何の知識も得ることができないこと
ゼロ知識が持っている完全性・健全性・ゼロ知識性に加えて簡潔性を持っているzk-SNARKsや、zk-SNARKに加えてスケーラブル性・透明性を持つzk-STARKsなどがある