Tornado Cash had unique qualities of a non-custodial nature, its smart contract-encoded design, and decentralized development. However, its sanctioning on August 8th for laundering over $455 million worth of cryptocurrency was a blow. The ZK-ZK-rollups, however, comes as the future of privacy technology. They do not only provide private transactions but do so at low gas fees by carrying out all the heavy computation on a Layer 2.
The Aztec network provides similar services to Tornado Cash; only it is secured by ZK-ZK-rollup. Let’s dive in.
How do ZK-ZK-Rollups Work?
Zero-knowledge rollups are Layer 2 scaling solutions that increase throughout Ethereum Mainnet by moving computation and state-storage off-chain.
Therefore, they achieve scaling solutions in two main ways;
1. They move your balances from Layer 1 to Layer 2 and still give you a guarantee of exiting back to Layer 1 anytime.
2. They batch transactions within the rollup.
To allow the movement of balances from L2, the same gas is required as other L1 transactions, as updating the same amount of L1 states is mandatory. However, transacting within L2, only the L2 Merkle tree needs to be updated.
Additionally, when updating L2 balances, computations for the batched transactions are performed off-chain. What you submit to the L1 after this is the updated Merkle tree and proof that the computation is correctly carried out. Consequently, this makes the transactions within the rollup so cheap.
Security Guarantees within the Rollup
The ZK-rollup smart contract requires correct proof to update the Merkle tree, making cheating impossible. If the sequencer goes down, the smart contract allows anyone to exit the rollup back to L1.
Just like Ethereum L1 transactions, the balance updates to the Merkle tree are transparent for everyone to see, thus the ZK-ZK rollup by Aztec Network. The ZK-ZK rollup creates a privacy shield for transactions within the rollup.
When one moves balances to Aztec, the smart contract issues an equivalent token that begins with zk. For instance, one can move a certain number of ETH and get zkETH in return. The smart contract stores the zkETH differently than the L1. ZkETH is tracked as notes with owners and will be stored as a note that one owns. The notes are encrypted, and no one can see how much each note contains or the owner of the notes, preserving privacy.
The only transparent transactions are when moving funds to or from the L1.
Therefore, ZK-rollups enable scaling by maintaining balances in a Merkle tree instead of updating L1 balances. However, Aztec’s ZK-ZK-rollups store these balances as encrypted notes that keep the amounts and owners private.