Zero Knowledge Proof
znpはpreserve=今あるデータのプライバシーを守るだけで、共有したりする際にプライバシーをcreateはしない。 すなわち、x => znp(x)にしてもznp(x)からxがわかる?
そのためにはhemやtee?
ランダム性を与えるverifyerが必要。対話が必要。データが多く通信も膨大。
これ読む
general resources
libraries
暗号化キーを持っていることを証明できるか?
HTLC preimage で暗号化して、支払いをしたら、復号できてデータ手に入る
復号できる鍵かどうか、データが期待するものかどうかを zk で証明できる?
暗号化したまま計算ができる準同型暗号が必要な道具であることの説明 有限群において指数法則が成り立つ証明
Blind evaluation したい具体的なユースケースを知りたい
多項式も blind evaluation できる
proover は自分がある多項式を知っていることを証明したい。verfieyr はその多項式を知っている。verifier はいくつもの値を proover に渡し、多項式の計算結果を自分が知っている多項式での計算結果と比較する。もし proover が verifyer と同じ多項式を知っているなら、高い確率で同じ結果を導くと期待できる。
暗号化した値を使った多項式の計算結果が、意図する多項式によって算出されたものかが判別できないといけない。それをテストのに必要なのが KC テスト
証明したい statement を多項式に変換する。多項式にできれば、上の記事で説明されたようにある多項式を知っていることを証明できる。
あらゆる数式を QAP によって多項式に変換できる
これは QAP 自体の解説を読みたい
これらの日本語解説
証明したい witness から QAP を作っていく記事
Zcash の仕組みを知ることで、実例への適用が理解できそう?