A zero-knowledge proof (zk proof) is a cryptographic proof by which a "prover" can prove to a "verifier" whether the prover knows a certain value, without revealing what the value itself was to the verifier. <br>The most famous analogy for explaining how zero-knowledge proof is "The Ali Baba Cave" story which first appeared in a book by cryptographer <a href="http://pages.cs.wisc.edu/~mkowalcz/628.pdf">Jean-Jacques Quisquater and other</a>. <br>The Ali Baba Cave assumes Peggy (the prover), Victor (the verifier) and a Cave akin to the one from the Ali Baba Story (zk proof). In the story, there is a magical cave with a ringed-shaped path with the entrace/exit on one side an a magical door blocking the ringed shaped path in the middle, and the only way to open the door is by uttering a magic phrase. Peggy wants to prove to Victor that she knows the magic phrase to open the door without telling what the phrase is, as Peggy is a private person and fears that Victor may not know the phrase and is secretly trying to steal the knowledge of the phrase from Peggy.<br>They label the left and right paths from the entrance A and B. First, Victor waits outside the cave as Peggy goes in. Peggy takes either path A or B; Victor is not allowed to see which path she takes. Then, Victor enters the cave and shouts the name of the path he wants her to use to return, either A or B, chosen at random. <br>Providing she really does know the magic word, this is easy: she opens the door, if necessary, and returns along the desired path. If Peggy does not know the magic phrase, she has a 50% chance to exit via the path Victor named. However, by repeating the test, Peggy's chances of tricking Victor would become exponentially thin. The only way to guarantee her using the correct path all the time is by knowing the magic phrase.