ゼロ知識証明
命題を「知っているという事実」を、内容は告げずに証明すること
"Zero-Knowledge Proof"で
ZKPと呼ばれる
>暗号学において、ゼロ知識証明(ぜろちしきしょうめい、zero-knowledge proof)とは、ある人が他の人に、自分の持っている(通常、数学的な)命題が真であることを伝えるのに、真であること以外の何の知識も伝えることなく証明できるようなやりとりの手法である。
>実際に実現された方式では証明者と質問者が複数回のやりとりをするのでゼロ知識対話証明(ZKIP:Zero-Knowledge Interactive Proof)とも呼ばれます。
以下の前提が整っていないと、そもそもゼロ知識証明をすることができない
作問者には正解がわかる
正解を知っていれば証明も容易
力任せに解くのは計算量が爆発するため事実上不可能
> 別の形の問題への変形が容易で、正解を知っていれば変形した問題の正解もわかる
公約数的な概念に近いかもしれない

> 変形した問題と元の問題を見比べても変形規則は容易にはわからない
> 変形した問題の正解がわかっても変形規則を知らないことには元の問題の正解はわからない
ゼロ知識証明はもともと対話証明系というモデルから生まれた むずすぎる
>NP証明系は検証手順を 「証明者からもらった証拠で問題が正しいか検証する」という決定的なアルゴリズムに限っている。これを確率的なアルゴリズムに拡張することで高い表現力が得られると思われる(ここで「思われる」とあるのはNPがIPの真部分集合か明らかではないから)。
> NPを自然に確率的なアルゴリズムに拡張したものをIP(対話証明)という。
この記事には書いていないけど、Ethereumのトランザクションを処理しきれない問題に対して(プライバシーではなく)"スケーリングのために"利用されている例もある
参考文献の量すごい