I have recently been researching zero-knowledge proof, which is commonly known as zkp.

In the past, I only thought that zk was better than OP, for example, it was faster, more convenient, more secure, etc. These general discussions actually overlooked an important point, which is why it is better than OP and what is the essence of zk?

One of the proof methods used by zk is called snark. This proof method is very interesting. The prover will generate a proof to indicate that a certain calculation has been completed, and the verifier only needs to verify the correctness of the proof to confirm that this thing really happened.

This description may be a bit abstract, so I will use a more vivid metaphor to describe the concept of "proof".

When you have a large AI model that needs to be calculated, but you don't have the corresponding computing power tools at hand, Xiao Ming comes out and says that he has a machine willing to help you calculate, as long as you pay him. Ten days later, Xiao Ming gives you an AI result "tomorrow's stock market will fall", how do you judge whether Xiao Ming really helped you calculate? Or does he just tell you a result and forget it, in other words, "Is Xiao Ming trustworthy?" The best way to verify is to find another person to calculate it and compare the results of the two people, but this will lead to double fees, or even to calculate it yourself directly, after all, you are the most reliable, which introduces another problem, you lack the tools to perform this complex AI calculation.

So how do we solve this crisis of trust?

Smart mathematicians have invented a proof method called snark. The characteristic of this method is that it records every step of the calculation process and forms a small proof through a series of algebraic changes of these intermediate results, which is the so-called "proof". The characteristic of this proof is that it is strongly related to the calculation process. If the calculation process does not meet expectations, then the proof will change.

As a verifier, that is, you, you only need to prove that the proof is correct to ensure that Xiao Ming did what I said, and did not make up a result for me.

I have to remind you that the process of generating proof is very complicated, but the process of verifying proof is very simple. That is to say, as an acceptor, as long as I make sure that the proof is correct, then the transaction is reasonable, which greatly saves the time spent on verification. In this example, you don’t need to find another person to calculate it again.

So in essence, zkp solves the problem of trust between people. Without the supervision of a third party, how can two strangers communicate and trade effectively? zkp provides a good solution.

Similarly, mapped to the blockchain world, why does layer2 use zkp? Because complex calculations can be put off-chain, and the process of on-chain only needs to verify a proof, or even just store a proof. This is undoubtedly one of the best solutions for expansion for the mainnet block where every inch of land is valuable.

Through my understanding of zkp, I realized two things: First, zkp can not only solve the congestion problem of Ethereum, but also provide a method of security proof in real life and accelerate cooperation between people; second, most of human innovation is actually to repair the bad habits of human beings. If they cannot be repaired, they will cater to them. For example, people are born to cheat, so technology needs to be introduced to avoid it. People are born lazy, so the more lazy people are, the more business opportunities there will be.