There are times when we must provide personal information, knowing that it would cause us serious financial damage if it were compromised. For example, you might need to prove you have a Social Security Number to get a loan. Unfortunately, this typically means sharing your PII (personal identifiable information).
Well, there's a way to prove you have one without actually revealing it, and it's called a zero-knowledge proof, or zero-knowledge protocol. The method offers a way to prove a statement without revealing the evidence or the statement itself. This article will explore zero-knowledge proofs, how they work, and their many applications and benefits.
How do zero-knowledge proofs work?
In some ways, zero-knowledge proofs are like a game. The players are the prover and the verifier. The prover wants to show the verifier that a statement is true without revealing any secret information. On the other hand, the verifier wants to make sure that the prover is honest, even if that means the prover must reveal their private information.
When using a zero-knowledge proof system, the prover and verifier agree on a statement to be proven. The prover then generates evidence that the information is true. The verifier checks the proof without learning the statement and accepts or rejects the argument. Multiple verification rounds are employed to increase the confidence that "proof" has been demonstrated.
The above example describes "interactive zero-knowledge proof," an early form of zero-knowledge proof requiring back-and-forth communication between the prover and verifier. Modern applications typically use "non-interactive zero knowledge proof," an algorithmic model requiring only one verification round.
Applications of zero-knowledge proof
Zero-knowledge protocols have various use cases. In this section, we'll describe some of the most common uses.
Cryptocurrency was designed for anonymous transactions. However, the public nature of distributed ledgers makes it possible to learn who owns specific wallets. If you wanted to know the real-world identity of a wallet's owner, you could do so with basic on-chain and off-chain analysis. Blockchains incorporating zero-knowledge protocols let users transact without publicly revealing their wallet addresses.
Suppose you wanted to make a large purchase using cryptocurrency and had to prove you own enough crypto to complete the transaction. Sharing your exact balance would be one way to accomplish this. On the other hand, you could use a zero-knowledge succinct non-interactive argument of knowledge (zk-SNARK). Zk-SNARKs convert provable information into equations, which are then solved to prove that a statement is true or false. For example, you could use a zk-SNARK to prove you have at least "X" tokens without revealing your wallet balance.
Zero-knowledge proofs can simplify the processes used to log in to websites or gain access to databases. Rather than sharing your name, email address, or some other and other PII with a website, you could generate a zero-knowledge proof and use it to gain access.
In some cases, it's beneficial for cryptocurrencies and other entities to outsource computational tasks. For example, a cryptocurrency network experiencing congestion can relieve its own computational load by outsourcing certain tasks off chain. These off-chain computations can be verified with a zero-knowledge proof, which is then sent back to the cryptocurrency network.
Reducing bribery and collusion in on-chain voting
Decentralized autonomous organizations (DAOs) let users control a project's direction by voting on specific proposals. Often, DAOs have associated cryptocurrency tokens, and a participant's token balance determines their voting power. Although this system has many benefits, it allows bad actors to commit bribery.
Votes are recorded on a public distributed ledger, meaning malicious entities can easily check and see if their "bribees" voted for a specific proposal. Zero-knowledge proofs can enable DAO voting without revealing users' votes.
Benefits of using zero-knowledge proof
Zero-knowledge protocols offer a tamper-proof way to verify information. In this section, we'll dive into their many benefits.
Zero-knowledge proof can be used to prevent unauthorized access to sensitive information. For example, suppose a company wants to give its employees remote access to its servers. The company must ensure unauthorized users can't access the system. This company could use zero-knowledge proofs to ensure that only authorized employees can access the system without revealing the authorized users' PII or the access system's structure.
Zero-knowledge protocols give people a fast, reliable way to confirm their PII without sharing it. This technology can enhance the anonymity of blockchain transactions and grant server-access approval without users revealing their PII. Additionally, there are novel applications for zero-knowledge protocols that aren't commonly used. For example, a healthcare provider could use zero-knowledge proofs to share patient information with researchers without sharing their patients’ PII.
Zero-knowledge proofs can eliminate the need for intermediaries when two entities seek to verify information about one another without simply revealing the information to the other party. The parties can reduce costs and inefficiencies by eliminating the need for the intermediary.
This technology can also reduce the time and resources involved in identity verification. A company seeking to verify a potential customer's identity typically has to spend time researching the customer, requesting additional documentation, or conducting background checks. Zero-knowledge proofs let companies verify customers' identities instantly with limited resource expenditure.
The proving process
Zero-knowledge proofs are a powerful tool for verifying statements without revealing sensitive information. Their implementation can be so highly technical that some organizations or individuals shy away from them. Nonetheless, the savings in time and money, enhanced security, and personal privacy offered by this technology are significant.
Hedera is committed to enabling the implementation of zero-knowledge proofs in a variety of novel ways. For example, Guardian, an open-source solution for creating ESG assets on the Hedera network, uses a selective-disclosure mechanism with zero-knowledge proofs. This selective-disclosure system shares only broad PII with verifiers, such as the prover's country rather than their country, state, and city.
Hedera's low costs and secure architecture make it an ideal choice for the creation of identity tokens. These identity tokens can be used to verify an entity's identity without that entity disclosing PII. As this technology continues to develop, we can expect to see it used in more innovative ways.