A Complete Understanding of "Zero-Knowledge Proof Technology Application": The Third Major Technological Innovation in the History of Blockchain

share
A Complete Understanding of "Zero-Knowledge Proof Technology Application": The Third Major Technological Innovation in the History of Blockchain

Author:

  • Researcher at SUSS NiFT, Inclusive Finance Node of New Leap Social Science University @Jesse_meta
  • Researcher at Beosin @EatonAshton2
  • Security Researcher at Least Authority @kaplannie

This article is a research report from SUSS NiFT Blockchain Security Alliance.

Whether information is stored on the internet or in offline file rooms, information leakage incidents are not uncommon today, needless to say. As long as information is stored centrally, there is a risk of single-point attacks. As long as the verification process requires a trusted third party, there are moral risks and inefficiencies.

Advertisement - Please scroll down for more

Ensuring information security is crucial and urgent. Zero-knowledge proof technology allows users to verify more efficiently and securely while protecting their privacy. If Bitcoin is the first major invention that blockchain has brought to the real world, providing a new way of storing value, and Ethereum's smart contracts are the second major milestone, unlocking innovative potential, then the application of zero-knowledge proofs is the third major technological innovation in the history of blockchain development, bringing privacy and scalability. This is not only an important part of the Web3 ecosystem but also a fundamental technology with the potential to drive social change.

This article introduces the application scenarios, working principles, current developments, and future trends of zero-knowledge proofs from a non-technical perspective, aiming to help readers without a technical background understand the significant changes that zero-knowledge proofs are about to bring.

1. What is Zero-Knowledge Proof (ZKP)

Zero-Knowledge Proof (ZKP) is a mathematical protocol first proposed in 1985 by Shafi Goldwasser, Silvio Micali, and Charles Rackoff in their paper "The knowledge complexity of interactive proof systems," which ensures that apart from the fact being proven, no additional information is revealed. Verifiers cannot obtain the secret information used to generate the proof.

To help understand, consider this example: to prove I know someone's phone number, I just need to dial that person's phone in front of others, without disclosing the actual number.

Zero-Knowledge Proof offers an effective and nearly risk-free way of sharing data. By using ZKP, we can retain ownership of data, significantly enhance privacy protection, and potentially make data breaches a thing of the past.

Zero-Knowledge Proof has three main characteristics:

  • Completeness: If a statement is true, an honest verifier will be convinced by an honest prover. In other words, the right cannot be wrong.
  • Soundness: If a statement is false, in the vast majority of cases, a cheating prover cannot convince an honest verifier of a false statement. In other words, the wrong cannot be right.
  • Zero Knowledge: If a statement is true, the verifier can only know that the statement is true and cannot obtain any additional information.

Zero-Knowledge Proof has an extremely low probability of producing soundness errors, meaning a cheating prover may make a verifier believe a false statement. Zero-Knowledge Proof is probabilistic rather than deterministic, but we can reduce soundness errors to negligible levels through certain techniques.

2. Applications of Zero-Knowledge Proof (ZKP)

The two most important application scenarios for Zero-Knowledge Proof are privacy and scalability.

2.1 Privacy

Zero-Knowledge Proof allows users to securely share necessary information to obtain goods and services without revealing detailed personal information, protecting them from hacker attacks and personal identity leaks. With the gradual integration of digital and physical domains, the privacy protection function of Zero-Knowledge Proof has become crucial for Web3 and beyond information security. Without Zero-Knowledge Proof, user information would be stored in trusted third-party databases, posing potential risks of hacker attacks. The first application of Zero-Knowledge Proof in blockchain is the privacy coin Zcash, used to conceal transaction details.

2.1.1 Identity Protection and Verification

In online activities, we often need to provide sensitive information such as names, birthdates, email addresses, and complex passwords to prove that we are legitimate users. This often leaves behind sensitive information we do not want to disclose. The increasing frequency of fraudulent phone calls addressing us by name demonstrates the severity of personal information leaks.

We can use blockchain technology to give everyone a special encrypted digital identifier containing personal data. This digital identifier can build a decentralized identity that cannot be forged or altered without its owner's knowledge. Decentralized identity allows users to control access to personal identity, prove citizenship without revealing passport details, simplify the authentication process, and reduce incidents of users losing access due to forgotten passwords. Zero-Knowledge Proof generates public data that can prove user identity along with private data containing user information, used for user authentication when accessing services. This not only streamlines the cumbersome verification process, enhancing user experience, but also avoids centralized storage of user information.

Furthermore, Zero-Knowledge Proof can also be used to build private reputation systems, allowing service providers to verify whether users meet certain reputation standards without revealing their identities. Users can output reputations anonymously from platforms like Facebook, Twitter, and Github while concealing the specific source accounts.

2.1.2 Anonymous Payments

Transaction details when using bank cards are usually visible to multiple parties, including payment providers, banks, and government entities, potentially compromising the privacy of ordinary citizens. Users need to trust these parties not to misuse the information.

Cryptocurrencies allow payments to bypass third parties and conduct peer-to-peer transactions directly. However, transactions on mainstream public chains are publicly visible, even though user addresses are anonymous, there is still a risk of associating real-world identities through on-chain related addresses and off-chain data analysis like KYC from exchanges, Twitter information, etc. Knowing someone's wallet address is equivalent to being able to view their bank account balance at any time, and may even pose threats to user identities and assets.

Zero-Knowledge Proof can provide anonymous payments at three levels: privacy coins, privacy applications, and privacy public chains. Zcash conceals transaction details including sender and recipient addresses, asset types, quantities, and times. Tornado Cash is a decentralized application on Ethereum that uses Zero-Knowledge Proof to obscure transaction details for privacy transfers (but is also often used for money laundering). Aleo is an L1 blockchain designed to provide privacy features for applications from a protocol level.

2.1.3 Honest Behavior

Zero-Knowledge Proof can promote honest behavior while preserving privacy. Protocols may require users to submit Zero-Knowledge Proofs to prove their honest behavior. Since the soundness of Zero-Knowledge Proof prevents false proofs from being accepted, users must act honestly according to the protocol requirements to submit valid proofs.

MACI (Minimal Anti-Collusion Infrastructure) is an application scenario that promotes honest behavior, preventing collusion in voting on-chain or other decision-making processes. The system utilizes key pairs and Zero-Knowledge Proof technology to achieve this goal. In MACI, users register their public keys to a smart contract and send their votes to the contract through encrypted messages. The anti-collusion feature of MACI allows voters to change their public keys to prevent others from knowing their voting choices. Coordinators use Zero-Knowledge Proof at the end of the voting period to prove that they have correctly handled all messages and that the final voting result is the sum of all valid votes. This ensures the integrity and fairness of voting.

2.1.4 Personal Information Verification

When applying for a loan, we can obtain a digital income certificate from a company to apply for a loan. The legality of this certificate can be checked using cryptography. Banks can use Zero-Knowledge Proof to verify whether our income meets the minimum required level without revealing sensitive specific information.

2.1.5 Leveraging Private Data Potential for Machine Learning

When training machine learning models, a large amount of data is usually required. By using