A method in cryptography, Zero-knowledge proof allows one party, called “prover”, to attest another party, “the verifier” that they know the value of “x”. What this means is that the prover can provide evidence that a transaction had taken place, without having to reveal the private details of such. 

In essence, the Zero-Knowledge Proof’s job is to prove that it is trivial or unnecessary for one to hold knowledge regarding specific information through simple reveal. The true challenge, the performance of this method implies, is proving the possession without having to disclose the information itself or any information that may only be an addition or pertinent to the possession.

Should the statement require that the prover hold some secret information, the verifier will not be able to prove the statement to anyone else without getting the concealed information. The statement needed to be proven should include the assertion that the prover possesses such knowledge, but not the knowledge itself. If this is not the case, the statement would not be proven in zero-knowledge. This is the case as it provides the verifier with additional information regarding the statement by the end of the protocol. A Zero-Knowledge Proof of Knowledge is considered a special case should the statement contain only the fact that the prover holds the secret information.