(Almost) everything you want to know about ZK
Owner: @sputnik-meng
We believe most of the information is already on the Internet, yet needed to be surfaced and organized to become the real knowledge. Leveraging the power of DAO, we want to create a evolving catalog on zero knowledge, and help more people to onboard this area. If you have anything to share, please submit a PR to 👉this repo👈 and our staff will help to review. Looking foward for your contribution!
Task | Bounty | Status |
---|---|---|
understanding Bulletproof | 100 USDT + 1 HAC | TBD |
understanding MACI | 100 USDT + 1 HAC | TBD |
understanding Zerocoin | 100 USDT + 1 HAC | TBD |
understanding Zerocash | 100 USDT + 1 HAC | TBD |
Looking forward for your contribution 🌍💻💪 Welcome to join Hackathon DAO Discord to participate in more our discussion-)
Why ZK Matters?
With the development of blockchain and privacy protection technology on blockchain, more and more people are paying attention to zero-knowledge proof technology. When it comes to the significance of zero-knowledge proof technology, it can be said that this technology was born in the form of a theoretical cryptographic protocol, and its fundamental significance lies in solving the problem of trust.
- Many popular anonymous currency projects (such as Zerocoin, Zerocash) are related to privacy protection requirements that are met by zero-knowledge proof technology.
- Data privacy protection in various scenarios: For example, you need to prove your health status to insurance companies but do not want to disclose specific indicators of your physical examination, or you want to prove to an employer that your course grades during school are within a certain score The above does not want to disclose the specific score.
- Authentication: Users can prove to the server that they have the private key, or know the answer to a secret without revealing the private key or the answer, with zero knowledge.
- Credit history: Credit history is another area that can give full play to the advantages of zero-knowledge proof. Users can selectively show their credit history to the other party. Authenticity of credit history.
Introduction
In the early 1980s, Goldwasser et al. proposed the concept of zero-knowledge proofs. A zero-knowledge proof is a protocol (informally speaking, a protocol is a series of steps to accomplish a task, which involves two or more parties), and one party of such a protocol is called the prover, which attempts to make what is called the prover. The other party of the verifier believes that an assertion is correct, but does not provide any useful information to the verifier. The “useful information” here includes not only knowledge about the assertion, but also the verifier itself cannot know Or the content of the implementation, such as the verifier cannot calculate the problems that cannot be solved by itself by interacting with the prover.
There is a wealth of evidence that zero-knowledge proofs are useful in cryptography.
In this section, we cite many interesting examples used in the 1990 paper “how to explain zero-knowledge protocols to your children” to explain the principles and important components of zero-knowledge proof algorithms.
1. Zero Knowledge Cave
In many popular blogs about zero-knowledge proofs, zero-knowledge caves are often cited as examples to facilitate readers’ understanding. This example was first used in a paper(How to explain zero-knowledge protocols to your children) published in CRYPTO 1990 to vividly illustrate the principles of zero-knowledge proof algorithms. We highly recommend this article to readers interested in zero-knowledge proofs.
Dictionary - Frequently used terms and concepts
- Interative proof:
- Elliptic Curve Group:
- Discrete Logarithm:
- Fiat-Shamir Heuristic(Fiat-Shamir):
- Bilinear Pair:
Basic Properties
1. completeness
to be updated
2. soundness
to be updated
3.zero-knowledge
to be updated
Algorithms
1.schnorr
to be updated
2.Hamiltonian Diagram
to be updated
3.Zk-snark
to be updated
4.Plonk
to be updated
5.Bulletproof
to be updated by bounty hunters 💰Bounty
6.Hardware zk
to be updated
应用
1.MACI
to be updated by bounty hunters 💰Bounty
2.Zerocoin
to be updated by bounty hunters 💰Bounty
3.Zerocash
to be updated by bounty hunters 💰Bounty