After a series of expectations and disappointments brought about by Web 2.0 innovations, people are now more focused on security, privacy and data ownership than ever before. One of the biggest features of the rapidly developing Web 3.0 is that participants have full ownership of their content, data and assets, which effectively ensures the privacy and security of participants and inspires people’s new confidence in the development of the Internet. Then zero-knowledge proof What role will it play in that, and is it really enough to make this digital utopia a reality?
Evolution from Web1 to Web3
Web (World Wide Web) is the global wide area network, also known as the World Wide Web, which is a graphical information system that provides a graphical, easy-to-access and intuitive interface for browsers to find and browse information on the Internet. Links organize information nodes on the Internet into an interrelated network structure.
Web1.0 is a point-to-point information dissemination era. Generally, information is produced by a company and stored on a local server, allowing readers to conduct one-way interaction in the form of various web pages, such as various early portal websites: Sina, NetEase, Sohu, etc.
Web2.0 is a new era compared to Web1.0. Users participate in the production of content. On the surface, it is a “point-to-point” interactive form, but the data is still stored in a centralized server. Weibo, WeChat and Douyin are currently the dominant social media platforms in China.
Web3.0 integrates the advantages of 1.0 (data ownership) and 2.0 (interaction), but the biggest difference is that users have complete control and ownership of data, data is no longer stored in a centralized server, but distributed It is stored in each node participating in network management, and it is expressed in various Dapps in the blockchain industry, such as Metamask, Uniswap, etc.
Essentially, Web 3.0 is the decentralized internet:
(1) Anyone can participate (without permission and censorship)
(2) No one can control the user’s data, except the user himself (distributed storage)
(3) Don’t have to trust anyone (to trust)
Both the security and privacy requirements of Web3 require new technologies to achieve, and fortunately people have discovered zero-knowledge proofs. Zero-knowledge proof allows users to share information privately with the decentralized network, and ensures that the data received by users from the network is true without trusting a third party, taking into account both privacy and security, and has become the core technology to break through the Web3.0 security confidentiality barrier.
What is a zero-knowledge proof?
Zero-knowledge proofs are not new, they have been around since the Renaissance in the 16th century. It refers to the ability of the prover to convince the verifier that an assertion is correct without providing the verifier with any useful information.
A zero-knowledge proof is essentially a protocol involving two or more parties, a sequence of steps that two or more parties need to take to complete a task. The prover proves to the verifier and convinces it that it knows or possesses a certain message, but the proof process cannot reveal any information about the proved message to the verifier. In short, zero-knowledge proof is to fully prove that you are the legal owner of a certain right without leaking the relevant information – that is, the “knowledge” to the outside world is “zero”.
For ease of understanding, let’s take a simple example:
Assuming that A needs to prove to B that he owns the key of a room, and the room can only be opened through the key, and cannot be opened in any other way, then which of the following two schemes belongs to the application of zero-knowledge proof?
Scheme 1: A shows the key to B, and B uses the key to unlock the room, thus proving that A has the correct key for the room.
Option 2: B determines that there is an object in the room, A opens the door of the room with the key he owns, and then takes out the object and shows it to B, thus proving that he does have the key to the room.
In two ways, A can prove to B that he owns the room key, but in the first solution, B sees the key information of A during the transaction process. In the zero-knowledge proof, the prover needs to provide the verifier without any In the case of useful information, the verifier is convinced that a certain assertion is correct. The first solution leaks information, so the first solution is excluded; and the second solution, A makes B convinced that he owns the room without revealing any relevant information. key, so the answer is option two.
For the above case to be successful, certain rules must be met:
(1) A cannot deceive B. If what A takes out is not from the room, B can distinguish it, that is, the probability of A successfully deceiving B is very low. We call this rule – correctness;
(2) B cannot deceive A. If what A takes out comes from the room, B cannot deceive A, and A has an absolute advantage to ensure that B believes that he can prove it. We call this rule – completeness;
(3) Correctness and completeness are the properties that zero-knowledge proofs must have in the minimum leakage protocol. The two are indispensable, otherwise the entire logic cannot be closed, and zero-knowledge proofs will not exist. In the case of not revealing any information, the zero-knowledge proof is completed, which we call zero-knowledge.
Why is zero-knowledge proof important?
From an application point of view, zero-knowledge proofs have two very important directions:
(1) Privacy calculation
Zero-knowledge proof can satisfy the privacy of messages, and can solve the information leakage of addresses and asset quotas caused by transparency in common blockchain networks. For example, in blockchain transactions, if you need to prove that you own an asset, but at the same time do not want to reveal any information about the asset, then you need to use zero-knowledge proofs.
Private computing is an important application area of zero-knowledge proofs. If you want to protect privacy, you can encrypt the data on the chain through a cryptographic solution, so that there is no correlation between different transactions on the chain. Zero-knowledge proofs can verify computations without revealing any information about the inputs and computations themselves, ensuring on-chain data privacy and security.
A crucial aspect of Web 3.0 is that users themselves truly own identity and data ownership. However, all the information on the current blockchain is public, and people can easily obtain the user’s information through some means (of course, this itself is also a feature of the blockchain network consensus). Although blockchain users do not yet have a broad and strong sense of privacy, with development, this demand must be more urgent and long-term in the future. So to realize the vision of Web3.0, users must have the power to have their own on-chain privacy. Therefore, it can be said that privacy is not necessarily an option, but it must be an option.
If the verification time for producing a new block in a commonly used blockchain platform is very long, it can be directly changed to one person (node) to verify and generate a proof. Each participant spends a lot of time directly verifying.
This involves the cost of consensus. From an economic point of view, the reason for the high transaction costs of blockchain networks such as Ethereum and Bitcoin is that consensus must be expensive, and cheap consensus is untrustworthy to a certain extent. The cost mainly comes from the fact that the blockchain requires repeated calculations of several devices to reach a consensus. For example, in the POW consensus mechanism, the efficiency of 1,000 machines doing repetitive computing work is not greater than that of one computer, but the cost required is 1,000 times that of a computer. This is the cost that all mainstream consensus protocols, whether POW or POS, must pay to ensure a decentralized consensus. That is, the shackles of the impossible triangle.
Combining the zero-knowledge proof and the consensus consensus of the blockchain, it is possible to use only one device to run the calculation to complete the repeated calculation of 1,000 devices, thus greatly reducing the network cost. Zero-knowledge proof, through the use of cryptography, allows other devices to verify the reliability of a device’s calculation, rather than directly participating in repeated calculations. Also, on expensive blockchain networks, verifying the correctness of a computation is much cheaper than recomputing.
Therefore, the blockchain is still responsible for the consensus and security of the network, and some computing work can be done outside the blockchain network by the zero-knowledge proof, which improves the scalability of the blockchain.
Application of Zero-Knowledge Proof in Web3.0
Zero-knowledge proofs can be used to protect data privacy in different areas:
(1) Financial: For example, mortgage applicants can demonstrate that their income is within an acceptable range without disclosing their exact salary.
(2) Online voting: Zero-knowledge proofs allow voters to vote anonymously and verify that their vote is included in the final tally.
(3) Authentication: Zero-knowledge proofs can be used to authenticate users without exchanging confidential information such as passwords. Polygan ID on Ethereum is a verification scheme using zero-knowledge proof, which not only helps users protect their privacy on the blockchain-based Web3 platform, but also meets the regulatory requirements of KYC verification specifications, users can freely choose when and what data is shared.
(4) Machine Learning: Zero-knowledge proofs allow the owner of a machine learning algorithm to convince others about the results of the model without revealing any information about the model itself.
(5) Blockchain: Blockchains such as Bitcoin and Ethereum can ensure the transparency of data on the chain so that everyone can verify transactions on the chain. This means that participants have little privacy, which can lead to data asymmetry, and zero-knowledge proofs can help protect the privacy rights of blockchain participants.
Zero-knowledge proof has a wealth of application scenarios in the blockchain field:
(1) Layer 2 scaling: verifiable computation of zero-knowledge proofs, allowing L1 to outsource transaction processing to off-chain high-performance systems (also known as Layer 2). This allows the blockchain to scale without compromising security. StarkWare, for example, is building StarkNet, a scalable smart contract platform, using dedicated virtual machines running zero-knowledge proof-friendly code. Aztec also allows their Layer 2 programs to run privately without revealing any information about user transactions.
(2) Privacy L1: L1 public chains such as Aleo, Mina and Zcash allow traders to use zero-knowledge proofs to hide senders, receivers or amounts (where Aleo uses zero-knowledge proofs by default, while Mina and Zcash are optional).
(3) Decentralized storage: Filecoin uses zero-knowledge proofs (running on GPUs) to prove that nodes in the network are storing data correctly.
(4) Blockchain compression: Mina and Celo use zero-knowledge proofs to compress the blockchain data needed to synchronize to the latest state on the chain into a small proof.
Where are the challenges of zero-knowledge proofs?
Zero-knowledge proofs have been proven to have great potential in the future, but there are still many problems that have not yet been solved before widespread application.
In a mathematical sense, zero-knowledge proofs are not true proofs, because the probability of the prover lying and not being recognized by the verifier, although infinitely close to zero, will never reach zero. As long as it is not zero, it is not a logical zero-knowledge proof, so a zero-knowledge proof is not guaranteed to be 100% valid.
In terms of hardware, there is currently no hardware or software dedicated to zero-knowledge proofs on the market. Zero-knowledge proofs require constant interaction between the prover and verifier, and therefore require a lot of computing power, making zero-knowledge proofs unsuitable for use on slow or mobile devices.
As the Web3 world continues to build, users’ demands for performance, privacy, and new applications and protocols will grow, and zero-knowledge proofs will play an increasingly prominent role in it. Although the current zero-knowledge proof still has many limitations, people’s exploration of zero-knowledge proof will be more and more in-depth, and zero-knowledge proof will also rely on its outstanding performance in privacy computing, L2 scalability, security protection, etc. , become the talisman of the Web3 world and have a huge impact on the Web3 world.
Posted by:CoinYuppie，Reprinted with attribution to:https://coinyuppie.com/zero-knowledge-proofs-amulet-for-the-web3-world/
Coinyuppie is an open information publishing platform, all information provided is not related to the views and positions of coinyuppie, and does not constitute any investment and financial advice. Users are expected to carefully screen and prevent risks.