Aztec: zkRollup Layer 2 + Privacy
TL;DR : We’re scaling Ethereum
Today we’re proud to announce Aztec 2.0, the Layer 2 Network — a scaling solution, with privacy at its core:
- zkRollup based Layer 2 network, live on Ropsten
- Private sends by default — shield and send your ERC-20s privately
- Social-key recovery baked in
- Scalable private access to DeFi (Uniswap, etc.)
- 200x gas reduction compared to Aztec 1.0
- Secure by design: all transactions are validated on-chain
- Programmable Privacy with Noir — The private contract language
Get Started Now
Engineers can dive in straight away:
- Documentation: http://developers.aztec.network/
To see our network live on Ropsten or play around with our command line rollup service, these are the links:
Fast Privacy, Now
The classical Layer 2 architecture offers scalability today, and waits to address privacy later.
Aztec is different.
Our PLONK research allows us to use zkSNARKs in two very different ways:
1. Each transaction is encoded as a zkSNARK, protecting user data
2. These transactions are then batched by relayers using a further ‘rollup’ zkSNARK — this single rollup proof is then sent to Ethereum, scaling the network
Using this technique, the network can scale on-demand up to a hard limit of ~300 TX/S, while preserving on-chain data availability.
As a rule, rollups aggregate transactions that are ‘homogeneous’ — i.e. they’re of the same type. Because Aztec transactions are all zkSNARK proofs, they can all be bundled into one zkRollup.
Concretely, private DeFi transactions can be bundled alongside zkDAI spends or Uniswap trades, all in one roll-up
Noir Language: Private Smart Contracts
Introducing Noir — an open source scripting language that allows developers to easily write zkSNARK transactions compatible with Aztec 2.0.
Noir gives developers the tools to write custom logic for mainnet protocols, from DeFi to capital markets and order-books.
Noir gives engineers the keys to:
- Custom private transactions
- Signatures over any curve
- Ethereum contract calls from circuits
- Aztec Standard Library — efficient audited versions of common cryptographic primitives
Accounts with Social Recovery
User accounts can be created with or without a linked Ethereum address, and don’t need an initial on-chain transaction to receive funds.
Human readable aliases are built in — so now, you can be @MontezumaII, and not 0x48af9…
- Accounts support multiple keys
- Social recovery is baked in
- Spending keys are divorced from encryption keys — this helps regulated apps keep neat, KYC-compliant records
Gas Costs Slashed
Aztec 2.0 slashes Aztec 1.0 gas costs by 200x.
What You Can Do on Aztec Today?
- Deposit: Shield your tokens by depositing them in Aztec
- Private Payments: Encrypted balances & identities — for all tokens
- Multi-Device Recovery: Your assets are protected from lost keys
- Withdraw: Take your tokens anonymously back to Layer 1
- Escape Hatch: Even if all rollup providers go down, your exit’s guaranteed
All these features are provided with our Developer SDK.
Next Step: DeFi
In November, the network will be upgraded to support scalable private access to DeFi. This upgrade allow users to anonymously access DeFi transactions at a fraction of the gas price. And, without having to port DeFi protocols to layer 2.
Worked Example: Uniswap on Aztec Network
Let’s take a look at how DeFi works on Aztec 2.0:
- A user sends a portion of their Dai balance to swap for ETH on Uniswap
- The rollup bundles 100's of these transactions together into one trade
- The Aztec contract receives ETH on behalf of these users
- The ETH is owned pro-rata by the participants in the pool
- Each participant benefits from a large anonymity set and pays a fraction of the gas for the investment
Most DeFi protocols can be integrated in this manner and importantly using existing audited L1 code.
Show me the code!
Starting today, developers can access the Aztec network via our TypeScript SDK. Simply run the following command to get going.
yarn add @aztec/sdk
The SDK runs in web, mobile and server environments. For detailed examples follow the link to the live docs.
Keep Updated for 2020 Mainnet Launch
We’ll soon be deploying to mainnet and announcing our bug bounty — stay up to date with the latest news by following us:
Join the team
We’re on the lookout for talented engineers and applied cryptographers. If joining our mission to bring scalable privacy to Ethereum excites you — get in touch with us at firstname.lastname@example.org.