Zero-knowledge is one type of verification process in which there are two parties, a prover, and a verifier. The two parties transmit certain information without revealing what the information is. The term “zero knowledge” comes from the fact that the first party, the prover, doesn’t disclose any information (zero information) but still proves that the statement is true, while the second party, the verifier, believes that the prover knows the information. Cryptographers usually use this verification method to increase security and privacy.
Zero-knowledge proof requirements
- Completeness. The prover shows the verifier that they have knowledge of the information they share and that it is highly accurate.
- Soundness. The verifier must accurately determine if the prover possesses knowledge about the information.
Real-life usage of zero-knowledge
- Secure transactions on the blockchain. Proves that the computer has the correct encrypted data.
- Performance optimizations for distributed applications on blockchains. A single node executes the application code off-chain. Then, the node proves to the blockchain network that the execution is correct.
- Privacy-preserving verification. The borrower, which is the prover, shows to the credit provider, which is the verifier, that they can receive a credit while at the same time not giving access to their financial records.