| Authors | Williamson, Zachary; Kelman, Joe; El Hounsni, Ilyas; et al. |
|---|---|
| Year | 2018 |
| Project | Aztec Network |
| License | Apache-2.0 |
| Official Source | https://github.com/AztecProtocol/AZTEC/blob/master/AZTEC.pdf |
This page is an educational summary and analysis of an official whitepaper or technical paper, written for reference purposes. It is not a verbatim reproduction. CryptoGloss does not claim authorship of the original work. All intellectual property rights remain with the original author(s). The official document is linked above.
Aztec is a privacy-focused Ethereum Layer 2 described across multiple papers and documentation versions: the original AZTEC v1 paper (2018) by Zachary Williamson et al., Aztec Connect (2021), and Aztec 3.0 / Aztec Network (2022+). Together, these describe an evolution from simple private transaction proofs to a full programmable privacy zkRollup — a rollup on Ethereum where smart contract state is private by default.
The unifying thread: PLONK proofs (co-invented by Williamson) for proving valid state transitions while revealing no more than necessary. Aztec encrypts contract state; every interaction is proved via ZK, and only cryptographic commitments appear on-chain.
> AZTEC v1 paper: github.com/AztecProtocol/AZTEC/blob/master/AZTEC.pdf
> Aztec 3.0 documentation: docs.aztec.network
Publication and Context
Zachary Williamson (Aztec’s CTO) co-authored the PLONK paper (2019, with Gabizon and Ciobotaru) — the proving system that powers both Aztec and many other ZK protocols (zkSync, Scroll use PLONK variants). This gives Aztec’s team unusual depth in underlying proof system design.
Aztec v1 (2018): Private transactions using commitment-nullifier schemes (similar to Zcash) but generalized beyond currency. Users hold notes (UTXO-like private state); spending a note generates a nullifier to prevent double-spending.
Aztec Connect (2021): Extended Aztec to enable private interactions with existing Ethereum DeFi protocols (Curve, Lido, etc.) — users could call DeFi contracts while hiding their identity and amounts.
Aztec Network (2022+): A full programmable privacy zkRollup — arbitrary smart contracts with private state, written in Noir.
Notes: Private State Model
Aztec’s state model uses notes — private UTXO-like data structures:
note = {
owner: address
asset_type: token_type
value: amount
secret: blinding_factor
}
Notes are stored in an encrypted on-chain note tree — a commitment (hash) appears on-chain, but the contents are only visible to the owner (and anyone the owner shares their key with).
Spending a note:
- Create a ZK proof proving: “I know a note in the note tree, I own it, and it has this value”
- Reveal the nullifier (a hash of the note secret): this prevents the note from being spent again
- Create new output notes for the recipient and change
This is structurally identical to Zcash’s shielded transaction model but generalized to support arbitrary smart contract logic.
Private Smart Contracts and Noir
Aztec Network (v3) extends the notes model to arbitrary computation:
Private functions: Smart contract functions that run on the user’s own machine (client-side), generating a proof that they executed correctly. The contract state update is represented as notes; the proof is submitted to the rollup.
Public functions: Standard EVM-equivalent functions running on the Aztec sequencer, visible to all.
Hybrid contracts: Can have both private and public functions; private functions can call public functions (triggering visible on-chain state changes).
Noir Language
Noir is a domain-specific language for writing Aztec smart contracts:
- Rust-derived syntax
- Compiles to ACIR (Abstract Circuit Intermediate Representation), then to backend proofs (UltraPlonk-based)
- Provides a standard library for cryptographic operations
- Supports both Aztec private smart contracts and standalone ZK circuit development (Noir is used beyond Aztec for general ZK proofs)
fn main(x: Field, y: pub Field) {
assert(x != y);
}
PLONK Proving System
Aztec uses UltraPlonk (an extension of PLONK) as its proving backend:
- Universal SRS (trusted setup usable for any circuit within a size limit)
- Custom gates (range checks, elliptic curve operations as single PLONK gates rather than many gates)
- Recursive proofs: Aztec proofs include their own verification, enabling proof aggregation (multiple user proofs → one rollup proof)
This is the same PLONK system that Williamson co-invented; Aztec has the deepest expertise of any team in its own proving system.
Reality Check
Aztec is technically the most sophisticated privacy zkRollup in existence. PLONK’s invention by the Aztec team, and their years of proving system development, give them a genuine technical moat.
Practical limitations:
- Proving time: Client-side ZK proof generation for private transactions is slow (seconds to minutes depending on hardware). This creates poor UX compared to instant Ethereum transactions.
- Developer complexity: Understanding Aztec’s notes model, public/private function split, and Noir language is significantly more demanding than writing standard Solidity.
- Regulatory risk: Privacy technology faces mounting regulatory pressure (see Tornado Cash sanction precedent). Full transaction privacy may be legally constrained in major jurisdictions.
- Mainnet delays: Aztec Connect was sunset in 2023 in preparation for Aztec Network’s launch; the new rollup mainnet remained in testnet through 2024.
- Aztec Connect closure created user trust issues: Deprecating working infrastructure for a new system left users without a privacy option for an extended period.
Legacy
Aztec is the project most directly responsible for advancing programmable privacy in Ethereum. PLONK (Williamson et al.) is one of the most cited and deployed ZK proving systems in existence — arguably Aztec’s most durable contribution regardless of the L2’s market success. Noir is gaining adoption as a ZK language beyond Aztec (used for standalone proof generation in other protocols).
Related Terms
Research
- Williamson, Z., Kelman, J., et al. (2018). AZTEC Protocol. github.com/AztecProtocol.
— AZTEC v1 paper; commitment-nullifier scheme for private ERC-20 transfers on Ethereum; formal proof of security of the note scheme.
- Gabizon, A., Williamson, Z.J., & Ciobotaru, O. (2019). PLONK: Permutations over Lagrange-Bases for Oecumenical Noninteractive Arguments of Knowledge. IACR ePrint 2019/953.
— PLONK paper co-authored by Williamson; the universal proving system underlying all Aztec versions and widely adopted across the ZK ecosystem.
- Ben-Sasson, E., et al. (2014). Zerocash: Decentralized Anonymous Payments from Bitcoin. IEEE S&P 2014.
— Zerocash (the cryptographic basis of Zcash); Aztec’s notes model is conceptually derived from Zerocash’s commitment-nullifier design and extends it to general smart contract state.