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.