Zero-Knowledge Proof

What is
Zero-Knowledge Proof (ZKP)

Modern cryptography aims to secure message transmissions by preventing eavesdropping and tampering. Using zero-knowledge interactive proofs to make public-key cryptosystems secure against certain cypherattacks is one technique to secure systems. The nature of its technique, in which the prover verifies some things without sharing or revealing underlying facts, distinguishes zero-proof knowledge.

In essence, the prover is demonstrating to the verifier that something is true without revealing crucial information. The protocol states that the ‘prover’ will supply little pieces of ‘unlinkable information’ to demonstrate that the claim’s authenticity is probable.

What is
Zero-Knowledge Proof (ZKP)

Modern cryptography aims to secure message transmissions by preventing eavesdropping and tampering. Using zero-knowledge interactive proofs to make public-key cryptosystems secure against certain cypherattacks is one technique to secure systems. The nature of its technique, in which the prover verifies some things without sharing or revealing underlying facts, distinguishes zero-proof knowledge.

In essence, the prover is demonstrating to the verifier that something is true without revealing crucial information. The protocol states that the ‘prover’ will supply little pieces of ‘unlinkable information’ to demonstrate that the claim’s authenticity is probable.

More about Zero-Knowledge Proof by Dr. Amit Sahai

How does it work?

Example from Dilmegani (2021)

You need to prove to your color blind friend that the two balls you have are of different colors but your friend cannot distinguish it and needs more than your words to prove it. A ZKP method for this problem is:

  1. Your friend will take the balls and lets you see which ball is in which hand.
  2. They will either switch or not switch the balls behind their back.
  3. They present the balls and asks you whether the balls switched or not, as you can distinguish the two different colored balls, you can give the correct answer.
  4. Your friend is still not convinced because there is a 50% chance to correctly guess the answer. However, if the process is repeated many times, the probability of you correctly guessing whether the balls have switched or not will be very low. This enables your friend to verify that the balls are different colors without knowing the actual color of the balls.

Real Life Demonstration by Alberto Sonnino

You need to prove to your color blind friend that the two balls you have are of different colors but your friend cannot distinguish it and needs more than your words to prove it. A ZKP method for this problem is:

  1. Your friend will take the balls and lets you see which ball is in which hand.
  2. They will either switch or not switch the balls behind their back.
  3. They present the balls and asks you whether the balls switched or not, as you can distinguish the two different colored balls, you can give the correct answer.
  4. Your friend is still not convinced because there is a 50% chance to correctly guess the answer. However, if the process is repeated many times, the probability of you correctly guessing whether the balls have switched or not will be very low. This enables your friend to verify that the balls are different colors without knowing the actual color of the balls.

Real Life Demonstration by Alberto Sonnino

APPLICATIONS OF
ZERO-KNOWLEDGE PROOF

Typically, zero-knowledge proof systems are used as subprotocols withing larger crypotgraphics protocols. It is said in the definition that zero-knowledge proof can be used to protect data privacy. This data can be from different fields such as Blockchain, Finance, Voting, Authentication and Machine Learning.

Public blockchains such as Bitcoin and Ethereums allows the public verification of transactions. This notion implies that there is little privacy in these transactions and which can ultimately lead to the deanonymization of users. Zero-knowledge proof can provide more privacy to these public blockchains. (Example: Zcash is a cryptocurrency which is based on Zk-SNARK (Zero-knowledge Succint Non-Interactive Argument of Knowledge) 

Zk-SNARK – https://z.cash/technology/zksnarks/

ING uses Zero-knowledge proofs that allow customers to prove their secret number lies in a known range

Example given: A mortgage applicant can prove that their income is in the admissible range without revealing their exact salary.

Zero-knowlege proofs can allow voters to vote anonymously and verify that their vote is included in the tally.

Zero-knowledge proofs can be used to authenticate users without exchanging secret information such as passwords.

Zero-knowledge proofs can allow the owner of a machine learning algorithm to convince others about the result of the model without revealing any information about the model itself.

Even though that Zero-knowledge proofs sounds promising for authentication, it is not 100% foolproof. There is still a chance that something may be verified even though the prover is lying

Algorithms used are computationally intense that it requires many interactions from the prover and the verifier, or require a lot of computational capabilities which makes Zero Knowledge proofs unsuitable for slow and mobile devices.

More about Zero-Knowledge Proofs by Elad Verbin