Zero Knowledge Proof
aka ZKP, ZK
https://medium.com/@leor.fishman/privacy-and-secrecy-a-general-analysis-f39dcd6a709f
znpはpreserve=今あるデータのプライバシーを守るだけで、共有したりする際にプライバシーをcreateはしない。
すなわち、x => znp(x)にしてもznp(x)からxがわかる?
そのためにはhemやtee?
ランダム性を与えるverifyerが必要。対話が必要。データが多く通信も膨大。
zksnarkは対話不要でこれを解決。createはしない。
matter-labs/awesome-zero-knowledge-proofs: A curated list of awesome things related to learning Zero-Knowledge Proofs (ZKP).
これ読む
Demystifying Zero Knowledge Proofs FINAL - Google スライド
Zero-Knowledge Proofs
general resources
Introduction to zk-SNARKs with Examples - ConsenSys Media
zk-SNARKs — A Realistic Zero-Knowledge Example and Deep Dive
ZK-STARKs — Create Verifiable Trust, even against Quantum Computers
theory and practice of zk-snarks - Speaker Deck
Personal notes on ZK-STARKs | Coder's Errand
Creating fake zkSNARK proofs - QEDIT - Medium
zk-SNARKs Overview - LayerX Research
Introduction to zk-SNARKs (Part 1)
/layerx/zk-SNARKs
Quals.pdf
libraries
Zokrates/ZoKrates: A toolbox for zkSNARKs on Ethereum
暗号化キーを持っていることを証明できるか?
HTLC preimage で暗号化して、支払いをしたら、復号できてデータ手に入る
復号できる鍵かどうか、データが期待するものかどうかを zk で証明できる?
atomic swap はどうやって成り立っているのか
Explaining SNARKs Part I: Homomorphic Hidings - Electric Coin Company
暗号化したまま計算ができる準同型暗号が必要な道具であることの説明
有限群において指数法則が成り立つ証明
群における指数法則|大学・理系(数学/物理)【レポート代行・課題代行・宿題代行・家庭教師】
部分群の指数 - Wikipedia
Blind evaluation したい具体的なユースケースを知りたい
Logarithm
Explaining SNARKs Part II: Blind Evaluation of Polynomials - Electric Coin Company
多項式も blind evaluation できる
proover は自分がある多項式を知っていることを証明したい。verfieyr はその多項式を知っている。verifier はいくつもの値を proover に渡し、多項式の計算結果を自分が知っている多項式での計算結果と比較する。もし proover が verifyer と同じ多項式を知っているなら、高い確率で同じ結果を導くと期待できる。
Explaining SNARKs Part III: The Knowledge of Coefficient Test and Assumption - Electric Coin Company
暗号化した値を使った多項式の計算結果が、意図する多項式によって算出されたものかが判別できないといけない。それをテストのに必要なのが KC テスト
Explaining SNARKs Part IV: How to make Blind Evaluation of Polynomials Verifiable - Electric Coin Company
Explaining SNARKs Part V: From Computations to Polynomials - Electric Coin Company
非対話零知識証明 zk-SNARKs の解説良記事を数学的ハードルを下げつつ日本語で解説していく Part-5/7 - Qiita
証明したい statement を多項式に変換する。多項式にできれば、上の記事で説明されたようにある多項式を知っていることを証明できる。
あらゆる数式を QAP によって多項式に変換できる
これは QAP 自体の解説を読みたい
Explaining SNARKs Part VI: The Pinocchio Protocol - Electric Coin Company
これらの日本語解説
非対話零知識証明 zk-SNARKs の解説良記事を数学的ハードルを下げつつ日本語で解説していく Part-6/7 - Qiita
zk-SNARKs勉強会 - chaintope
zkSNARKs をたずねて三千里 第 1 回
証明したい witness から QAP を作っていく記事
zkSNARKs in a nutshell by Ethererum
RSA は乗法準同型があるよ
Zcash の仕組みを知ることで、実例への適用が理解できそう?
Quadratic Arithmetic Programs: from Zero to Hero | by Vitalik Buterin | Medium