A zero-knowledge proof (ZKP) is a strategy for demonstrating the truth of a claim without exposing the specifics of the claim. It is a proof system that consists of a prover, a verifier, and a challenge that enables users to communicate proofs of knowledge or ownership in public without disclosing their specifics.
Zero-knowledge proofs in cryptography allow you to persuade me that you know something without disclosing what that hidden object was. It is among the most powerful cryptography instruments ever created. This article explores zero-knowledge proofs in further detail and offers several examples to clarify their operation.
- A brief overview of ZKPs
- Level 1: Teaching a youngster about ZKPs
- For instance: Where’s Wally?
- Level 2: Educating a buddy about ZKPs
- Example: Membership Proof
- Level 3: Educating your staff about ZKPs
- For instance: opaque pricing
- How ZKPs may benefit your company
A brief overview of ZKPs
Researchers Shafi Goldwasser, Silvio Micali, and Charles Rackoff published « The knowledge complexity of interactive proof systems [GMR85] » in 1985, which is credited with introducing zero-knowledge in cryptography. They offer a commonly used definition of zero-knowledge proofs:
“A zero-knowledge protocol is a method by which one party (the prover) can prove to another party (the verifier) that something is true, without revealing any information apart from the fact that this specific statement is true.”
Zero-knowledge proofs need to adhere to three requirements.
Completeness: If the claim is accurate, an honest prover will persuade an honest verifier.
Soundness: If the claim is untrue, no dishonest prover will be able to persuade the truthful verifier. The mechanisms used for evidence are reliable and do not permit fraud.
Zero-Knowledge: If the assertion is true, the only thing the verifier knows is that it is true.
Interactive zero-knowledge proofs require a back-and-forth conversation between the prover and verifier to be successful. Non-interactive zero-knowledge proofs are ones in which the prover communicates with the verifier just once, allowing the verifier to evaluate the accuracy of the proof without additional input from the prover.

The term « zk-SNARK » (Succinct Non-Interactive Arguments of Knowledge), initially used in the 2011 Bit+11 work, is arguably the most well-known type of zero-knowledge proof. Zero-knowledge proof was put to practical use in 2013 as a result of the Pinocchio PHGR13 study, which made zk-SNARKS suitable for mainstream computing, albeit more slowly. The Groth16 algorithm, which was put forward in 2016 and made zk-SNARKS extremely efficient, remains the industry standard.
However, the security of these zero-knowledge protocols depends on a trustworthy configuration. Running the zero-knowledge protocol requires an initial operation that generates the cryptographic parameters. To guarantee that the cryptographic parameters are random, unexpected, and safe, this is carried out by a third party.
Then, in 2017, bulletproofs (BBBPWM17) and zk-STARKs (BBHR18) were released. They are varieties of range proofs that, unlike their predecessors, do not call for an initial trusted setup. In contrast to Groth16, which demanded that each circuit have its own trusted setup, the 2019 PlonK article introduced the Universal Zero-Knowledge proof technique, which meant that the trusted setup only has to be launched once.
Zero-knowledge proofs have moved from being entirely theoretical to having practical real-world applications in blockchain, secure communications, electronic voting, access control, and gaming thanks to advancements in the area. There will be many more fascinating discoveries to progress the technology when they are put into practical usage.
Here are a few conceptual illustrations that can help you comprehend zero-knowledge proofs (ZKPs) at various levels without getting into the intricate theories and sophisticated maths that underlie them.
Level 1: Teaching a youngster about ZKPs
For instance: Where’s Wally?
The often used « Where’s Wally? » example may be used to demonstrate understanding of something without divulging it.
You want to track down Wally with a buddy. Wally’s location in the picture is known to you, but your friend doesn’t accept your explanation. How can you show your friend that you are aware of Wally’s whereabouts without divulging it?
You use a large sheet of paper to completely obscure the picture while still allowing your friend to see Wally via a cutout. Even if you can demonstrate to your buddy that you are in fact aware of Wally’s whereabouts, he will still be in the dark regarding Wally’s precise coordinates in relation to the image.
This is a straightforward illustration of a zero-knowledge, non-interactive proof. Without divulging any further information, everyone who sees Wally through the hole gets the evidence that Wally is real and that the prover knows where he is.
Level 2: Educating a buddy about ZKPs
Example: Membership Proof
With this example of the locked safe, one might consider zero-knowledge proofs in a different approach.
You run across someone you don’t know, but she says she belongs to the same group as you. How will you know whether to believe her? Fortunately, your group has a safe that is locked and only the people in your group know the secret combination to open the safe. So, draft a coded message and stash it in the safe.
Step 1: A secret message is written by the verifier and placed in a secured safe.

