Zero-knowledge proof

in zero •  4 years ago 

Recently, Ethereum launched the "Metropolis" hard fork. An important feature is the integration of ZCash's zero-knowledge proof technology zkSNARK. Let's take a look at what the hell is the zkSNARK technology.

Zero-knowledge proof
To understand zkSNARK, you must first understand what a zero-knowledge proof is.

Regarding zero-knowledge proof, the concept is not difficult to understand. Let's take an old story as an example.

Alibaba was caught by a robber. In order to save his life, he needed to prove to the robber that he had the password to open the stone gate, and at the same time, he could not tell the robber the password. He came up with a solution. First, let the robbers leave his place with one arrow. The distance was far enough so that the robbers could not hear the password, and close enough so that Alibaba could not escape under the robber's bow and arrow. Alibaba showed the robber the opening and closing of the stone gate at this distance.

This whole process is zero-knowledge proof. The prover can convince the verifier that a certain assertion (Alibaba knows the way to open Shimen) is correct without providing any useful information (Shimen’s password) to the verifier.

Of course, there are many similar applications in real life. You can refer to Alibaba's zero-knowledge proof or zero-knowledge proof.

In the computer world, there are more zero-knowledge application scenarios. For example, we often use asymmetric encryption for identity authentication. As long as the verifier uses the public key to solve the random number provided by itself, the identity of the authenticated party can be proved. It needs to provide its own private key.

The above examples are specific methods for specific scenarios. For example, Shimen is not controlled by a password but controlled by a physical key. This method is not available. Is there a general method to authenticate any event?

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!