**What is Zero Knowledge Proof in Cryptography (ZKP) ?**

Zero-knowledge proof or zero-knowledge protocol is a method by which one party (the prover) can prove to another party (the verifier) that they know a value x, without conveying any information apart from the fact that they know the value x.

The essence of zero-knowledge proofs is that it is trivial to prove that one possesses knowledge of certain information by simply revealing it; the challenge is to prove such possession without revealing the information itself or any additional information. In simple terms, it helps in maintaining privacy in a data-based world.

A zero-knowledge proof must satisfy three properties...

**Completeness :** A honest prover will always be able to prove correctness of a true statement.

**Soundness :** A cheater can never prove a false statement to be correct to an honest verifier.

**Zero-knowledge :** If the statement is true, no verifier learns anything other than the fact that the statement is true.