Zero Knowledge Proofs

What if I told you I can prove a statement to you without actually giving you any knowledge except the fact of the statement itself?

The branch of Cryptography employs a method where a prover can prove to the verifier that a statement is true without conveying any information to the verifier. Once proved to the verifier, they should not be able to convince any third party that the statement is true since they never received any knowledge.

This might sound counter intuitive let me paint a picture with an example:

If you consider the picture above, you have no idea where Waldo is but I tell you that I am aware of his location. You ask me to prove it but I don’t want to reveal his location to you, so I employ a zero knowledge proof. I take a large sheet of paper more than twice the length and width of the given image, make a small hole in the sheet and put it over where Waldo is. Now you can see just Waldo but you don’t know where the image is placed under the sheet of paper.

Hence I proved to you that I know where Waldo is but you have no idea where he’s hiding.

This is just a simple example to explain the concept but it’s practical implementations include some complex math and computer algorithms.

It can be used for login credentials, imagine we can figure out a way to login to without giving any information (user id, password) , this prevents identity thefts from in data breaches since there is no real information given for login.

We could also use a Zero Knowledge Proof as a transparency tool for elections, what if we could prove that the elections were conducted in a fair manner without actually revealing the votes.

We are already implementing Zero Knowledge Proofs in certain cryptocurrency blockchains, but are a long way off from using it for bigger solutions.

Comments

Popular Posts