In a typical blockchain transaction, the participants’ wallet addresses and the amount involved are displayed. If someone is acquainted with one of the individuals listed as the addresses, they may be aware of their net worth or current activities.
This is why the blockchain sector places the highest importance on privacy. Zero-knowledge proofs increase privacy by adding a layer, which makes on-chain operations more covert. Zero-knowledge proofs are being quickly used by blockchain businesses. This is seen by the current wave of ZKEVM and ZK-rollup launches.
Many individuals require the overall concept of ZK to be explained in the middle of all the hoopla. Everything critical you need to know about it is explained in detail in this post.
Zero-knowledge proofs are more probabilistic than deterministic, which is another important point to make. What does that suggest? Zero-knowledge communication often involves some aspect of deception and fraud. It is possible for the prover to wish the protocol and verifier to accept a false assertion as true. Zero-knowledge proofs do not always guarantee 100% absolute honesty. Whatever the case, the created evidence demonstrate a witness’s veracity beyond a shadow of a doubt.
Understanding Zero-Knowledge Proof
The degree of contact determines how well zero-knowledge proofs function.
Interactive Zero-Knowledge Proofs
Two people are normally engaged in zero-knowledge proof: a prover who wishes to demonstrate that they have the knowledge and a verifier who verifies the prover’s claim. The « witness » in cryptography refers to the secret that the prover is aware of. To determine the knowledge of the prover, the verifier and prover must interact in a challenge-response fashion.
The verifier selects questions at random and demands prompt responses to begin the challenge. The verifier receives the responses from the prover and sends them back. One or two answers might be made up by the prover. As a result, the verifier asks several questions and receives accurate responses to each. Making ensuring there are no aspects of guessing is crucial.
The opposing party can be confident that the prover is knowledgeable about the secret they claim to know if they can correctly respond to all of the question packages. John claims to have Jane’s Twitter password, for instance, but won’t share it. Jane quizzes him on the password in order to test his knowledge:
How many characters are there in my password? eight characters John
My password finishes with what. The hash mark, John.
What does the password’s numerical value mean? John: 419
It is evident from the exchanges above that John knows the password even if he does not express it explicitly or explain how he learned it.
Non-Interactive Zero-Knowledge Proofs
There are two key reasons why the interactive proving approach may not be acceptable for use in practical applications.
Multiple rounds of confirmation are necessary for the proofs.
No independent evaluation of the proofs will be possible.
In 1988, this was selected as a study topic by three cryptographers: Silvio Micali, Manuel Blum, and Paul Feldman. They developed the concept of non-interactive zero-knowledge, which they described in their article, « Non-interactive zero-knowledge and its applications. »
How does it operate? A shared private key is used by the prover and verifier. The former creates a zero-knowledge proof by committing secret knowledge to an algorithm. On the other hand, the latter also uses a different technique to cross-check the validity of the evidence.
Non-interactive proofs, in contrast to their interactive version, are created only once for convenience. There is no need for additional confirmation rounds after the prover has established the truth of a statement. Every time, the single-generated evidence is adequate. Anyone with access to the shared private key and algorithms may also independently cross-check the evidence. The non-interactive approach is used by the majority of protocols.
Basics Of Zero Knowledge Protocol
Three crucial characteristics—completeness, soundness, and zero-knowledge—must be present in a typical zero-knowledge protocol. Any zero-knowledge protocol must adhere to these fundamental criteria.
Completeness
If and only if the witness is reliable, zero-knowledge procedures ought to be able to respond positively. In other words, the enabling protocol should be able to give the verifier the « true value » if the prover makes a genuine declaration.
Soundness
The protocol needs to be clever and unbreakable. It shouldn’t be possible for the prover to deceive it into returning true when the assertion is actually wrong. To preserve the integrity of zero-knowledge, there must be this unchanging level of soundness.
Zero-knowledge
The game-changer is this. Beyond what the prover wants them to know, the verifier must remain in the dark. If there is no zero-knowledge privacy, the verifier will learn the information that is associated with the assertion.
Types Of Zero-Knowledge Proofs
In the area of zero knowledge, there has been a significant advancement. There are currently several well-known zero-knowledge techniques as a result.
ZK-STARK
2018 saw the creation of STARK, a Scalable Transparent Argument of Knowledge, by Eli-Ben Sasson of Starkware and three other researchers. It returns the confirmed replies on-chain while demonstrating the reliability of witnesses off-chain.
Due to off-chain computations and open-source randomization techniques, STARK produces larger proof sizes than other ZK schemes but is faster, more scalable, and more transparent.
ZK-SNARK
The abbreviation SNARK stands for Succinct Non-Interactive Argument of Knowledge and refers to another well-liked zero-knowledge technique. In contrast to STARK, it can manage lower proof sizes. ZK-SNARK proofs have the effect attribute of non-interaction. Only one interaction is required between the prover and verifier. Here’s where the dependable setup ceremony also comes into play.
The process of creating a piece of data that must be utilized each time a cryptographic protocol is executed is known as a trustworthy setup ceremony.
Vitalik Buterin on secure configurations
The trustworthy setup process must be started by each party contributing random values or public parameters. However, there is a risk that the random values will be compromised by a dishonest prover, leading to the creation of erroneous proofs. As a result, in order to confirm the transaction’s soundness, one of the parties must erase their random values.
ZK-SNORK
SNORK, also known as succinct non-interactive ecumenical (universal) arguments of knowledge, is an acronym. With a few modifications, SNORKs are SNARK adaptations. They are first and foremost ubiquitous, meaning that a single configuration may be used for a variety of applications, and the parameters are saved in a library. Second, they may update their trusted configurations.
Currently, there are three types of SNORKs: Sonic, PLONK, and Marlin.
Sonic. Sonic was created by Maller et al. (2019). After the first contribution, the configuration remains in place. As an alternative, it can continue to create loops with as many contributions as feasible. The global parameters used by Sonic are larger. Because of this, a user may keep and check parameters on a laptop.
PLONK. To address a significant issue with Sonic, high-proof building overheads, Ariel Gabizon, Zachary J. Williamson, and Oana Ciobotaru (2022) created Permutations over Lagrange-bases for Oecumenical Non-Interactive arguments of Knowledge (PLONK). PLONK proves more quickly and provides completely concise verification.
Marlin. Marlin is a fresh take on SNORKs. It was developed for systems that need individualized verification rather than batch verification. Marlin aims to improve Sonic’s shortcomings, to put it briefly.
Bulletproofs
Bulletproofs is a trustless method with quick proofs that was introduced by Bunz et al. (2017). It is not concerned with the truthfulness of a specific assertion, in contrast to other SNARK methods. Instead, it demonstrates that a piece of concealed knowledge is contained inside a certain range. For example, Bulletproofs can determine whether Jane belongs to Generation Z, but it will keep the precise age a secret.
Zero-Knowledge Proof: Benefits and Drawbacks
Advantages of ZKP
Numerous advancements in the blockchain industry have been made because to zero-knowledge proofs, including
Information security: Complete anonymity is implemented, and no underlying transaction data is disclosed.
More Secure: ZK uses more complex cryptographic encryption techniques. Improving the security of transactions.
Faster Transactions: It sparked the development of further innovations, such ZK-rollups, which enable faster transactions.
The Drawbacks of ZKP
Zero-knowledge proof has several restrictions and drawbacks, albeit they are not immediately apparent.
It Is Not Deterministic: There is no absolute guarantee that the results generated are accurate. There is just a strong likelihood that they are.
Loss of the Underlying Secret: Since ZK validates without always revealing the concealed information, it’s possible that no one will ever know the true underlying secret.
Responses might Be Modified: A dishonest prover might alter the challenge and response sessions to get a fabricated outcome.
Using Zero-Knowledge Encryption in Businesses
ZK has already been implemented by certain businesses into their IT stack.
Polygon
One of the most well-known Ethereum layer 2 blockchains, Polygon, uses zero knowledge in its design. With its speedier and less expensive transactions, it is a zero-knowledge rollup that scales Ethereum. A zero-knowledge Ethereum Virtual Machine (zkEVM) was also introduced by Polygon. With the help of ZKP, this revolutionary advancement enables more covert execution of smart contracts created on Ethereum.
Scroll
Ethereum gas costs rise as a result of block space competition between transactions. To improve blockspace and prevent transactional stampedes, Scroll implemented zero-knowledge computational techniques. Scroll is a rollup in addition to having a native zkEVM infrastructure.
Starknet
The Ethereum L2 is StarkWare. The above-mentioned research by Eli Ben-Sasson served as the basis for the procedure. Transactions are rolled out of the Ethereum mainnet in phases, processed using ZK-STARK, and then returned. Cairo is a programming language for StarkWare that is used to create smart contracts on Starknet.
zkSync
A layer 2 solution called zkSync uses zero-knowledge rollup to improve Ethereum’s speed. For optimum performance, ZK proofs are used to process transactions outside of the Ethereum mainnet. In 2020, the Matter Labs team created and used zkSync to scale Ethereum. Around 3000 transactions per second are completed at this time.
Aztech
One protocol that presently makes use of the PLONK scheme is Aztech. It was created to transition public blockchains to private blockchain levels of secrecy. Aztech is built on three guiding principles: compliance, accessibility, and privacy. It also makes use of Noir, a native language for smart contracts that is ZK-compliant.
Zcash
One of the first DeFi initiatives to ship ZK to the general public was Zcash. It is a protocol in DeFi that uses SNARK technology to completely protect anonymity. Zcash had a severe security problem at the first trusted setup ceremony in 2016 (TSC). Two years later, a serious flaw was found that permitted the creation of an infinite number of Zcash coins. Despite not affecting transaction privacy, the issue nevertheless jeopardized the security framework. For 90 days, the dev team kept the problem a secret before ultimately addressing it during the Sapling setup ceremony. On Zcash, transaction participants’ addresses are still mostly untraceable.
Mina
In contrast to Starknet, an L2 protocol, Mina is an entirely L1 blockchain that makes use of ZK technology. It makes a point of becoming the thinnest blockchain. Its size is set at 22 KB. Users may easily determine its present condition even from cellphones because to its straightforward design.
Loopring
This is among the most well-liked ZK-based L2 and dApps that cater to the DeFi sector. Its DeFi technology makes switching and quick payment possible. Additionally, it offers reduced transaction costs.
Zero-Knowledge Proof Use Cases
ZKP introduced a number of real advancements, including:
Keeping Trade Secrets
Trade secrets are confidential business information that makes a company’s goods distinct. ZK is a revolutionary technique that can protect trade secrets without actually disclosing them.
Payments made anonymously
Blockchain makes wallet addresses traceable, endangering the degree of their anonymity. ZKP makes it simple to keep the other party’s identity secret.
Security of Personal Data
Privacy of personal data is essential. ZKP assists people in keeping private information to themselves. Without having to display their real license, which contains information about their age, employment, and other personal details, a person might, for example, demonstrate via ZK that they have a driver’s license.
Authentication
ZKP technology will make authentication simpler than ever. No need to continuously enter lengthy passwords or personal information. The authentication procedure will be accelerated by a ZK-proof.
Scaling Options
Numerous fixes for the shortcomings of various blockchains, such as Ethereum, have been introduced through zero-knowledge. Blockchain efficiency is being improved by projects like Starknet, Aztech, and Polygon ZKEVM by utilizing ZK technology.
Concluding Remarks
In terms of what they can do using ZKP, blockchains are getting more inventive. As an instance, Binance just introduced its ZK-Proof-of-Reserve, which enables it to demonstrate its solvency without providing any further crucial information. While employing ZK technology, businesses should be cautious about security. Hacking can affect ZK protocols or applications. A flaw in their ZK-Proof-of-Reserve was just found, and we informed the Binance staff of it. To conclude, we advise any Web3 business utilizing ZKP technology to do a full ZK audit.