Zero Knowledge Proof

By CoinGecko | Updated on Mar 03, 2020
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. The most famous analogy for explaining how zero-knowledge proof is "The Ali Baba Cave" story which first appeared in a book by cryptographer Jean-Jacques Quisquater and others(http://pages.cs.wisc.edu/~mkowalcz/628.pdf). 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. 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. 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.

Share this with a friend!

Related Terms

Non-Fungible Tokens (NFT)
They are collectible elements within the Ethereum blockchain under ERC-721, where each token refers to a single element with a certain value
Distributed Ledger
Ledgers whose data is stored and synced across a network of nodes.
Mempool
It is the abbreviation of Memory Pool. Set of unconfirmed transactions in a blockchain
BitLicense
Refers to the business license issued by the New York State Department of Financial Services (NYSDFS) to companies dealing with Cryptocurrencies (subject to certain exceptions) in New York.
Hungry for more knowledge?
Back to Glossary or Subscribe to our newsletter.
coingecko (thumbnail mini)
CoinGecko for iOS
coingecko (thumbnail mini)
CoinGecko for Android