Every once in a while a new piece of technology comes around and changes the whole world as we know. Whether it was the motor engine, airplanes, telephones, internet, or even blockchain technology. All of these innovations had a massive impact on humanity and changed the course of our history.
Similarly, in the coming years, you’ll be hearing a lot about artificial intelligence and the transition from the information age to the age of artificial intelligence. Just as we transitioned from the industrial age to the information age in the past few decades. 15 years back, there were no smartphones, 150 years back there was no combustion engine, 2000 years back there was no paper, and 10,000 years back there was no farming. The world is changing rapidly and almost at a pace of 10 times faster than it did before.
Stephen Hawking once said, “Intelligence is the ability to adapt to change.” If we don’t adapt and acquaint ourselves with the pace of change, we’ll be bygone. Talking about the change, the zero-knowledge proof is one key element that’ll be driving the massive change in our lives, our trust models, and how we interact with each other.
So what is zero-knowledge proof and why it’s so important to learn about it? Let’s give it a try!
What is Zero Knowledge Proof?
First of all, before getting into the definition, I should warn you that the zero-knowledge proofs are not something intuitive that your mind would grasp at once. It took me weeks before I felt comfortable to write about it and still I’m far away from claiming that I understand the concept. That’s why I’ll try to explain the concept by using the well-known abstract example of your color-blind friend. But before we delve into the definition of zero-knowledge and the abstract example, let’s put on our mathematical hat and learn what is a proof?
What is a Proof?
In purely mathematical terms, a proof is something that ensures a statement is absolutely true. Proofs are something that makes us certain about mathematical facts and allows everyone to just follow the steps and verify the proof by themselves. Thus convincing us of the fact that the statement is indeed true.
It’s worth noting, it might take a genius mathematician to prove a theorem or a hypothesis true, but once it is proved, anybody with a basic knowledge of mathematics can easily verify it. In this case, a prover is this genius mathematician and verifier is just about anybody following the steps who could verify that the proof is indeed true.
Now, let’s get into zero-knowledge proofs.
Definition of Zero-Knowledge Proof
As per Wikipedia, “A zero-knowledge proof is a method by which one party (the prover) can prove to another party (the verifier) that a given statement is true, without conveying any information apart from the fact that the statement is indeed true.”
I know, it sounds very complicated, let’s try to break it down in simple language. Zero-knowledge proofs are proofs that reveal absolutely no information to the verifier, yet the verifier would be convinced of that truth. With zero-knowledge proof, you’ll be convinced that I know something with no possibility of tricking you into believing something incorrect or of which something I don’t have proof of it.
For example, with zero-knowledge proof, I can prove to you that I know which party will win in the upcoming 2024 US presidential election without revealing you the name or any information about the given party. I know it sounds really complicated, but let’s understand it with an abstract example.
Abstract Example of Zero-Knowledge Proof
This is a well-known explanation of zero-knowledge proof for us noobs with no mathematical background. So, here’s how it works.
Let’s say, you have two completely identical balls except for the color – one is red and another one is green. Now you have a red-green colorblind friend and you want to prove it to your friend that these balls are different in color. So, how can you (the prover) and convince your color-blind friend (the verifier) that these balls are different in color? Well, here’s how you can:
- You give both the balls to your friend to hide them behind her back
- Now, she takes one ball out and shows it to you
- Then she puts the ball back behind her back, withdraws her hand again, and shows you a ball, and asks you whether she switched the balls or not?
Now, if you repeat the experiment multiple times, your friend will be convinced almost certainly that the balls are indeed different in color. That’s because the probability of the statement being false and you just randomly guessing the correct answer every single time will be minuscule – once in a million.
Thus you just proved that your statement (balls are different in color) to your color-blind friend with her having zero knowledge i.e., colors of the balls. Even by the end of the experiment, your friend still doesn’t know which ball is red and which one is green, but you did convince her that the balls are different in color.
It’s worth noting here that the zero-knowledge proofs are probabilistic proof, rather than deterministic proof. Meaning even though the probability of you just randomly answering her correctly every single time is close to zero, but it’s not absolutely zero.
Now, one would point out that, what’s the point of understanding such a complex concept and how will it affect my day-to-day life? Well, let’s get into that. Here come the use-cases of zero-knowledge proofs.
Use-cases of Zero-Knowledge Proofs
Well, the use-cases of zero-knowledge proofs are limitless and we’re still figuring them out. But to take an example from our day-to-day life, we all browse the internet and are forced to share our personal information in exchange for access to services and products. Whether signing up for an account on a social networking site, doing KYC for financial services, applying for e-visa, or even in our physical world such as getting a loan, renting an apartment, or entering a bar.
Everyone one of us is forced to share our personal data with big corporations that often end up being hacked, sold on the dark web, trading between the hands of malicious actors. Data privacy is the need of the hour and zero-knowledge proofs can solve this biggest problem of our times.
Even though the concept of zero-knowledge proofs was devised long back in the 1980s, the implementation of the technology only started to emerge in the last couple of years, thanks to blockchain technology. Monero – a privacy-centric cryptocurrency has leveraged the zero-knowledge proofs to keep the data in transactions private while ensuring the complete privacy of entities participating in a transaction.
On the other hand, Zero-knowledge proofs are also being leveraged in the Ethereum scaling solutions to settle payments instantly.
To conclude, we’ll be hearing a lot more about the concept of zero-knowledge proofs, new use-cases, new innovative implementations, and eventually replacing the old trust-based models.
As I mentioned in our Bitcoin ideology article – A solution to third-party control is not to build more trustworthy systems but replace them with a system based on cryptographic proof instead of trust. Zero-knowledge proof is the cryptographic proof that will get us out of the pit of trust-based models.