What does a ZK Verification Layer do?
Aligned is a ZK verification layer for Ethereum. But what does a ZK verification layer do? Why is it needed? Read on to find out!
Ethereum is achieving scalability through a rollup-centric roadmap. There are two types of rollups: optimistic and ZK. Basically, we move execution to rollups, which inherit security from Ethereum. Rollups submit batches of transactions (txns) to Ethereum for finality. ZK-rollups rely on ZK proofs (more precisely, integrity or validity proofs). ZK proofs allow us to more efficiently show correct computation (blockchain state change) without requiring all nodes (validators) in the network to re-execute all transactions.
ZK-rollups generate proofs for many processed txns and submit them to Ethereum, where the nodes verify the proofs. While this solution allows Ethereum to scale it suffers from the drawbacks of high cost and low throughput: at most, Ethereum can process 120 proofs per block.
A ZK verification layer is a decentralized network that verifies ZK proofs and reaches consensus on their validity. Several computers, each running the same verification code, obtain results regarding their validity; if the majority agree, it sends the result to Ethereum.
Using this strategy we can reduce costs, minimize latency, and increase throughput—all while maintaining high security and ensuring that verification results are valid. How? Using a network of computers (EigenLayer operators) which are secured by restaked ETH.
The operators run the verification code in Rust (or other high-level languages) on bare metal, rather than in solidity within the EVM. This makes verification much faster, avoids gas constraints, and lets us leverage parallelization.
To attest to the validity of the proofs, the operators sign messages with BLS signatures. The signatures can be combined and verified on Ethereum. By batching N proofs together, we distribute this verification cost between them, thus significantly reducing costs. We can also reduce costs by performing recursive proof aggregation. Remember that we can use ZK to prove any computation, e.g., we can prove that we verified two proofs. The validity of the new proof implies that the original two proofs are correct. Using this strategy, we can compress N proofs into a single one, which is then verified on-chain. However, this process is computationally intensive and adds latency to the system. Aligned offers both solutions to developers to reduce verification costs: we can verify proofs using the decentralized network of verifiers (fast mode) or recursively aggregate proofs into a single one and have it verified on Ethereum (aggregation mode). The cost of proof verification using Aligned is C = (C_task + C_verification)/N + C_read.
This means that the cost for task creation and signature verification are amortized between N proofs, plus the cost of querying the result on-chain. Aligned is a critical new piece of the modular stack. We have offloaded execution to rollups, data availability to DA layers, and now: verification to Aligned. Low cost, high throughput, and low latency verification is needed for widespread ZK adoption and for Ethereum to scale. Aligned is to ZK verification what broadband was to the internet. And Aligned is not just limited to ZK proofs! We will also verify attestations made by trusted execution environments (TEEs), giving developers more options for building provable applications. The flow for Aligned using fast mode is:
- You have a proof you want to verify
- You send it to the task batcher using the CLI or SDK
- The batcher builds a Merkle tree with several proofs, creates a task in Ethereum, and saves the data to a data service
- The operators get the new task, download the proofs, and run the verification. If everything is correct, they sign a message with the root of the tree and send it to the aggregator
- The aggregator checks for quorum, aggregates the signatures, and posts it to Ethereum
- Ethereum checks the signature and updates the state of the batch
- You can now query the result on Ethereum and use it! (e.g. in a smart contract)
Aligned’s architecture looks like this:
We know the future of the internet is going to be provable and we want to ensure its integrity by enabling fast and cheap verification. Aligned is the integrity layer for Ethereum and for the entire internet.
Stay tuned: 🐦 Twitter | 🗨️ Telegram | 👾 Discord | 🌐 Website | 🌌 Galxe | 📝 Manifesto