What is Zero-knowledge Proof?
Zero-knowledge proof is a cryptographic protocol that lets one party (the prover) tell the other party (the verifier) that a statement is true without giving away any other information about it (neither the content nor the source from which the prover learned about the veracity). ...
Zero-knowledge proof is a cryptographic protocol that lets one party (the prover) tell the other party (the verifier) that a statement is true without giving away any other information about it (neither the content nor the source from which the prover learned about the veracity).
How Does Zero-knowledge Proof Work?
Picture being in a room with someone who has their eyes covered. There are two balls, one white and one black, on the table in front of you. You have to show the second person (the verifier) that the balls are different colors without saying which ones.
To do this, you need to ask him to hide both balls under the table. Then, ask for just one so you can look at it. Then the ball hides again, and the next time the verifier can show either white or black. But you will be able to prove the statement because you know for sure if he changed them under the table.
But the person doing the checking won’t know for sure if the fact is true because luck or lying could have played a role. The only way to solve this problem is to do the experiment n times. With each round, the chance of being right by chance will drop by half. After five rounds, the chance of cheating will be 1 in 32, after 10 rounds, it will be 1 in 1024, and after 20 rounds, it will be about 1 in 1,000,000.
Repetition can help you get the level of evidence reliability you want, but it can’t give you absolute certainty.
What Can You Do with Zero-knowledge Proof?
One obvious use of zero-knowledge proof in cryptocurrency is to make sure that a user has enough money to pay for a transaction without telling other people on the network who this user is or how much money he has.
This protocol can also be used to ensure the security of data (like personal information) or the way a financial transaction is handled.
Zero-knowledge proof can be used as a tool to verify data and users, give privileged access, and set up connections that can be trusted.
What kinds of zero-knowledge proofs are there?
- Interactive (the checker asks the prover questions on his or her own in real time);
- Non-interactive (does not require direct communication between the verifier and the prover; the former can verify the authenticity of the assertion after the fact).
Zero-knowledge proofs can also be split into two groups based on whether or not there is a step where multiple verifiers check that the claim is true. This is called a “trusted setup” that uses a boolean function.
This is a requirement for some protocols, like zk-SNARKs (Zero-Knowledge Succinct Non-Interactive ARgument of Knowledge). Verifiers make a secret that is destroyed as soon as a trusted installation is finished. If the secret stays the same, the data on the network can be faked, which makes using the protocol less useful.
There are protocols like zk-STARK that don’t need a trusted installation (Zero-Knowledge Scalable Transparent ARguments of Knowledge).
What is zero-knowledge proof useful for?
- Increasing user privacy in public blockchains and other networks;
- Strengthening information security by replacing inefficient methods of authentication and verification;
- Increasing the throughput of blockchains and making them easier to scale.
However, it might need a lot of computing power, could be broken with a trusted installation, and could be vulnerable to quantum computing.
How are Zero-knowledge Proofs Used in Projects?
The ZCash cryptocurrency uses a modified version of the zk-SNARKs protocol to give users more privacy. As part of the Byzantium hard fork, some of the same protocol was put into place on the Ethereum network. At the moment, the people who made the ether are thinking about other ways this technology could be used.
A startup called QEDIT has made an SDK (Software Development Kit) that lets you add zero-knowledge proofs to existing blockchains to make transactions more private while still letting nodes validate them. The project has already been given the European Commission Quality Mark, and well-known companies like VMWare, Ant Financial, and Deloitte are among its partners.
StarkWare has made solutions based on the zk-STARKs protocol that can also be used in networks that are already up and running. Vitalik Buterin, Pantera Capital, Intel Capital, Sequoia Capital, and other investors have all already put money into the project.