The world is at a crossroads with two seemingly contradictory needs. The first is the assurance of safety. But at the same time, no one really wishes to give out too much information. Privacy laws are being constrained in many nations. But then how would one verify claims of any kind without getting more information about the object in question?
According to blog.eduonix.com, using the most minimal information available, the ZKP attempts to decipher the truth to a given claim. The applications of ZKP can be of diverse spaces. From nuclear disarmament to Blockchains to even personal and ethical behavior.
The idea started taking shape in the paper titled “The Knowledge Complexity of Interactive Proof-Systems” in 1989. It was composed by Silvio Micali, Shafi Goldwasser, and Charles Rackoff. Their paper when was combined with another paper by Laszlo Babai, it created the first concrete stepping stone towards ZKP. It even got all of the involved researchers the first Godel Prize for their contributions.
Importance of ZKP
With the perpetual growth of data across the world, privacy is a huge concern for many organizations. Social security numbers, addresses, account numbers, are things that could wreak havoc on anyone’s life if they are in control of anyone with malicious intent.
But with investigations and other queries, sometimes, these companies might have to compromise on data. An excellent example was the mass shooter at San Bernadino. Even though the FBI requested Apple to allow entry into the shooter’s devices, the company rejected their requests on the grounds of customer’s trust. Later, the FBI still managed to hack into the shooter’s device.
This is the exact situation that ZKP plans to alleviate.
Explaining ZKP in Most Fundamental Sense
Imagine it’s Christmas and your family just gathered for the opening of presents.
Also, You have a twin sister by the name Rachelle and both of you are just six!
Now, moving on…
After opening all the gifts under the tree, your grandparents have an extra surprise. Both of them have a lot of candies for you both.
Now she hands over two enclosed and opaque but beautifully decorated boxes of chocolates to you both. Now, although you know your grandparents love you a lot, you still suspect that Rachelle box might contain more candies than yours.
But you do not want to reveal how many candies you have in your box. Now if you know anything about your childhood, then you know that if you don’t reveal, she won’t either. So, you both plan for an alternative way. In the box containing the chocolates, deciphering the instructions lets you know that each of these boxes can contain, 20, 40, 60 or 80 chocolates.
So, you bring out 4 lockable boxes from your playroom and you label them according to the possible options of candies available. The boxes also have a slit to slide-in letters. So, the boxes bear the mark of 20, 40, 60 and 80. Now you lock them all with 4 of the respective keys and you throw the ones which don’t match the number of candies in your possession. But you keep the key of the box that has your number of candies in your pocket and you leave the hall.
Let us assume your box contains 40 candies. So, you keep the key of the box with the label “40” with you and you leave that box out.
Now your sister walks into the room and takes 4 papers. Let us assume that she received 60 candies in her box. She marks 3 of the papers with a black Zero and 1 with an X sign. The X sign marks the number of candies she got, which is 60. She slides the paper marked with zero in boxes containing the label of 20, 40 and 80 and shoves in the paper containing the X in the box having the label 60.
Now, you return the next morning to the boxes and unlock the box whose keys are with you, to find out that your grandparents might have a favorite grandchild after all. You got the Zero paper on your box. So, that’s proof enough that both of you didn’t receive the same number of candies.
So, that’s how you prove a claim to be false or true without revealing the nature of the data. That is how the Zero-Knowledge proof functions.
Now, Zero-Knowledge Proof comes in two major forms.
ZK-STARK stands for Zero-Knowledge Succinct Transparent Argument of Knowledge and was developed in the midst of the 80s and the 90s. It consists of techniques meant the Prover to compel the verifier to believe that it is already aware of some data or a statement already.
They are faster and more efficient when compared to ZK-STARKs. One of the best things about ZK-STARK is the lack of an initial trusted setup. That is because they rely on leaner cryptography with the help of collision-resistant hash functions. Another advantage of this approach is the elimination of the number-theoretic assumptions of ZK-SNARKs. They generally tend to be expensive and theoretically prone to quantum computer attacks.
Another form of ZKP is non-interactive. This continues to be massively used in very few cryptocurrencies. ZK-SNARKs (Zero-Knowledge Succinct Non-interactive Argument of Knowledge) is a common example that is used. It is deployed for the safety of the data by the users of that particular Cryptocurrency. If you are still unclear about ZKP, you can read more about it here.
Comparing the results of Bitcoin and Zcash, with the ZK-SNARKs, deployed, you can get a clear picture of the need for ZKP in cryptocurrencies. When going by Bitcoin, the names of the users, as well as the amount spent by them can become known to others. While Zcash is perfectly able to hide the data from plain sight. This is an excellent helper when it comes to Blockchain since everyone on the known network should be able to verify them. If we go by the interactive ZKP, the time consumed would be immense.
People can use ZK-SNARKs to prove their bank holds a certain amount of cash without the need of revealing the exact amount present. It’s only to prove if that individual holds or doesn’t hold a certain amount of cash in that account. The Blockchains companies use these ‘proofs’ to create automated systems that are smarter and can verify certain facts without the need to reveal too much information about it. Blockchain has already made significant gains in the financial sector and continues to spread out further.
This way of verification is both transparent and yet respects the privacy of individuals. Almost everyone, be it an individual or a company, wants to keep some of its information private, yet wish to sow the benefits of it.
Currently, Zcash is the largest and most well-known application of ZK-SNARK. The word succinct refers to the proof being smaller. The Non-interactive refers to the lack of communication between the verifier and the prover.
The minor challenges of ZK-SNARK and ZKP are still no match for the secure future they present. Privacy is a growing concern in much of the population but so is security. Nations across the globe are making privacy laws more stringent than ever. With that, governments also want to keep an eye out for potential attacks and dangers. These revolutionary concepts are the perfect remedy for that.