Friday, March 24, 2023

# What Is a Zero-Knowledge Proof and How Does It Work? A Beginners Guide

Technology has evolved over the years, ensuring that there is a perfect model for meeting every demand. As the world grows with many technological advancements, there is also a rising demand for privacy and data safety. Data can be used to prove who you are, however, this could reveal a lot of information.

“But how do I prove something without revealing much information?” This question might have passed through one’s mind during their life at least once!  Zero-Knowledge Proofs (ZKPs) mainly focus on verifying the proof without revealing much information.

This guide will give you a deeper understanding of zero-knowledge proofs and how they could benefit you. Let’s explore the intriguing world of ZKPs.

## Unraveling the Enigma of ZKP

So what is zero-knowledge proof? It is a method of proving that you know a piece of information without revealing any information beyond the fact that you know it. There are two parties involved in ZKP: a prover and verifier. A prover claims they have knowledge of the information, while a verifier validates the claim.

A real-world zero-knowledge proof protocol executes the same idea but in a much more complex manner. In a real scenario, the verifier can generate a “challenge” for the prover to complete. The challenge could be a mathematical problem or equation that requires special characters that only someone who knows the password could provide. The verifier would then execute this challenge a large number of times to validate the consistency of the prover’s claim.

ZKPs should satisfy three criteria:

• Completeness: It is stated that if the input is valid, the zero-knowledge protocol will always return as “true.”
• Soundness: An invalid input makes it impossible to fool the zero-knowledge protocol, thus, stating the output as “false.”
• Zero-Knowledge: The final criteria of ZKP states that the verifier learns nothing about a statement beyond its validity or falsity, thus, they have “zero knowledge” of the information.

## The Metamorphoses of Zero-Knowledge Proofs

Akin to many highly advanced techs, ZKPs started with an idea. The concept of Zero Knowledge Proofs was introduced by MIT research paper by Shafi Goldwasser, Silvio Micali, and Charles Rackoff in 1985, “The Knowledge Complexity of Interactive Proof System.” However, the legends’ research paper was rejected many times, but, in 1993, they won the Godel Prize, an annual prize rewarded to researchers for the most outstanding papers in the area of theoretical computer science.

Even though the concept of Zero-Knowledge Proof was introduced long ago, the application started many years later.

## The Dual Nature of Zero-Knowledge

ZKP kept on changing over the years, each optimized for different scenarios. Evolving this highly advanced tech, researchers have suggested a separate identity of zero-knowledge proofs.

There are two main types of zero-knowledge proof protocols: interactive ZKPs and non-interactive ZKPs. The main difference between the two types is the amount of interaction required between the prover and the verifier.

Interactive ZKPs require more interaction between both parties. The prover and verifier engages in back-and-forth communication to validate the prover’s claims. These ZKPs are more flexible and can be used to prove more complex statements than non-interactive ZKPs.

Non-Interactive ZKPs require significantly less interaction. The prover merely constructs a proof that can be validated by a verifier without any further interaction. These ZKPs are more efficient and require less communication between the prover and verifier than interactive ZKPs.

For both interactive and non-interactive zero-knowledge proofs, researchers and cryptographers tried to simplify the explanation through various examples.

### The Interactive ZKP

Kostas Kryptos, Co-founder and Chief Cryptographer at Mysten Labs, provided one of the simplest examples of interactive ZKP with his differently-colored balls scenario. In his example, a prover must prove to a verifier that a red ball and a green ball are different colors without revealing which ball is which.

In this scenario, the prover uses an interactive approach where they ask the verifier whether the balls have been switched or not. The prover hides the balls, and reveals one at random to the verifier, who responds “yes” or “no” depending on whether the balls were switched.

The interaction proceeds for several rounds, and with each reveal of a ball by the prover, the verifier becomes increasingly convinced that the balls are of different colors without ever revealing which ball is red and which one is green.

This is a simplified example of interactive ZKP where the prover and verifier engage in back-and-forth conversation/interaction to gradually convince the verifier the truth of the claim without disclosing any information beyond what is necessary to prove the claim.

### Non-Interactive Zero-Knowledge Proofs

The first idea about the first non-interactive zero-knowledge proof was suggested by researchers Manuel Blum, Paul Feldman, and Silivio M Micali in their paper “Non-interactive zero-knowledge and its applications.” Similar to the interactive zero-knowledge proof, the prover has to convince the verifier that they have the evidence without revealing any information.

However, unlike interactive proofs, non-interactive proofs conduct the protocol within one round of communication between the prover and verifier. With non-interactive zero-knowledge proof, it makes this revolutionary technology more efficient by reducing the need for continuous interaction. The non-interactive ZKP also ensures the proof generated is available to the public.

There is no doubt that ZKPs is revolutionary, however, the interactive zero-knowledge proofs have limitations. For instance, the interactive ZKP would require two parties to be present. Moreover, even if the verifier stated the output was “true,” the proof would be unavailable for verification. As a solution, non-interactive zero-knowledge proofs were proposed.

It is popularly believed that non-interactive proofs opened the doors to a new world of innovative technologies.

Over the years, zero-knowledge proof has evolved as many researchers and cryptographers tried to propose various protocols for this modern technology. Some ZK protocols are related to each other with specific differences, as they act as solutions to meet the different demands for scalability and privacy.

Current ZKP Solutions include zk-SNARKs, zk-STARKs, zk-Rollups, Validiums, and Volitions. New breakthroughs are predicted to emerge as technology advances.

Let’s take a closer into each of those solutions.

### Zero-Knowledge Rollups

Zero-knowledge rollups combine the various batches of transactions and post them to the blockchain, instead of sending each transaction data individually. The transactions will be posted along with proof that could verify the validity of that computation. The validity proofs that published the data on-chain could be either SNARKs or STARKs.

### Validium

When it comes to Validium, it combines the validity proofs with off-chain data storage to enhance scalability. Validium ensures that the validity proofs are published on the base chain and the data is stored off-chain.

While Validium is efficient and has lower gas fees compared to zk-rollups, it could face an attack from malicious actors, making data unavailable and risking users’ ability to withdraw their funds.

### Volitions

Volitions merged zk-rollups and validiums allow users to choose between these solutions as they have a single state root. The features are combined to provide much more efficient innovative solutions. For instance, if malicious actors attacked the validium side of volition, the fund on the zk-rollup side would still be safe.

### zk-SNARKs

Zero-Knowledge Succinct Non-interactive Argument on Knowledge (zk-SNARKs) is one of the validity proofs with a small size and can easily conduct proofs. SNARK creates cryptographic proofs using elliptical curves. These computing elliptic curves are less expensive compared to STARKs’ computing hashing functions. With the SNARK protocol, the gas fees are reduced compared to STARKs.

### zk-STARKs

Even though SNARKs leads the race regarding gas fees, zk-STARK has great advantages too. Zero-Knowledge Scalable Transparent Argument of Knowledge (zk-STARKs) is another type of cryptographic proof. The STARK protocol requires little to no interaction between both parties. This feature enables STARKs to prove transactions much faster and offer more computing power.

## Blockchain Projects that Utilize Zero-Knowledge Proof

Similar to ZKP, Blockchain is another efficient technology in this tech-advanced world. Some blockchain projects implemented the revolutionary zero-knowledge technology into their ecosystem.

### Zcash

Known for its privacy, Zcash utilized zk-SNARK in its system. Zcash, a privacy coin, is one of the earliest crypto assets that provided enhanced privacy for its users, assuring confidentiality in financial transactions.

### Binance

Announcing on Twitter, Changpeng Zhao, the CEO of Binance, shared that his team has upgraded the Proof of Reserves system with zk-SNARK. Binance claimed that the PoR system upgrade was done with the motive of keeping your sensitive information more secure and private.

### StarkEx

StarkEx is a layer-2 scalability solution built on Ethereum that has integrated a type of zero-knowledge proof. The zk-STARK acts as proof that validates various transactions. Moreover, the integration of the zero-knowledge proof enables trading and payment applications to be built on top of it.

### Immutable X

Immutable X is a platform that provides minting and trading services for NFTs. As a layer-2 scaling solution for Ethereum, it implemented zk-STARKs to achieve high transaction throughput and fast confirmation times. On top of being fast, the STARKs technology ensures the transaction is secure.

## The Future of ZKP

The Zero-Knowledge Proof technology still continues to be a newly advanced tech with the passing of time. Many experts have started to see the utility value of zero-knowledge proof as various projects have implemented them in their operations. With the power of enhancing speed and security, the applications and the possibilities of zero-knowledge technology are also endless.

Furthermore, the community observed that they are under surveillance irrespective of their activities. Zero-knowledge technology was built for this purpose too. To provide proof with zero knowledge, ZKP will protect the users’ privacy from inappropriate snooping. This revolutionary technology can also act as a shield for identity protection, and prevent any fraudulent activities such as bribery and on-chain voting.

Even though blockchain is relatively new, many companies have integrated ZKP into their ecosystem. Both these cutting-edge technologies could lead us into a new world, where no one would have to live in the shadows and become victims to the powers of the central figure.

## FAQ

What is Zero-Knowledge Proof?

It is where one user can prove a specific data set without revealing much information. There are often two or more parties involved in the zero-knowledge proof: the prover and the verifier. The “prover” is the party that is trying to prove a claim, meanwhile, the “verifier” is the one responsible for validating the claim.

When was the “Zero-Knowledge Proof” idea first introduced?

The concept of Zero Knowledge Proofs was introduced by Shafi Goldwasser, Silvio Micali, and Charles Rackoff in 1985 through an MIT research paper, “The Knowledge Complexity of Interactive Proof System.”

What are some of the popular variants of zero-knowledge technology?

Over the years, zero-knowledge proof has evolved as many researchers and cryptographers tried to propose various protocols for this modern world. Currently, reports indicate that zk-SNARKs, zk-STARKs, zk-Rollups, Validiums, and Volitions are some of the ZKP solutions.

What are some of the blockchain projects that have integrated with zero-knowledge tech?

Some blockchain projects such as Binance, Zcash, StarkEx, and Immutable X implemented the revolutionary zero-knowledge technology into their ecosystem.

Technology has evolved over the years, ensuring that there is a perfect model for meeting every demand. As the world grows with many technological advancements, there is also a rising demand for privacy and data safety. Data can be used to prove who you are, however, this could reveal a lot of information.

“But how do I prove something without revealing much information?” This question might have passed through one’s mind during their life at least once!  Zero-Knowledge Proofs (ZKPs) mainly focus on verifying the proof without revealing much information.

This guide will give you a deeper understanding of zero-knowledge proofs and how they could benefit you. Let’s explore the intriguing world of ZKPs.

## Unraveling the Enigma of ZKP

So what is zero-knowledge proof? It is a method of proving that you know a piece of information without revealing any information beyond the fact that you know it. There are two parties involved in ZKP: a prover and verifier. A prover claims they have knowledge of the information, while a verifier validates the claim.

A real-world zero-knowledge proof protocol executes the same idea but in a much more complex manner. In a real scenario, the verifier can generate a “challenge” for the prover to complete. The challenge could be a mathematical problem or equation that requires special characters that only someone who knows the password could provide. The verifier would then execute this challenge a large number of times to validate the consistency of the prover’s claim.

ZKPs should satisfy three criteria:

• Completeness: It is stated that if the input is valid, the zero-knowledge protocol will always return as “true.”
• Soundness: An invalid input makes it impossible to fool the zero-knowledge protocol, thus, stating the output as “false.”
• Zero-Knowledge: The final criteria of ZKP states that the verifier learns nothing about a statement beyond its validity or falsity, thus, they have “zero knowledge” of the information.

## The Metamorphoses of Zero-Knowledge Proofs

Akin to many highly advanced techs, ZKPs started with an idea. The concept of Zero Knowledge Proofs was introduced by MIT research paper by Shafi Goldwasser, Silvio Micali, and Charles Rackoff in 1985, “The Knowledge Complexity of Interactive Proof System.” However, the legends’ research paper was rejected many times, but, in 1993, they won the Godel Prize, an annual prize rewarded to researchers for the most outstanding papers in the area of theoretical computer science.

Even though the concept of Zero-Knowledge Proof was introduced long ago, the application started many years later.

## The Dual Nature of Zero-Knowledge

ZKP kept on changing over the years, each optimized for different scenarios. Evolving this highly advanced tech, researchers have suggested a separate identity of zero-knowledge proofs.

There are two main types of zero-knowledge proof protocols: interactive ZKPs and non-interactive ZKPs. The main difference between the two types is the amount of interaction required between the prover and the verifier.

Interactive ZKPs require more interaction between both parties. The prover and verifier engages in back-and-forth communication to validate the prover’s claims. These ZKPs are more flexible and can be used to prove more complex statements than non-interactive ZKPs.

Non-Interactive ZKPs require significantly less interaction. The prover merely constructs a proof that can be validated by a verifier without any further interaction. These ZKPs are more efficient and require less communication between the prover and verifier than interactive ZKPs.

For both interactive and non-interactive zero-knowledge proofs, researchers and cryptographers tried to simplify the explanation through various examples.

### The Interactive ZKP

Kostas Kryptos, Co-founder and Chief Cryptographer at Mysten Labs, provided one of the simplest examples of interactive ZKP with his differently-colored balls scenario. In his example, a prover must prove to a verifier that a red ball and a green ball are different colors without revealing which ball is which.

In this scenario, the prover uses an interactive approach where they ask the verifier whether the balls have been switched or not. The prover hides the balls, and reveals one at random to the verifier, who responds “yes” or “no” depending on whether the balls were switched.

The interaction proceeds for several rounds, and with each reveal of a ball by the prover, the verifier becomes increasingly convinced that the balls are of different colors without ever revealing which ball is red and which one is green.

This is a simplified example of interactive ZKP where the prover and verifier engage in back-and-forth conversation/interaction to gradually convince the verifier the truth of the claim without disclosing any information beyond what is necessary to prove the claim.

### Non-Interactive Zero-Knowledge Proofs

The first idea about the first non-interactive zero-knowledge proof was suggested by researchers Manuel Blum, Paul Feldman, and Silivio M Micali in their paper “Non-interactive zero-knowledge and its applications.” Similar to the interactive zero-knowledge proof, the prover has to convince the verifier that they have the evidence without revealing any information.

However, unlike interactive proofs, non-interactive proofs conduct the protocol within one round of communication between the prover and verifier. With non-interactive zero-knowledge proof, it makes this revolutionary technology more efficient by reducing the need for continuous interaction. The non-interactive ZKP also ensures the proof generated is available to the public.

There is no doubt that ZKPs is revolutionary, however, the interactive zero-knowledge proofs have limitations. For instance, the interactive ZKP would require two parties to be present. Moreover, even if the verifier stated the output was “true,” the proof would be unavailable for verification. As a solution, non-interactive zero-knowledge proofs were proposed.

It is popularly believed that non-interactive proofs opened the doors to a new world of innovative technologies.

Over the years, zero-knowledge proof has evolved as many researchers and cryptographers tried to propose various protocols for this modern technology. Some ZK protocols are related to each other with specific differences, as they act as solutions to meet the different demands for scalability and privacy.

Current ZKP Solutions include zk-SNARKs, zk-STARKs, zk-Rollups, Validiums, and Volitions. New breakthroughs are predicted to emerge as technology advances.

Let’s take a closer into each of those solutions.

### Zero-Knowledge Rollups

Zero-knowledge rollups combine the various batches of transactions and post them to the blockchain, instead of sending each transaction data individually. The transactions will be posted along with proof that could verify the validity of that computation. The validity proofs that published the data on-chain could be either SNARKs or STARKs.

### Validium

When it comes to Validium, it combines the validity proofs with off-chain data storage to enhance scalability. Validium ensures that the validity proofs are published on the base chain and the data is stored off-chain.

While Validium is efficient and has lower gas fees compared to zk-rollups, it could face an attack from malicious actors, making data unavailable and risking users’ ability to withdraw their funds.

### Volitions

Volitions merged zk-rollups and validiums allow users to choose between these solutions as they have a single state root. The features are combined to provide much more efficient innovative solutions. For instance, if malicious actors attacked the validium side of volition, the fund on the zk-rollup side would still be safe.

### zk-SNARKs

Zero-Knowledge Succinct Non-interactive Argument on Knowledge (zk-SNARKs) is one of the validity proofs with a small size and can easily conduct proofs. SNARK creates cryptographic proofs using elliptical curves. These computing elliptic curves are less expensive compared to STARKs’ computing hashing functions. With the SNARK protocol, the gas fees are reduced compared to STARKs.

### zk-STARKs

Even though SNARKs leads the race regarding gas fees, zk-STARK has great advantages too. Zero-Knowledge Scalable Transparent Argument of Knowledge (zk-STARKs) is another type of cryptographic proof. The STARK protocol requires little to no interaction between both parties. This feature enables STARKs to prove transactions much faster and offer more computing power.

## Blockchain Projects that Utilize Zero-Knowledge Proof

Similar to ZKP, Blockchain is another efficient technology in this tech-advanced world. Some blockchain projects implemented the revolutionary zero-knowledge technology into their ecosystem.

### Zcash

Known for its privacy, Zcash utilized zk-SNARK in its system. Zcash, a privacy coin, is one of the earliest crypto assets that provided enhanced privacy for its users, assuring confidentiality in financial transactions.

### Binance

Announcing on Twitter, Changpeng Zhao, the CEO of Binance, shared that his team has upgraded the Proof of Reserves system with zk-SNARK. Binance claimed that the PoR system upgrade was done with the motive of keeping your sensitive information more secure and private.

### StarkEx

StarkEx is a layer-2 scalability solution built on Ethereum that has integrated a type of zero-knowledge proof. The zk-STARK acts as proof that validates various transactions. Moreover, the integration of the zero-knowledge proof enables trading and payment applications to be built on top of it.

### Immutable X

Immutable X is a platform that provides minting and trading services for NFTs. As a layer-2 scaling solution for Ethereum, it implemented zk-STARKs to achieve high transaction throughput and fast confirmation times. On top of being fast, the STARKs technology ensures the transaction is secure.

## The Future of ZKP

The Zero-Knowledge Proof technology still continues to be a newly advanced tech with the passing of time. Many experts have started to see the utility value of zero-knowledge proof as various projects have implemented them in their operations. With the power of enhancing speed and security, the applications and the possibilities of zero-knowledge technology are also endless.

Furthermore, the community observed that they are under surveillance irrespective of their activities. Zero-knowledge technology was built for this purpose too. To provide proof with zero knowledge, ZKP will protect the users’ privacy from inappropriate snooping. This revolutionary technology can also act as a shield for identity protection, and prevent any fraudulent activities such as bribery and on-chain voting.

Even though blockchain is relatively new, many companies have integrated ZKP into their ecosystem. Both these cutting-edge technologies could lead us into a new world, where no one would have to live in the shadows and become victims to the powers of the central figure.

## FAQ

What is Zero-Knowledge Proof?

It is where one user can prove a specific data set without revealing much information. There are often two or more parties involved in the zero-knowledge proof: the prover and the verifier. The “prover” is the party that is trying to prove a claim, meanwhile, the “verifier” is the one responsible for validating the claim.

When was the “Zero-Knowledge Proof” idea first introduced?

The concept of Zero Knowledge Proofs was introduced by Shafi Goldwasser, Silvio Micali, and Charles Rackoff in 1985 through an MIT research paper, “The Knowledge Complexity of Interactive Proof System.”

What are some of the popular variants of zero-knowledge technology?

Over the years, zero-knowledge proof has evolved as many researchers and cryptographers tried to propose various protocols for this modern world. Currently, reports indicate that zk-SNARKs, zk-STARKs, zk-Rollups, Validiums, and Volitions are some of the ZKP solutions.

What are some of the blockchain projects that have integrated with zero-knowledge tech?

Some blockchain projects such as Binance, Zcash, StarkEx, and Immutable X implemented the revolutionary zero-knowledge technology into their ecosystem.