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