Aleph Zero
App Chain
Dissecting Zero-knowledge Proofs (ZKP)
LeThang
Lead Researcher
Date
April 12, 2024
1. What Are Zero-Knowledge Proofs?
A) What are ZKPs?
Zero-knowledge proof (ZKP) is a cryptography technique that allows you to convince somebody that a statement is true without revealing any further information.
Example: You must prove you are over 18 to enter a bar.
Traditionally, you must show your ID card which will reveal your personal information like address, nationality, or DOB.
In a place that supports ZK-based ID, like on Aleph Zero or Polygon, you will only need to provide your ZK-based ID and the security guy will let you in after he verifies that you’re actually over 18 years old.
B) Two Main Approaches
Two prominent zero-knowledge proof systems are zk-SNARKs and zk-STARKs.
zk-SNARK
zk-SNARK: Zero-Knowledge Succinct Non-Interactive Argument of Knowledge:
Succinct = proofs are small + easy to verify.
Non-interactive = No back-and-forth communication between the prover and verifier.
Argument = Formalism when talking about these proofs.
Of Knowledge = Provers have the evidence themselves.
Benefits of zk-SNARKs:
Don’t leak information.
Small in size and easy to verify even if the thing being proven is complicated.
Do not require back-and-forth communication.
More gas-efficient than the hashing function method used by STARKS.
zk-STARK
zk-STARK: Zero-Knowledge Scalable Transparent Argument of Knowledge
Different cryptography than zk-SNARK ⇒ quantum-resistant.
Unlike SNARK, STARK does not require a trusted setup to verify the proof.
Drawback:
Only can handle certain kinds of computations.
Larger proof sizes than zk-SNARKs ⇒ take more time to verify and be more gas-intensive than zk-SNARKs.
2. Use cases
A) Main use cases: privacy and decongestion
Two main use cases of ZKPs:
Increase Scalability: since they allow proofs to be verified at a faster rate than if the entire data set would have to be verified.
Increase Privacy by reducing the amount of information shared between parties. For example:
Drawback:
Digital identity verification.
Privacy-preserving transactions.
Shielded transactions.
Tokenization and ownership verification.
B) ZKPs for Privacy
Overview
Transparency is one of the core principles of Web3, but can also be one of its greatest drawbacks.
Nobody wants all of their online activity, from financial transactions to personal identity data, to be publicly available for anyone to view
⇒ In order for blockchains to scale and reach mass adoption, privacy has to be a priority.
ZKPs have the capability to transform how we protect, manage, and share our personal data. They allow people to prove that a statement is true without revealing the information itself.
⇒ Imagine being able to prove that you are over 18+ to enter a bar without sharing your identity card and leaking your personal information.
Projects using ZKPs for Privacy
Projects that utilize ZKP for privacy features are:
Penumbra, Aleo: still on testnet.
Namada: About to launch their mainnet (source).
Aleph Zero: Already on the mainnet and is the only one that is working on compliance privacy, which means you can turn on the private mode after doing the KYC.
All of them employ ZK-SNARK for the privacy features.
In addition to ZK-SNARK, Aleph Zero also uses sMPC (secure Multi-Part Computation) for applications that require the highest level of privacy.
Aleph Zero employs a "hub and spoke" model, which allows businesses to have a spoke or private instance, that interacts with the main decentralized ledger ⇒ businesses can interact with each other in a trustless manner efficiently and cheaply while still maintaining their own private network.
Applications
Secure Identity Management: Imagine logging into an e-commerce site and making a purchase without the site ever knowing your actual credentials. You're verified, but your personal data stays with you.
Financial Privacy: Imagine your wallet is your bank account. Nobody can view it without your permission.
Much more like healthcare Data Security, Machine Learning Model training with encrypted data, etc. Read more at Aleo blog on ZKPs.
C) ZKPs for scalability
Main ZK projects for scalability in the top 100 by coinmarketcap:
As a layer 2 on Ethereum: Polygon, Starknet, and Immutable.
As a blockchain: Mina.
Ethereum ZK Rollups
What is ZK-Rollups?
ZK Rollups are an L2 scaling solution that increases the scalability by moving computation and stage-storage off-chain.
ZK-rollups can process thousands of transactions in a batch and then only post a minimal summary of that to Ethereum (Ethereum docs).
By squeezing many transactions into one, the fees and computing power are shared amongst hundreds or thousands of users.
⇒ Solve congestion with higher transaction throughput.
⇒ Reduce gas fees & transaction costs.
For example, this is how the Polygon zkEVM batches up token transactions:
Prominent ZK-Rollups on the market:
Polygon: Biggest Ethereum scaling solutions by market cap.
Polygon zkEVM: Polygon’s zk-rollup on Ethereum.
Polygon CDK: Enable developers to build their own ZK-L2.
Immutable:
zk-rollups optimized for games. They have two solutions:
Immutable zkEVM Powered by Polygon, which supports smart contracts.
Immutable X is powered by StarkWare which doesn’t support smart contracts.
Starknet:
Starknet is developed by Starkware.
Differentiator: Using zk-STARK instead of zk-SNARK.
Others:
zkSync: zk-rollup with EVM support. Soon to launch ZK Stack, similar to Polygon CDK but developed by zkSync.
Manta Network: first and largest Modular L2 that are using Polygon CDK (source).
MINA: Generalized purpose ZK L1
A zk-Native L1 blockchain.
Building the privacy and security layer for web3 with zero-knowledge proofs.
Most blockchains are increasing in size over time.
If you want to verify the entire chain, for example, the Bitcoin chain, which is already over 400 GB ⇒ you will have to download the whole blockchain to do that.
Mina uses ZKP to keep its blockchain at a fixed size of 22kb ⇒ participants will be able to fully verify the network and transactions from any device.
They capture the state of the entire blockchain as a lightweight snapshot using zk-SNARKs and send that around — instead of the chain itself (source).
zkApps & EVM bridge are still underdevelopment (Roadmap).
For more reading:
Mina website: https://minaprotocol.com/
Mina explanation series: Youtube.
3. Our ZKPs Play
Among the list of projects that we just covered:
At an 8.4B market cap, Polygon is the leading Ethereum scaling solution, but it is already too big ⇒ not much upside.
Mina, at 1.1B market cap, is a nice mid-cap play but the main catalysts - their zkApps & EVM bridge are still under development.
Aleph Zero is an interesting low market cap play as Common DEX, Ethereum bridge, and a bunch of dApps about to launch on Aleph Zero.
Disclaimer
This article is intended to educate readers about certain topics and should not be considered financial advice in any way.