# What is Zero-knowledge Proof?

This article introduces the related concepts of Zero-Knowledge Proof (ZKP).

As we all know, blockchain is decentralization. Does this mean that centralization is useless? The answer is “NO”. Centralization is very useful. It is a giant step towards the development of human civilization. For example, e-commerce platforms such as Amazon and eBay are centralized products. They exist as a middleman and solve the problem of distrust between the buyers and sellers. What if the platform is decentralized and the middleman is removed, how can two complete strangers trust each other? This involves a well-known concept, that is zero-knowledge proof.

The definition of zero-knowledge proof: zero-knowledge proof is a method by which one party (the prover) can prove to another party (the verifier) that they know a value x, without conveying any information apart from the fact that they know the value x.

You can refer to the following simple examples:

A/ Both the prover and the verifier have got a Sudoku problem. The prover knows a solution. He can use the zero-knowledge proof method as follows: He finds 81 pieces of paper and makes exactly 9 pieces of paper written from 1 to 9. Then he can put all the pieces of paper in a 9-by-9 grid according to the solution method, so as to meet the requirements of the Sudoku problem (each column, each row, and each nine squares have exactly 1 to 9) . After placing them, he turned all the paper over so that the side with no words was facing up. In this way, the verifier cannot see the numbers on the paper. Next, the verifier verifies whether the conditions of Sudoku are met. For example, if he chooses a column, the prover collects the papers in this column, shuffles the order at will, and then turns the paper over so that the verifier can see that all the papers from 1 to 9 appear. During the whole process, the verifier cannot know the position of each piece of paper, but can verify that 1 to 9 are indeed present.

B/ Assume that companty A and company B do not trust each other for the first time, but they hope to reach a cooperation. When signing the contract, company A wrote 1000 contracts and encrypted them in their own way. Company B randomly selected 999 contracts and decrypted by company A. Later, it was discovered that it was a true expression of the wishes of both parties. Company B found that 999 contracts were correct, and Company B did not need to sign the 1000th contract before decrypting it. Is it possible that the last contract happened to be a fake contract? It is possible, but the probability is very small. Especially in the blockchain, if the number of samples is large enough, this possibility smaller, thus realizing mutual trust between strangers.

AOS blockchain with a cryptocurrency AOS token, featured with privacy-preserving which adpots the zero-knowledge proof method to ensure the anonymity of both parties to the transaction and the transaction amount.