What is Zero-Knowledge Proof?
Zero-Knowledge Proof/ZK-proof is a cryptographic protocol that allows one person (the prover) to convince another party (the verifier) that a statement is true without revealing any details about the statement itself. This concept was first introduced by Shafi Goldwasser, Silvio Micali, and Charles Rackoff in the early 1980s.
Criteria and Types of Zero-Knowledge Proof
The main goal of ZK-proof is to convince the verifier that a statement is true without revealing any information other than the truth of the statement itself. A good ZK-proof must meet three criteria:
Completeness
The verifier will accept the proof with high probability if the proposition is true, and both the prover and verifier follow the protocol.
Truth
If a claim is false, no corroboration can convince the verifier otherwise, except in the most unlikely circumstances.
Without knowledge
Even after interacting with the verifier, the verifier understands only the truth of the statement and nothing else about the secret.
There are various types of ZK-proof, including the following.
- Interactive Zero-Knowledge Proof: Requires back-and-forth communication between the prover and verifier.
- Non-Interactive Zero-Knowledge Proof: Provides a concise proof that can be verified in one step.
- Zero-Knowledge Proof Statistics: Offers computational correctness with a small probability of error.
- Proof of Possession of Knowledge (PoK): A subcategory of ZK-proof that indicates that the prover has specific knowledge regarding the statement.
- Proof of Shuffling and Range: Used in electronic voting and privacy-preserving transactions.
- Sigma Protocol: Consists of three steps: commitment, challenge, and response.
- Bulletproofs: Designed to provide efficient range proofs for large sets of values.
How ZK-proof Works
ZK-proof allows the prover to convince the verifier of the truth of a statement without revealing any information about the statement itself. The prover and verifier interact in several rounds of the protocol, and ultimately, the verifier becomes convinced of the truth of the statement without learning additional information about the secret.
Let's use the "Three Color Problem" as an illustration. Imagine you have a map with several regions (vertices) connected by lines (edges). The goal is to use one of three colors to color each region so that no two adjacent regions have the same color. Can you convince someone that you know the correct coloring without revealing the actual color assigned to each region?
ZK-proof protocol
Preparation: The prover and verifier agree on the area and graphic link (map).
Assertion: The prover claims to have valid three-color coloring for the graph provided.
Round 1: Commitment: The prover chooses a color at random for each location in secret without revealing it. Instead, the prover gives the verifier one encrypted “promise” for each region. The verifier cannot see what color the commits are because they are locked like a box.
Round 2: Challenge: The verifier selects a random region and asks the prover to reveal a commitment to that region. The prover must reveal the color of the region's commitment.
Round 3: Response: Having committed to a color, the prover must now prove that the expressed coloring is accurate. This involves displaying color differences between adjacent parts. The verifier checks the response to ensure that the verifier correctly follows the rules.
Iteration: Rounds 2 and 3 are repeated many times using different randomly selected regions. This procedure is repeated as many times as necessary to establish a high level of confidence in the truth of the prover's statements.
Conclusion: The verifier becomes confident that the prover actually has a valid three-color coloring without knowing the actual colors used if the prover consistently produces valid responses for each round.
Conclusion
By repeating the procedure for different regions, the verifier gradually improves the prover's ability to recognize valid three-color colorings from the graph. However, the zero-knowledge property is maintained because the verifier never knows the actual color assigned to each region during the procedure.
The illustration above shows how ZK-proof can be used to convince someone that a solution exists, while keeping the identity of the solution itself secret.
How To Buy Crypto With Bittime
You can buy and sell crypto assets in an easy and safe way via Bittime . Bittime is one of the best crypto applications in Indonesia which is officially registered with Bappebti.
To be able to buy crypto assets on Bittime, make sure you have registered and completed identity verification. Apart from that, also make sure that you have sufficient balance by depositing some funds into your wallet. For your information, the minimum purchase of assets on Bittime is IDR 10,000. After that, you can purchase crypto assets in the application.
Learn How to Buy Crypto on Bittime.
Monitor price chart movements of Bitcoin (BTC), Ethereum (ETH), Solana (SOL) and other cryptos to find out today's crypto market trends in real-time on Bittime.
Also Read:
Proof-of-Authority (PoA) and Proof-of-Stake (PoS), What's the Difference?
What is Proof of Attendance Protocol?
DISCLAIMER : This article is informational in nature and is not an offer or invitation to sell or buy any crypto assets. Trading crypto assets is a high-risk activity. Crypto asset prices are volatile, where prices can change significantly from time to time and Bittime is not responsible for changes in fluctuations in crypto asset exchange rates.
Comments
0 comments
Please sign in to leave a comment.