Open In App

Interactive Zero Knowledge Proof

The goal of Zero-knowledge proofs (ZKP) is for ‘verifier’ to prove itself as possessor of some information called as ‘witness’ to ‘verifier’ by satisfying some relations and not revealing witness to anyone else. Interactive zero-knowledge proof requires live interaction of verifier and prover. The idea underlying zero-knowledge proofs first came to force back in 1985, when developers Shafi Goldwasser, Charles Rackoff, and Silvio Micali presented to world notion of “knowledge complexity”, concept that served as precursor to ZKPs. 

Interactive Zero-Knowledge Proof with Discrete Algorithm :

  1. Sanchita wants to prove to Sachin that she knows value info such that y = g^’Witness’ to base g.
  2. Sanchita picks random value x from set of values Z, and computes t = g^x and sends t to Sachin.
  3. Sachin picks random value c from set Z and sends it to Sanchita.
  4. Sanchita computes r = x-c*’Witness’ and returns r to Sachin.
  5. Sachin checks if t= g^r * y^c  holds or not ( since r= x-c*’Witness’, y= g^’Witness’ and by simple substitution, g^(x-c*’Witness’)* g ^ c*’Witness’ = g^x = t).
  6. Sachin doesn’t know value of ‘Witness’ but by checking if t = g^r * y^c he can verify that Sanchita does indeed know the value of ‘Witness’.

Problems with Interactive Zero Knowledge Proof :

Applications :

To counter problems faced with Interactive Zero Knowledge Proof, we further implement Non-Interactive Zero Knowledge Proofs to make it scalable in real world applications.

Article Tags :