For Privacy, Hunt The (zk-)Snark
How Does Peggy Prove She Knows The Solution to x²-x-42 To Victor, Without Showing The Answer?
Here is the demo of the code we will use in this article: [Link].
Lewis Carroll’s wrote a poem The Hunting of the Snark and which is extremely difficult to read:
So, let’s meet the Snark that does privacy: the zk-SNARK, and which is a puzzle which can only be solved by someone who knows a secret.
Zero-knowledge Proof
We give away too much of our data. Why should we give away our password every single time that we log into a system? Why can’t we just prove that we still know it? Thus Victor (the verify) can prompt Peggy (the prover) with a puzzle, and where she can show that she can solve it. This is the method that zero-knowledge proof (ZKP) uses to prove things. In this case, we will use the method used by zk-SNARKs to prove that we still know a secret. This method is used in blockchain methods to anonymise transactions. In this, we use the pairing property (e()) of: