What is Zero knowledge proof used for? - All ZKP Use Cases

With zero-knowledge proofs being one of the primary forms of user privacy maintenance it is sure to be widely adopt across cryptography, but where else can it be used?
by Yoaquim Boom
October 2, 2022

Key Insights 

  • Zero-knowledge proofs (ZKPs) are defined as proofs that convey no additional knowledge other than the correctness of the proposition in need of proving.
  • The use-cases of zero-knowledge proof currently range from identity, password, to membership authentication.
  • Zero-knowledge proofs are a widely used cryptographic technology in the cryptocurrency space, but the adoption of ZKP throughout cryptocurrencies is increasing quickly.
  • Institutional adoption of zero-knowledge proof has begun and is likely to continue.


What is Zero-knowledge Proof?

Zero-knowledge proof (ZKP) is a cryptography method in which one party called the prover can prove to another party called the verifier that they know a set of information without ever showing the actual information to the verifier.

Zero-knowledge proofs (ZKPs) are essentially defined as proofs that convey no additional knowledge other than the correctness of the proposition in need of proving.

An in-depth article on what Zero-knowledge proofs are and exactly how they work can be found here.


Different types Zero-knowledge proofs

There are many variations of zero-knowledge proofs. These different types include zk-SNARKS, zk-STARKS, zk-SNARGS, Bulletproofs, and zk Rollups.

An in-depth article on different Zero-knowledge proofs can be found here.

Different use-cases for Zero-knowledge proofs

Proof of Identity

Proof of Identity uses Zero-Knowledge Proof in an authentication process in which one party proves to the other that they have a specific piece of information that establishes the prover’s identity.

The prover verifies the required data without providing any more sensitive or personal data in a back and forth between the prover and verifier.

The prover gives their information to a computer algorithm which proves checks the information and if sufficient proof is provided by the prover the verifier is notified that the prover has the necessary information to validate his identity.

This way the verifier knows none of the information but the verifier has successfully verified the prover is in fact in possession of the necessary identification to continue a given process.

This ensures that the prover has control over their personal information and does not have to give it up.

Proof of Passwords

A zero-knowledge password proof (ZKPP) is a zero-knowledge proof that allows the prover to prove to another party (the verifier) that it knows a value of a password, without revealing anything other than the fact that it knows the password to the verifier.

A zero-knowledge password proof prevents any party from verifying guesses for the password without interacting with a party that knows it and, in the optimal case, provides exactly one guess in each interaction.

A common use of a zero-knowledge password proof is in authentication systems where one party wants to prove their identity to a second party using a password but doesn't want the second party or anybody else to learn any information about the password.

For example, apps can validate a password without processing it and a payment app can check the balance of an account without touching or learning anything about the amount.

Proof of Memberships

As zero-knowledge set membership proof has already been integrated by the Dutch bank ING.

Zero-knowledge set membership (ZKSM) allows users to prove that they are included in part of a large public set without disclosing which part of the large public set they are included in.

Yes, it seems rather complex (all of ZKP is rather complex) but with a real world example of ING’s integration it is sure to become clearer.

In ING’s case, the ZKSM solution allows the bank to validate that a client lives in a country that belongs to the European Union, without revealing the exact country the client lives in.

Zero-knowledge Proofs in Blockchain

Zero-knowledge proofs are primarily used in crypto and blockchain technology.

Zero-knowledge proofs are gaining more institutional attention and have been adopted by numerous institutions including banks.

Mina

Mina has developed their own blockchain which stores its blocks through a Zero-knowledge protocol, maintaining its blockchain at a 22kb storage size, making it the lightest blockchain in the cryptocurrency space.

Mina’s Zero-knowledge apps (zkApps) can privately interact with any website and access verified real-world data for use on-chain.

Mina enables users to privately interact with any website, on and off-chain with their verified real-world private data without revealing their data.

Mina also enables users to log in securely with Mina accessing any website without creating an account or handing over their personal data.

There is currently work being done by the nil foundation to establish a bridge between Mina and Ethereum, the largest smart contract blockchain in cryptocurrency.

The progress made by Mina can go towards building trustless bridges between not just Ethereum, but many different chains.

Monero

Monero is a cryptocurrency that maintains a high level of privacy for users and their transactions.

The Monero network is in the process of fully integrating Bulletproofs, a form of Zero-knowledge proofs that was introduced into their code in 2018.

Monero’s Bulletproofs aim to ensure that the information stored within a confidential transaction doesn’t contain false information.

Monero has recently upgraded code for their Bulletproofs ZKP system into their new and improved Bulletproof+ ZKP solution.

