Your Zero-Knowledge Proofs (ZKPs) journey

  1. [🕵️‍♀️ verifier] Expresses the predicates/arbitrary computation as a Circom program.
  2. [🕵️‍♀️ verifier] Compiles the above program to get the constraints (.r1cs) and witness (.wasm) files. Displays the circuit stats with R1CS Analysis Tool.
  3. [🕵️‍♀️ verifier] Uses the constraints (.r1cs) file from step 2 to generate a zk-SNARK proving and verification keys (.zkey) file.
  4. [🧑‍🔧 ‎ prover ‎] Uses the .r1cs, .wasm and .zkey files from previous steps to generate a proof 📜.
  5. [🕵️‍♀️ verifier] Uses the verification key (.zkey) from step 3 to verify the proof 📜.

What is Zero Knowledge?

🐼

Panda Pazu

Panda Pazu loves to shop online for bamboo goodies, but she's worried about sharing her credit card details with every store. With Zero-Knowledge Proofs, Pazu can prove to the online store that she has enough funds to make a purchase without revealing her actual credit card number or bank balance.

🐨

Koala Koro

Koala Koro is planning a treasure hunt with his friends. They want to ensure that each member has found a specific clue without disclosing where they found it. Using Zero-Knowledge Proofs, they can verify that everyone has their designated clue without revealing the exact location where they discovered it.