What is Zero-Knowledge Proof?
|— Data privacy is a growing concern in our digital lives, and our current systems make the problem worse. |
— Zero-Knowledge Proof (or ZKP) uses cryptography to help you access services while protecting your data.
— With ZKP, businesses and government entities can verify and authenticate users without needing to collect sensitive information -and you don’t need to share your life story to access basic services.
— Using ZKP and the blockchain can change the way we access our data and the internet as a whole – not to mention giving back power to you, the individual.
Sharing your data in order to get goods and services might seem like the norm – but it shouldn’t. Why should you need to share your life story – or any extra detail – just to access basic services such as finance, medical treatment or even online shopping? Zero-knowledge proof makes this imbalance a thing of the past – and here, we explain it.
Privacy issues are ingrained in virtually every aspect of our lives. For example, you must supply the bank with your personal details like name, salary and credit score to get a loan. Similarly, the visa process asks you everything but your family tree, starting from your address proof to bank statements.
Why should you need to reveal all of your personal data, in all its different dimensions, to prove just one fact?
It’s not just the government or banking services that collect your data either. Thanks to our reliance on digital services, which can easily track what we’re searching, clicking and looking at, we live in an entirely data-driven society where very little is really private.
For instance, if you’ve ever wondered how Instagram knows you need a new pair of sneakers, you’re not alone. Companies run on data. They use this data to sell you more ads or make you spend more time on their platform — which helps them gather even more data on you and restarts the loop.
Now, theoretically, you can choose not to use the service that gathers data on you. But, unfortunately, this is not an isolated problem. You’d be hard-pressed to find a company that does NOT do this
So, what’s the solution? Does this digital era doom you to have no privacy?
No, it doesn’t – and that’s exactly why privacy-friendly technologies like zero-knowledge Proof (or ZKP) are gaining momentum.
What is a Zero-Knowledge Proof?
Put simply, zero-knowledge Proof or ZKP is a type of cryptography that allows you to prove your identity or specific credentials to a third party, without revealing any personal details.
Let’s see how this works in practice.
If You Know, You Know
Say, your friend has told you a secret and asked you not to tell it to anybody. However, at a gathering, your other friend claims that he already knows the secret. He can’t outright tell it to you because there are others around, so instead, to prove that he indeed knows the secret, he lets you ask him a bunch of very specific questions about the secret – such as where the event occurred, who was involved etc. Now, if he answers these questions correctly, you can reasonably assume that he knows it without actually revealing the secret.
Another example would be trying to prove to a color-blind person that he has two boxes of different colors — say red and green. You could ask him to hold both the boxes behind him and depending on his discretion, he can choose to switch them or leave them be. If the boxes were the same colour, you’d have a 50% chance of guessing his action correctly. But since you can see the colors, you’re able to identify the red one pretty easily. He can then repeat this exercise and each time, the probability of you guessing the correct one in a row is halved. After many tries, your friend has to accept that you just can’t be that lucky and the balls are of different colors.
Privacy and Accuracy: Opposing Forces of ZKP
It’s important to understand that zero-knowledge proof can never be 100% accurate. You just reduce the probability of your statement being false each time you test it.
There are two types of zero-knowledge proofs: interactive, and non-interactive. The examples used above are interactive in nature, which means that the prover and verifier need to communicate with each other to prove their statements. As you can imagine, that’s not very scalable. That’s why non-interactive ZKP is more popular.
In non-interactive ZKP, the prover and the verifier do not need to talk to each other to make the transaction. Instead, it’s done through some pretty complex cryptography and hashing, which could make this article read like an academic paper if we start to explain it.
Instead, let’s look at some of the ways that zero-knowledge proof can be used.
Where have ZKPs been used?
- Blockchain technologies
ZKPs have been used in some popular private blockchains such as Zcash. Zcash uses called as ZK-Snark. ZK-Snark is non-interactive as the information needs to be verified across the blockchain and it’s just not practical for that many nodes to interact with each other.
Along with privacy blockchains, ZKP has also found a use case in Layer two scaling solutions for Ethereum such as Immutable-X or Arbitrum. These blockchains bundle transactions to be executed on the main chain. Zero-knowledge is used to reduce the amount of data held in a transaction — thereby increasing scalability and reducing congestion.
- Identity Verification
With zero-knowledge proof, you can retain ownership of your identity. Instead of needing to ask you for your driver’s license, apps can verify you are “you” through zero-knowledge proof techniques. We can supply just enough information to prove that we’re eligible for certain services or adhere to regulatory compliances. Thus, sensitive identity data can be protected, reducing the probability of fraud. And it would make processes like visa applications, loans, rent agreements or even voting much simpler.
Taking control back with ZKP
Web3 promises to give control back to the users of a network, instead of centralized entities. That’s why the combination of ZKP and blockchains makes absolute sense — it restores our digital sovereignty as our lives become more digital. ZKPs are the future of privacy-friendly digital applications and if implemented correctly, can change the way we use the internet.