Glossary

Zero Knowledge Proof (ZKP)

2 min read

A zero-knowledge proof (ZKP) is a method in cryptography where one party (the prover) can prove to another party (the verifier) that they know a value or have a specific piece of information without revealing any details about the information itself. This concept ensures that no additional information is leaked other than the fact that the prover knows the information. In the context of blockchain, the only information revealed on-chain by a zero-knowledge proof is that some piece of hidden information is valid and known by the prover with a high degree of certainty.

A zero-knowledge proof works by having the verifier ask the prover to perform a series of actions that can only be performed accurately if the prover knows the underlying information. If the prover is only guessing the result of these actions, then the continuous testing is likely to result in a wrong action.

For example, Alice wants to prove to Bob that she knows the combination to a safe without revealing the combination. Alice and Bob are in the room with the locked safe. The verifier, Bob, could leave the room while Alice unlocks the safe and comes back in when she has finished. Bob will see the open safe and thus, Alice has proven to Bob that she knows the combination, without revealing the combination itself.

In practical terms, zero-knowledge proofs are used to enhance security and privacy. They enable secure verification of knowledge or ownership without exposing sensitive information, making transactions and communications more secure and private. While not yet implemented in Bitcoin, there are ongoing discussions and proposals within the Bitcoin community about integrating zero-knowledge proofs to improve privacy features. However, these ideas are still in the experimental or proposal stages and have not been adopted into the Bitcoin protocol.