Zero-Knowledge Proof is a family of cryptographic protocols. Its essence is that one party must prove to the other that it knows some information without disclosing this information.
A Zero-Knowledge Proof protocol has three main properties:
- Completeness, i.e. if one party has the information, it will be able to convince the other party.
- Soundness — the probability that the Prover can deceive the Verifier is negligible.
- Zero-Knowledge — the Verifier will only know that the Prover knows the necessary information.