ゼロ知識証明 と SNARKsのリンク メモ





## ゼロ知識証明とは?

わかりやすい順にリンクを並べてみました。

* [ゼロ知識証明とは｜ZKIP｜Zero Knowledge Interactive Proof - 意味/解説/説明/定義 ： IT用語辞典](http://e-words.jp/w/%E3%82%BC%E3%83%AD%E7%9F%A5%E8%AD%98%E8%A8%BC%E6%98%8E.html)
* [ゼロ知識証明(ZKIP)とは｜「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典](http://wa3.i-3-i.info/word11739.html)
* [秘密の扉の合言葉を知っていることの証明｜2011年4月号｜金融ITフォーカス｜刊行物｜NRI Financial Solutions](http://fis.nri.co.jp/ja-JP/publication/kinyu_itf/backnumber/2011/04/201104_8.html)
* [series｜cryptography｜chapter2｜認証技術｜NICT 情報通信ベンチャー支援センター](http://www.venture.nict.go.jp/series/cryptography/chapter2/2_4.html)
* [暗号入門７講 ：ゼロ知識証明入門](http://lab.iisec.ac.jp/~arita/lecture3.html)
* [ゼロ知識証明 - Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%BC%E3%83%AD%E7%9F%A5%E8%AD%98%E8%A8%BC%E6%98%8E)


## リンク集

以下の書いてあったものをそのままメモ代わりに

引用元: [[Cryptography] blockchain and trustworthy computing](http://www.metzdowd.com/pipermail/cryptography/2015-October/026658.html)


>
Here are some links in that direction:
https://github.com/scipr-lab/libsnark
https://github.com/Zerocash/libzerocash
https://github.com/pepper-project/tinyram
http://people.xiph.org/~greg/simple_verifyable_execution.txt
http://www.pepper-project.org/
>
typed presentations on the topic:
http://diyhpl.us/wiki/transcripts/simons-institute/a-wishlist-for-verifiable-computation/
.. last one has good video, https://www.youtube.com/watch?v=Z4jzA6ts2j4
http://diyhpl.us/wiki/transcripts/simons-institute/snarks-and-their-practical-applications/
http://diyhpl.us/wiki/transcripts/mit-bitcoin-expo-2015/zerocash-and-zero-knowledge-succint-arguments-of-knowledge-libsnark/
http://diyhpl.us/wiki/transcripts/scalingbitcoin/snarks/
>
some history of probabilistically checkable proof (PCP) stuff:
http://diyhpl.us/~bryan/papers2/bitcoin/snarks/pcp/pcp-history.pdf
http://diyhpl.us/wiki/transcripts/simons-institute/zero-knowledge-probabilistic-proof-systems/
>
quadratic arithmetic/span programs (non-interactive zero knowledge
proofs without probabilistically checkable proofs (PCPs)) (GGPR):
https://eprint.iacr.org/2012/215.pdf
>
Recently I gave a presentation with a very high level and general
overview of ways to (ab)use SNARKs for bitcoin scalability reasons:
(start at page 43) http://diyhpl.us/~bryan/irc/bitcoin/scalingbitcoin-review.pdf


## SNARKs

* [zero knowledge proofs - What are SNARKs? - Cryptography Stack Exchange](http://crypto.stackexchange.com/questions/19884/what-are-snarks)


## NIZK: Non-interactive zero-knowledge proof

* [What is a Non-Interactive Zero Knowledge Proof? - Cryptography Stack Exchange](http://crypto.stackexchange.com/questions/14365/what-is-a-non-interactive-zero-knowledge-proof)
* [Non-interactive zero-knowledge proof - Wikipedia, the free encyclopedia](https://en.wikipedia.org/wiki/Non-interactive_zero-knowledge_proof)


## NP: Non-deterministic Polynomial time（非決定性多項式時間）

* [NP - Wikipedia](https://ja.wikipedia.org/wiki/NP)


## SNARKS for C

PDF: Verifying Program Executions Succinctly and in Zero Knowledge
https://eprint.iacr.org/2013/507.pdf

## Zerocash

[How zerocash works | Zerocash](http://zerocash-project.org/how_zerocash_works)

## 1985: The Knowledge Complexity of Interactive proof Systems

https://groups.csail.mit.edu/cis/pubs/shafi/1985-stoc.pdf

* Completeness:
* Soundness:
* Zero-knowledge:


## CoinDesk Article

* [The Trend Towards Blockchain Privacy: Zero Knowledge Proofs - CoinDesk](http://www.coindesk.com/trend-towards-blockchain-privacy-zero-knowledge-proofs/)


## Hawk

Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts
https://eprint.iacr.org/2015/675.pdf


## 関連用語

* 知識の署名 (SPK: Signature based on a Proof of Knowledge)
* ZKIP: Zero Knowledge Interactive Proof 
* zk-snarks: zero-knowledge Succinct Non-interactive ARgument of Knowledge 
* Bitcoin
* zero-knowledge proofs
* Zerocoin, Monero
* 神託機械, 預言機械, oracle machine