Zero Knowledge — The Next Big Catalyst?
With the upcoming launch of Polygon’s zkEVM beta network, the Zero-knowledge narrative is gaining more and more attention. As users become more concerned about privacy, Zero-knowledge proofs may be the technology that encourages more widespread adoption. With this article we want to explain you the technology, talk about some upcoming projects and why it’s crucial to keep an eye on the developments in the space.
What Is Zero-Knowledge Proof?
ZKP utilize encryption to verify the truth of a statement without revealing unnecessary information, which greatly enhances privacy. ZKP was first introduced in 1985 and is defined as a method by which a prover can prove a statement’s truth to a verifier without disclosing any additional information. There are two types of ZKP, interactive and non-interactive. ZKP is gaining popularity in conjunction with blockchain technology due to its ability to enhance privacy, speed, and security without compromising decentralization. ZKP can be applied in various scenarios, such as verifying a borrower’s bank account balance without exposing their balance to the lender. As a cryptographic tool, ZKP can help to secure communications and protect data privacy.
How Does It Work?
ZKP are a type of cryptographic technique that allows a user to prove the validity of a claim without revealing any additional information. ZKP uses algorithms that accept specific data as input and produce a “true” or “false” output to demonstrate the claim’s validity. A zero-knowledge protocol must meet three requirements, including completeness, soundness, and zero-knowledge. To demonstrate knowledge of some secret information, a prover uses a witness, which is the secret information. The prover then creates a series of questions that can only be answered by a party with access to the information. The verifier chooses a question at random from the set and asks the prover to respond. The prover determines the answer and sends it back to the verifier. The process continues until the verifier is satisfied. This is known as an “interactive zero-knowledge proof.” Early zero-knowledge protocols used a method called “interactive proving,” in which the person making a claim and the person checking it had to talk back and forth to ensure its validity.
Different Types Of Zero-Knowledge Proofs
ZKP come in two main types: interactive and non-interactive. Interactive ZKP require back-and-forth communication between the prover and verifier, with the verifier challenging the prover and the prover providing replies until the verifier is convinced. One example of interactive ZKP is “The Ali Baba Cave” story, where Alice wants to prove to Bob that she knows the secret phrase to open a magic door without revealing the phrase.
While interactive ZKP are useful for verifying statements, they have limited utility and transferability as they rely on interaction between two parties, making it time-consuming and not scalable. Non-interactive ZKP were created to overcome this issue by allowing the prover to demonstrate knowledge without revealing information. One example of non-interactive ZKP is the game “Where’s Wally”, where a participant demonstrates knowledge of Wally’s location without revealing it.
In non-interactive ZKP, the prover puts the secret data into an algorithm and shares the proof with the verifier. The verifier then uses a different method to ensure that the prover knows the secret information. However, non-interactive ZKP require more processing power than interactive ZKP since verification can only be done once at a time. To enable verification by someone other than the prover and verifier, they must share a key.
In summary, while interactive ZKP are useful for verifying statements, non-interactive ZKP allow for scalable verification without revealing sensitive information. Both types of ZKP have their use cases, and the choice between them depends on the specific situation.
Zero-Knowledge Proofs And Blockchain Applications
ZkSync and StarkNet are two well-known blockchain applications that employ zero-knowledge proofs to enhance the scalability of the Ethereum network. Both are ZK-rollups, but the primary distinction is that zkSync employs ZK-SNARK proofs, whereas StarkNet employs ZK-STARK proofs.
In June 2020, MatterLabs launched zkSync V1, a rollup protocol that utilizes SNARK proofs, on the Ethereum Mainnet. In February 2022, they released zkSync V2, which was the first EVM-compatible ZK-rollup. The ZK-SNARK abbreviation means “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge.”
The ZK-SNARK protocol has the following characteristics:
- Zero-knowledge: Verifiers can confirm the truthfulness of a statement without any other information.
- Succinct: The proof is quicker to verify and smaller than the witness.
- Non-interactive: The prover and verifier exchange information only once.
- Argument: The proof is sound, making cheating highly unlikely.
- Knowledge: It is impossible to create the witness without access to confidential information.
A set of open parameters that both the prover and verifier agree to use when creating and validating proofs is called a shared key. The creation of public parameters, which make up the Common Reference String (CRS), is a critical process for protocol security. Dishonest provers with access to the CRS’s randomness can generate fake proofs.
The dangers of creating public parameters can be mitigated by using multi-party computation (MPC). Several parties participate in a trustworthy setup process to generate the CRS using random values. The ZK-SNARK protocol is secure as long as one honest party eliminates their part of the randomness.
Users must trust the people generating parameters in trusted settings. However, the development of ZK-STARKs has enabled protocols to operate in untrusted environments.
To explore dApps on zkSync, the zkSync ecosystem website is the best resource and is also developed by zkSync.
StarkNet is an Ethereum-based L2 scaling network that employs ZK-STARK to allow for fast, affordable, and private transactions while maintaining decentralization. StarkWare invented ZK-STARK and StarkNet in 2018, and StarkNet was launched in November 2021. The ZK-STARK abbreviation means “Zero-Knowledge Scalable Transparent Argument of Knowledge.”
The ZK-STARK protocol has the following characteristics:
- Scalable: ZK-STARK generates and verifies proofs more quickly than ZK-SNARK when the witness size is larger. As the witness size increases, STARK proofs experience only a slight increase in prover and verification times (SNARK prover and verifier times increase linearly with witness size).
- Transparent: Instead of a trusted setup, ZK-STARK uses verifiable randomization to generate public parameters for proving and verification. As a result, they are more transparent than ZK-SNARKs.
ZK-STARK Vs. ZK-SNARK
To summarize, ZK-STARKs offer a higher degree of trustlessness compared to ZK-SNARKs, but their proofs are typically larger, resulting in higher verification costs. Nevertheless, in certain scenarios, such as proving extensive datasets, ZK-STARKs may prove more cost-effective than ZK-SNARKs.
Regarding the development of dApps on Starknet, Dappland is the prime destination to discover and explore apps on the platform, and it is built by Argent, a wallet for StarkNet.
ZKP have several use cases, including anonymous payments, identity security, authentication, zero-knowledge password proofs, and verifiable computation.
For instance, on public blockchains, ZKP are used to anonymize transactions, enabling users to conduct private Ethereum transactions without revealing their transaction details, as seen in decentralized non-custodial services like Tornado Cash. ZKP also help validate identities while safeguarding sensitive information in decentralized identification, and simplify authentication for platforms and users alike.
Furthermore, ZKP can be used for verifiable computation, enabling the outsourcing of computation while keeping verifiable results. Off-chain scaling solutions like zero-knowledge rollups and validiums allow for secure scalability by submitting validity proofs to Ethereum for verification, allowing it to handle more transactions without increasing computation on the foundation layer.
Overall, ZKP offer a range of benefits, including anonymity, security, and privacy, making them a promising tool for several use cases in the blockchain industry.
Although ZKP offer a promising solution for privacy on the blockchain, there are several challenges associated with their implementation, as discussed below.
Verification is not guaranteed: Despite the low probability of verification while the prover is lying, ZKP cannot guarantee that the claim being made is 100% true. With each ball-picking cycle, the likelihood of a prover lying decreases, but it can never reach zero.
Computation intensity: Both interactive and non-interactive ZKPs require computationally intensive algorithms that demand a lot of computing power. As a result, users with devices that have more computing power may have to pay higher fees. For example, verifying a single ZK-SNARK proof on Ethereum’s ZK-rollups requires 500,000 gas, while ZK-STARKs require even more.
Expensive hardware: Because generating ZKPs involves complex computations, devices that can run these protocols are more expensive, and not everyone can afford them. Applications using zero-knowledge technology must also account for hardware costs, which can drive up prices for users.
Quantum computing threats: ZK-SNARK uses elliptic curve cryptography (ECDSA) for encryption, which could become less secure in the future with the development of quantum computers. However, ZK-STARK uses collision-resistant hashes for encryption, making it less vulnerable to the threat posed by quantum computing. Quantum computing algorithms find it harder to break collision-resistant hashing than public-private key pairs used in elliptic curve cryptography.
Maintaining privacy is crucial for businesses and organizations to remain competitive. However, the open nature of blockchain and its lack of user-friendly privacy features might be hindering its widespread adoption.
Fortunately, the development of privacy-enabled blockchain solutions utilizing zero-knowledge proofs, like StarkNet and zkSync, has made it possible to create decentralized blockchains that are cost-effective and speedy. This breakthrough in zero-knowledge technology could trigger a new wave of cryptocurrency adoption, driven by the need for user and business convenience.
Who We Are
Moonrock Capital is a Blockchain Advisory and Investment Firm, incubating and accelerating early stage startups since 2019.
Disclaimer: None of the information contained here constitutes an offer (or solicitation of an offer) to buy or sell any currency, product or financial instrument, to make any investment, or to participate in any particular trading strategy.