On the Monero website, it is stated that “Code is now available for Bulletproofs+, a zero-knowledge proving system that can be used in the Monero protocol in place of the existing Bulletproofs zero-knowledge proving system”.

The new Bulletproofs+ protocol would make transactions smaller, faster for wallets to generate, and faster for network participants to verify.

“While the code is functional and includes tests for the underlying algorithms, it should be reviewed by third-party auditors if chosen for deployment in a future Monero network upgrade. The code is permissively licensed in the hope that it can be broadly useful”. (getmonero.org, Bulletproofs+)

Zcash

Zcash hosts their transaction on their own public blockchain, although simultaneously Zcash gives you the option of confidential transactions and financial privacy through disguised zero-knowledge addresses.

Zero-knowledge proofs allow transactions to be verified without revealing the sender, receiver, or transaction amount.


Zcash allows a user to share some transaction details, for purposes of compliance or audit and hide other private information.

Transaction amounts are all encrypted and not publicly visible. This type of encryption is only possible through the use of zero-knowledge proofs.

Nuggets

Nuggets uses open standard W3C verifiable credentials to allow users to prove their them, without having to even provide any personal information through the use of zero-knowledge proofs.

The Nuggets network uses cryptographic zero-knowledge proofs and blockchain to create a system of identification that can be cryptographically proven without the need for certification through sharing of private information.



Chainlink

Chainlink has implemented a Zero-Knowledge Proof oracle solution called DECO, a privacy-preserving protocol.

DECO enables a wide range of smart contract use cases by proving their creditworthiness in a privacy-preserving manner.

This can enable borrowers to borrow undercollateralized loans. Users can provide a showcase of their creditworthiness while keeping their sensitive information private.

Borrowers can generate showcase their credentials through other authorized online sources, such as established institutions, without exposing potentially sensitive data.

The Dutch ING Bank

On 16 November, ING Bank announced the initial release of its Zero-Knowledge Range Proof (ZKRP) solution at the inaugural Enterprise Ethereum Alliance Event in Amsterdam.

The ZKRP solution has been developed by ING’s own blockchain team and has demonstrated significant efficiency improvement.

ING uses the zero knowledge range proof (ZKRP) to allow their clients to prove the amount of money in their account without actually showing the amount.

ZKRP enables numerical data to be validated within a number range. ING’s Zero knowledge range proof solution allows users to prove they have a secret number that lies in a known range.

For example, a mortgage applicant could prove that their salary sits within a certain range, without revealing their exact salary.

ING has its own blockchain team and has recently also developed another Zero-Knowledge proof solution called zero-knowledge set membership (ZKSM).

As previously mentioned, Zero-knowledge set membership allows ING to validate that a client lives in a country that belongs to the European Union, without revealing the exact country.

Where else can Zero-knowledge Proofs be Implemented?


On a larger scale, it can be used in many more places including global Identity, password, and membership authentication.

Eventually, the final vision for Zero-Knowledge Proofs would be the ability to use private information preserving within transparent systems such as public blockchain networks like Ethereum while not actually publicly revealing your sensitive data/personal information at all.‍

This process would increase transparency, security, and privacy all simultaneously, which can certainly seem paradoxical.

While blockchains are designed to be thoroughly transparent, where anyone can see and download all data stored on the blockchain, ZKP technology should be able to allow blockchain users to use their private information on the blockchain without actually revealing their sensitive information on the blockchain.

As seen through the adoption of ZKPs by the Dutch ING bank, institutions are starting to realize that their clients are looking to get increased privacy.

This revolution in the desire for privacy is largely generated due to the awareness of cryptocurrencies’ ability to provide increased privacy and anonymity.

People are beginning to realize the immense amount of control the government and institutions have over them and the lack of necessity for maintaining to increasing or the institutional monopolization of the information stream.

Institutions are beginning to realize their clients value privacy on a large scale, this is going to drive institutions to begin to adopt more practices to maintain privacy for their users.

If institutions refuse to integrate more privacy within their services they will begin to lose clients.

Since there are other more private and often equally secure options that are willing to compromise their monopolization of information on the decentralized block chain people will gravitate towards that.

Conclusion

There are many different forms of zero knowledge proofs currently available, all of which provide increased privacy for users.

Zero-knowledge proof is already beginning to be adopted and is therefore likely to be the most adopted blockchain and privacy feature for institutions.

Provided that institutions have a good understanding of the flow of clients, it is going to force institutions to adopt some form of privacy technology, which is likely to be zero-knowledge proof technology.