These are my notes and are not written in an article form

Prove that -

  1. I know pre image of hash function
  2. My encrypted transaction is a well formed transaction

SNARK

Key terms

  1. Arithmetic circuit, C

  2. Public statement, x

  3. Secret witness, w

  4. Pre- processing setup, S(C) → pp, vp, Reads the circuit and acts as a sort of Summary of Circuit C for verifier

  5. pp - Prover public parameter

  6. vp - Verifier public parameter

  7. Prover inputs (pp, x, w)

  8. Prover will generate proof $\pi$, Prover is proving that they know some witness, such that C(x,w) = 0

    1. Proof should be logarithmic (Or constant) in the size of circuit, C and it should also be sublinear to the size of w. Cannot send w and have a trivial proof

    2. Proof should be fast to verify, time is logarithmic to the size of circuit C and linear in the size of public statement x

      Screenshot 2023-12-12 at 8.42.43 AM.png

  9. Verifier gets (vp, x, $\pi$) to decide to accept to reject the proof

  10. Random oracle - all these have access to Random oracle

Explain what is a Random Oracle