Skip to content

Commit eb4fed9

Browse files
just-mitchkoenmtb1
andauthored
AZIP-17: Optimized Rollup Verifier (#41)
* AZIP-17: Optimized Rollup Verifier * Update status of azip-17 to Accepted --------- Co-authored-by: Koen <koenmtb1@users.noreply.github.com>
1 parent 66d61d4 commit eb4fed9

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

AZIPs/azip-17.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# AZIP-17: Optimized Rollup Verifier
2+
3+
## Preamble
4+
5+
| `azip` | `title` | `description` | `author` | `discussions-to` | `status` | `category` | `created` |
6+
| ------ | ------------------------- | ----------------------------------------------------------------------------------------- | ---------------------------------------- | ---------------- | -------- | ---------- | ---------- |
7+
| 17 | Optimized Rollup Verifier | Switch the L1 root-rollup verifier to the hand-rolled inline-assembly UltraHonk verifier. | Mitchell Tracy (mitchell@aztec-labs.com) | - | Draft | Accepted | 2026-05-28 |
8+
9+
## Abstract
10+
11+
The L1 root-rollup verifier MUST be the inline-assembly UltraHonk Solidity verifier generated by `bb write_solidity_verifier --optimized`, replacing the high-level Solidity verifier previously used. The verified relation, the proof shape, and the verification key MUST be unchanged; only the on-chain implementation changes.
12+
13+
## Impacted Stakeholders
14+
15+
**Sequencers and Provers.** No proof-format change. Existing proofs verify identically against the new contract, just more cheaply.
16+
17+
**Infrastructure Providers.** No change.
18+
19+
**App Developers, Wallets, Token Bridges.** No change.
20+
21+
## Motivation
22+
23+
Root-rollup verification is expensive. Lowering verification gas directly reduces per-epoch sequencer cost and therefore user fees.
24+
25+
## Specification
26+
27+
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174.
28+
29+
The rollup verifier deployed by `DeployRollupLib._deployVerifier` MUST be the `HonkVerifier` produced from `barretenberg/sol/src/honk/optimised/honk-optimized.sol.template` with the root-rollup verification key injected at code-generation time.
30+
31+
The verifier MUST implement the same UltraHonk verification as the non-optimized version.
32+
33+
34+
## Rationale
35+
36+
A hand-rolled assembly verifier is the smallest change that captures the full gas saving without altering the underlying proof system.
37+
## Backwards Compatibility
38+
39+
The verified relation, proof shape, and VK are unchanged, so existing proofs MUST verify against the new contract. The verifier contract address changes; any consumer pinning a verifier address MUST update.
40+
41+
## Test Cases
42+
43+
- Every existing rollup verifier test MUST pass against the new contract.
44+
45+
## Reference Implementation
46+
47+
Template: `barretenberg/sol/src/honk/optimised/honk-optimized.sol.template`. Generator: `bb write_solidity_verifier --scheme ultra_honk --disable_zk --optimized`. Rollup wiring: `noir-projects/noir-protocol-circuits/bootstrap.sh`, consumed by `l1-contracts/script/deploy/DeployRollupLib.sol`.
48+
49+
## Security Considerations
50+
51+
The optimized verifier MUST receive an external audit.
52+
53+
## Copyright Waiver
54+
55+
Copyright and related rights waived via [CC0](/LICENSE).

0 commit comments

Comments
 (0)