Unless you’ve been living under a rock, you must have handed out your personal information to multiple websites & apps.
Information such as your bank statements to get a loan or your aadhaar card details to rent a sofa.
We’re used to having this information employed by organisations to deliver us an enhanced experience. But it’s common knowledge that our data is not completely safe.
Enter Zero-Knowledge Proof or ZKP in short. Simply put, it’s a promise of a privacy-secure future that doesn’t compromise on the experiences we’re used to. Best of both worlds, right?
So if you want to know how you can assure a bartender that you’re an adult without giving away your birthdate, read on.
What is Zero-Knowledge Proof?
In very simple terms, Zero-Knowledge Proof involves someone who wants to prove something to the other person without disclosing the information.
Here, two problems occur:
First, the person proving it wants to demonstrate that he knows the information without disclosing it. Second, the verifier wants to see if the prover knows the information without hearing it.
Sounds impossible but it isn’t anymore.
ZKP, a digital protocol, allows for data to be shared between two parties without the use of a password or any other information associated with the transaction.
Allow us to illustrate what this means with an example.
Imagine you and your team-mate, Karen, receive the same rating during the appraisal cycle. You both are curious to know whether you’ve received the same bonus amount or not. Haven’t we all been there?
The easiest way to determine this would be to blurt out how much you’ve both received. Unfortunately, though you and Karen trust each other, declaring your bonus amount like that is not tasteful. The possibility of common knowledge of who earned more might just make it too uncomfortably awkward to bear.
Sharing the bonus with a third party might also put you both into trouble.
That’s when you come up with a plan.
- You go to the office supply and get 4 lockable boxes, each with a different key. You label the boxes $10, $20, $30 & $40. Since your bonus amount is $20, you take two keys for the second box.
- You give all the remaining four keys to Karen. She opens the box with her bonus amount ($30) and leaves a note saying “Yes.”
- Later, when you open the box labelled $20 with the key you have, you’ll not find any note and know that your bonus amounts are different.
By this method, you will learn that you both did not receive an equal bonus amount. But, you will still have no clue if Karen received a bonus greater than or less than yours and vice versa.
Note how using ZKP would incentivise you both equally to fight for fairness at the workplace.
Why is ZKP important?
As our lives go more digital, our digital footprint has become an asset. Earlier people wanted to steal cash, today they might as well steal your UPI PIN.
The previous decade has seen various ways in which data has been exploited by various organisations to gain insidious advantages.
With this in mind, data privacy has emerged as the focal point of all decisions related to data sharing. There’s a growing appetite for tools that can safeguard privacy in all transactions. ZKP fulfils just that. It can fundamentally change the way we interact with all the services on the internet.
How does it work?
ZKP is based on a probability-based verification model where there are two parties:
- Prover – who is giving out the information and wants to seek a product/service
- Verifier – who is seeking out the information
The verifier asks the prover to prove the truthfulness of a fact, based on certain randomness. If the correct answer is given, the prover has a high probability of possessing what he claims to be “knowledge.” ZPK guarantees that the proof reveals no information about the secret inputs of the Prover, and a Verifier learns nothing more than the truth of Prover’s statement.
A zero-knowledge proof must satisfy the following three parameters:
Property 1 – Completeness
If the statement is true, the honest verifier will be convinced of this fact by an honest prover.
Property 2 – Soundness
If the statement is false, no prover can convince the honest verifier that it is true. In our example, you should be sure that the probability of Karen receiving or not receiving a bonus equal to yours is 1.
Property 3 – Zero Knowledge
If the statement is true, no verifier learns anything, except the fact that the statement is true.
The future of ZKP
Being able to answer a question of “Does a user have enough money to send to another user” without knowing who the user is, or exactly how much they have, is one of the primary use cases for Zero-Knowledge Proofs in blockchain. — Demiro Massessi
ZKP is simple and secure. It doesn’t involve any complex encryptions.
ZKPs can be used to preserve data privacy in areas such as health care, personal messaging, communications, finance and civic tech.
An interesting use case in finance is a proposal from ING to prove that a number is within a specific range without revealing that number. So, an applicant for a loan could prove that their salary is within a certain range to qualify for a loan, without giving away the exact amount of their salary.
The most prominent use of ZKPs thus far are Z-Cash and ZCoin, cryptocurrencies that allow for private transactions.
Perhaps not immediately, but ZKP will definitely emerge as the future of data privacy.
In the coming years, we need our information to be secure, even from the verifiers.
It’ll then be best to rely on a system based on mathematics, not trust.