Cryptopedia
zk-SNARK
Definition
In cryptography, the zero-knowledge proof is a method by which the prover can prove to the verifier that they know the value X, without conveying any information related to it. Zero-knowledge proof plays a significant part when it comes to cryptocurrency.
Examples
Jim claims that he gets the key to Room A and wants to prove that to Bob. Now supposing the key is the only method to open the door, there are two ways to prove Jim’s claim:
1. Jim can directly give Bob his key to open Room A so that he can prove his possession of the key.
2. Jim can take an object from Room A based on the fact that Bob knows its existence in the room so that Jim can prove his possession of the key.
The second method is called zero-knowledge proof, by which the prover (Jim) can demonstrate that he is the owner of something (the key to the room) without leaking any content of it to the public.
Procedure
Zero-knowledge requires the participation of both the prover and the verifier. Providing the prover knows particular information and needs to prove that to the verifier. However, the prover doesn’t want to reveal any content of the information, so they will reach an agreement called zero-knowledge protocol that the verifier can only learn the fact that the statement is true without knowing any of the content.
Properties
Zero-knowledge: The process of verification does not involve any revelation of the knowledge itself. No verifier learns anything other than the fact that the statement is true.
1. Completeness: Under the circumstance where both the verifier and the prover conform to the protocol, if the verification result is correct, it can be regarded as a successful verification.
2. Soundness: Since the prover is the only one that knows the secret, the prover can not be disguised by others to successfully verify the secret.
Advantages
1. Security will not decline as the statement is increasingly proved.
2. With little information exchanged between the prover and the verifier, it doesn’t require too much calculation.
3. It can be wildly used to protect privacy.
Applications
In a rapidly developing society where the data privacy protection grows to a matter of everyone’s concern, the zero-knowledge protocol becomes important to use. Supposing that the zero-knowledge proof is extensively applied, a time when we would complete the ID verification without storing the codes on the website, so our code would still be safe even if the web server is attacked.
Zero-knowledge can also be used in the blockchain. Currently, the Bitcoin network replaces the prover and verifier with the public address to make the transaction hidden, with other accounts only being able to check the receiving address and transaction amount. However, according to the interactive message on the chain, the real ID of the address user may be revealed. Hopefully, the advent of the zero-knowledge proof can strengthen the protection of privacy by keeping the sender, receiver and the transaction hidden.
In cryptography, the zero-knowledge proof is a method by which the prover can prove to the verifier that they know the value X, without conveying any information related to it. Zero-knowledge proof plays a significant part when it comes to cryptocurrency.
Examples
Jim claims that he gets the key to Room A and wants to prove that to Bob. Now supposing the key is the only method to open the door, there are two ways to prove Jim’s claim:
1. Jim can directly give Bob his key to open Room A so that he can prove his possession of the key.
2. Jim can take an object from Room A based on the fact that Bob knows its existence in the room so that Jim can prove his possession of the key.
The second method is called zero-knowledge proof, by which the prover (Jim) can demonstrate that he is the owner of something (the key to the room) without leaking any content of it to the public.
Procedure
Zero-knowledge requires the participation of both the prover and the verifier. Providing the prover knows particular information and needs to prove that to the verifier. However, the prover doesn’t want to reveal any content of the information, so they will reach an agreement called zero-knowledge protocol that the verifier can only learn the fact that the statement is true without knowing any of the content.
Properties
Zero-knowledge: The process of verification does not involve any revelation of the knowledge itself. No verifier learns anything other than the fact that the statement is true.
1. Completeness: Under the circumstance where both the verifier and the prover conform to the protocol, if the verification result is correct, it can be regarded as a successful verification.
2. Soundness: Since the prover is the only one that knows the secret, the prover can not be disguised by others to successfully verify the secret.
Advantages
1. Security will not decline as the statement is increasingly proved.
2. With little information exchanged between the prover and the verifier, it doesn’t require too much calculation.
3. It can be wildly used to protect privacy.
Applications
In a rapidly developing society where the data privacy protection grows to a matter of everyone’s concern, the zero-knowledge protocol becomes important to use. Supposing that the zero-knowledge proof is extensively applied, a time when we would complete the ID verification without storing the codes on the website, so our code would still be safe even if the web server is attacked.
Zero-knowledge can also be used in the blockchain. Currently, the Bitcoin network replaces the prover and verifier with the public address to make the transaction hidden, with other accounts only being able to check the receiving address and transaction amount. However, according to the interactive message on the chain, the real ID of the address user may be revealed. Hopefully, the advent of the zero-knowledge proof can strengthen the protection of privacy by keeping the sender, receiver and the transaction hidden.