Step 2: Prover who meets the qualifications, knows the combination code, and unlocks the locked safe

Step 3: Verifier receives the secret message from Prover.

Step 4: The verifier is confident that the prover truly understands the combination code and can thus be trusted.

If this stranger is who she claims to be, she would know the combo code. As a result, she would be able to unlock the locked safe and retrieve your secret message, proving to you that she is, after all, a trustworthy member of your organization.
This is an example of an interactive zero-knowledge proof. Only those who are actually members of the group will know the secret combination code that allows them to open the locked safe, allowing them to confirm their membership without revealing anything else.
Level 3: Educating your staff about ZKPs
For instance: opaque pricing
In this case, you and a rival learn that you are both purchasing supplies from the same source. You’d like to know if you’re paying the same amount per kilogram. However, there isn’t enough trust between you to reveal the rates you’re both paying, and you’re also contractually obligated not to discuss this information.
Assuming that the market price for the materials is just 100, 200, 300, or 400 per kilogram, we may construct a zero-knowledge proof for this case. To describe the concept, use the following steps:
Step 1: You and a rival want to discover if you’re paying the same amount without disclosing how much you’re both spending.

Step 2: We get four lockable lockboxes, each with a little slit for a piece of paper. They are labeled 100, 200, 300, and 400 indicating the price per kilogram before being stored in a safe, private chamber.

Step 3: You enter the room initially by yourself. You take the key from the lockbox labeled 200 and destroy the keys for the other boxes since you are paying 200 per kilogram. You exit the room.

Step 4: Your rival enters the room alone, carrying four pieces of paper, one with a check and three with crosses. Because your competition pays $300 per kilogram, they place the paper with a check inside the lockbox labeled 300, and the papers with crosses are placed in the other lockboxes. They walk out of the room.

Step 5: Following their departure, you may return with your key, which will only unlock the lockbox labeled 200. You discover a piece of paper with a cross on it, indicating that your competition is not paying the same rate as you.

Step 6: When your opponent returns and notices that you have a piece of paper with a cross on it, they realize that you are not paying the same as them.

Both of you would know that you are paying the same amount if you received a piece of paper with a check on it. You both know that you are not paying the same amount since you received the document with a cross on it, but you also don’t know how much the other is paying.
You both depart knowing just that you are not paying the same amount, but you have no idea what the other is paying.
This is yet another comparison of an interactive zero-knowledge proof to a crude semi-range proof. It should be noted that all of the examples have restrictions and must make certain assumptions, but they properly demonstrate how they may operate.
How ZKPs may benefit your company
Zero-knowledge Proofs and protocols are not magical, but they do represent an intriguing new frontier in blockchain technology. They offer enormous promise in a wide range of applications where sensitive information is required, such as giving password, identity, and membership confirmation.
Cryptocurrencies such as Monero and ZCash use ZKPs to provide their users with a high level of user and transaction privacy, while companies such as Nuggets and Mina use ZKPs to allow users to identify themselves with verified real-world information that does not compromise their personal data. Even ING Bank has used ZKPs, allowing its customers to offer proofs such as confirming the amount of money in their bank account without disclosing the amount in a mortgage application, or showing that they live in an EU nation without disclosing the country.
You can allow authentication with untrusted or unidentified individuals via an untrusted communication channel by knowing how zero-knowledge proofs function.
They are a fundamental technique in cryptography that can be used to verify other qualities about data, making it a flexible and intriguing tool for traceability with privacy in complicated supply chains, opening the door for the circular economy to become popular.
Are you curious in how zero-knowledge proofs might benefit your company? Learn more about Circularise’s breakthrough Smart Questioning solution for supply chain traceability.