What is Zero Knowledge Proof: Part 1
by Hidenori
This post is inspired by “Why and How zk-SNARK Works: Definitive Explanation” by Maksym Petkus.
What is Zero Knowledge Proof (ZKP)?
Zero-knowledge proof is a field in cryptography that allows people to communicate something without additional information.
Here’s a simplified, watered-down version of the famous problem called the Ali Baba cave.
Suppose that there is a cave and the loop contains a magic door.
You can open the magic door by whispering the secret code.
Suppose B wants to show A that they have the secret code.
The easiest approach is to give A the secret code. However, all B wanted to show was that B has the code. B would be telling more than they need to.
The second approach is for A to stand in the cave. B can go in and make a circle. If B has the secret code, then they can come back out from the other side.
Then A has no information on the secret code, but A can be certain B has the code.
This can be useful for many financial applications. For instance, the bank might ask your credit score when you want a mortgage. Chances are, they need to know your credit score is above a certain threshold. However, with the current system, you have to tell them your exact credit score.
In other words, you want to prove that your input results in true
for the following algorithm:
credit_score_good_enough(my_credit_score)
if my_credit_score >= min_credit_score_required
return true
else
return false
The algorithm can be public, but you don’t want your input my_credit_score
to be public.
The main idea behind ZK is that this algorithm can be converted into polynomials.
Subscribe via RSS