Aztec deep dive: private ERC-20 transfers and Aztec Connect for private DeFi
Thread1,050 words
Explains Aztec as an app-specific ZK rollup using a UTXO note model and join-split proofs for shielded transfers, and Aztec Connect, which batches calls to L1 DeFi protocols via bridge contracts to deliver cheap privacy with L1 liquidity.
Key claims
Proof posting cost fell about 30% to roughly 550k gas, targeting about 180k
Throughput rose 8x from 112 to 896 txs per rollup
Aztec Connect keeps L1 liquidity and composability without new audits
0/ @aztecnetwork is a #zk rollup that acts as a privacy shield for ERC20 token transfers & $ETH smart contract interactions 🥷✨
zk & #privacy is the next bull narrative & @aztecnetwork enables private txs & #DeFi in the biggest ecosystem
dont sleep anon 👀
$AZTEC 🧵 (0/33)👇
1/ first of all, let's quickly recap the basics. @aztecnetwork is a zero knowledge rollup
similar to optimistic rollups, zk rollups are scaling solution that "rolls up" transactions into batches on an off-chain execution layer rather than executing on L1
x.com/expctchaos/status/1527419760593584136
2/ from a tech perspective, it is worth mentioning that @aztecnetwork's rollup is secured by a PLONK-based #zk proof system
learn more about #PLONK in the thread linked below 👇
x.com/expctchaos/status/1611718204480712706
3/ @aztecnetwork has made significant improvements to the #PLONK proof system and developed #UltraPlonk to prove the validity of off-chain transactions
4/ the cost of posting a proof to $ETH has been reduced to approximately 550,000 gas, a decrease of around 30%, since protocol launch
today, @aztecnetwork is also working on a next-generation proving system, that is expected to bring the proving cost down to around 180,000 gas
5/ in the same time, the network's throughput has been increased from 112 transactions to 896 transactions per rollup, which equals an 8x increase
6/ in addition to the proof, @aztecnetwork also posts call data to $ETH L1 for each tx, allowing anyone to reconstruct the state of the network's rollup and verify the validity of off-chain computation
7/ currently, the cost of posting call data is 16 gas per byte. However, it is expected to be reduced to 3 gas per byte with the implementation of EIP-4488
x.com/expctchaos/status/1532100096111824901
8/ there is two major types of zk rollups
- app-specific zk rollups
- generalized zkEVM rollups
9/ while the former has been around for a while already, building an EVM compatible (or rather equivalent) virtual machine that supports zero knowledge proofs has been more difficult
however, 2023 will likely be the year of #zk EVM 👇
x.com/expctchaos/status/1569717615282782209
10/ but @aztecnetwork is not a #zkEVM
rather, @aztecnetwork falls into the app-specific rollup category
however, that does not make it less interesting
11/ @aztecnetwork provides two key features
- private (shielded) transactions for any ERC-20 asset
- private (shielded) #DeFi through #Aztec Connect
let's have a closer look at why this matters and how it works
12/ remember that #Ethereum is a public blockchain that keeps a publicly accessible and transparent ledger of all transactions in the network
and with transparency comes a lack of #privacy
x.com/expctchaos/status/1484546240108969995
13/ so what is the solution to this?
can we just have encrypted accounts & transactions all over $ETH?
unfortunately that is not so easy to achieve. How would the network check the accounting and ensure no double spending is taking place?
14/ but that doesn't mean there are no ways to bring #privacy to $ETH
@aztecnetwork uses an UTXO (unspent transaction output) model instead of an account model restructuring the attribution structure to a certain amount of money (a note), having an owner that can spend this note
15/ this is similar to how @RAILGUN_Project's transaction model works, which I have described in the thread linked below 👇
x.com/expctchaos/status/1612360130762526722
16/ but back to @aztecnetwork
as mentioned earlier, txs are carried out using a system of notes. Instead of updating the balance of an account to reflect a tx (like on $ETH), the network simply reassigns ownership of the notes to the appropriate parties
17/ let's use an example to make this easier to understand:
suppose Alice has three notes worth a total of 100 (shielded) $ETH & Bob has no notes. If Alice wants to send Bob 20 $ETH, two new notes will be created: a note for Alice worth 80 units & a note for Bob worth 20 units
18/ to protect the privacy of the tx, Alice publishes it with a lock that only Bob can unlock with his private key. This is similar to putting the note in a lockbox that only Bob has the key to
19/ while Alice and Bob both know the value of the transaction (20 $ETH), they don't have to reveal it to the rest of the world, keeping the transaction private
20/ to prevent Alice and Bob from colluding to double-spend the asset, Alice must prove to @aztecnetwork that the value of the new notes (80 + 20 = 100) is equivalent to the value old notes
21/ I won't go into the details here, but basically this is done through a process called a "join-split transaction", in which Alice generates an #UltraPlonk proof locally to prove equivalence
22/ once the proof is validated by the network, the old notes are destroyed and the new ones are recorded in the note registry as an encrypted commitment, ensuring that the tx is properly recorded
23/ but what really makes @aztecnetwork sick is #AztecConnect that unlocks private DeFi with the help of three components
- L1 DeFi protocols:
- Aztec Connect Bridge Contracts
- Aztec Connect SDK
24/ L1 DeFi protocols
#AztecConnect is bringing privacy to #Ethereum protocols like @LidoFinance, @AaveAave, @compoundfinance, @Uniswap & more
25/ Aztec Connect Bridge Contracts
provide an interface that enables the Aztec rollup contract to talk to any L1 DeFi protocols on $ETH
26/ Aztec Connect SDK
allows users to create & submit transactions to the #Aztec rollup. It's basically a library for app front-ends or the zk-equivalent of ethers.js, which lets users send txs to $ETH nodes via their favourite dApps
27/ so basically, the #AztecConnect toolkit is a proxy service that enables anyone to take advantage of cheap privacy while interacting with $ETH DeFi, benefiting from the trusted contracts, liquidity & execution of L1
28/ it's important to understand that #Aztec Connect relies on L1 for tx execution and uses batching of DeFi transactions to achieve cost savings
29/ these design choices offer several benefits to apps that want to provide their users with zk-enabled privacy & cost-savings:
- no need for additional audits / contract redeployments
- simple interface with a Bridge Contract
- ability to retain L1 liquidity & composability
30/ in conclusion, #AztecConnect enables developers to access cheap #privacy while still retaining composability with other protocols, unlike alt EVM L1 implementations or #L2 systems with their own execution environments
1 image on X
What came next · since 11 Jan 2023
Show how the covered asset moved
This breakdown analyzes the project without making a call on the token, so price moves since publication are shown as market context.
Mentioned for context
Since then
Zero has written 6 more pieces on Aztec since this one.
Daily closes in USD from DefiLlama and Yahoo Finance. Only a bullish or bearish call in a thesis or market take is tracked; explainers, lists, maps and mentions are neutral context. Not financial advice.