How to send private payments on Ethereum
Using Aztec's zk.money to send private transactions on Ethereum
We’re raffling off BAPs, Ledgers, NFTs, and even ETH next week. Get your badge ready.
Dear Bankless Nation,
One drawback to using public blockchains like Ethereum is…everything’s public!
All of your transactions are open to be viewed by anyone, anywhere, at anytime. Awesome for open finance…not awesome for privacy.
So can we build privacy more natively on Ethereum? Today we’re going to dive into Aztec Protocol to find out.
Aztec isn’t just a privacy solution for Ethereum, it’s a Layer 2 scaling solution as well. This is a triple-threat combo: increasing scaling, reducing gas fees, and preserving privacy.
This is crazy cool tech. But like much Layer 2 it’s also brand new. It only launched last month. So like all things bankless be sure to proceed with caution.
We thought the best way to explain Aztec is to show you what it can do. That’s why this is formatted as a tactic.
Let’s learn how Ethereum scales privately…and how you can send your first private payment today from an anonymous DeFi Wallet!
📺 Watch our AMA with Stefan Ionescu from Reflexer Labs
Learn about RAI as stable collateral, how they plan to scale to billions, and the FLX token.
How to send private payments on Ethereum
Aztec network is a Layer 2 (L2) privacy protocol on Ethereum. Last month, Aztec launched a new version of a Ethereum privacy app called zk.money. It’s now live on mainnet! Since launching just a month ago, Aztec has already successfully processed over 10,000 transactions and scaled usage of the network.
This technology enables private transactions on Ethereum coupled with a scaling solution leveraging Aztec’s private rollup. So not only do you save on gas fees, but all your payments stay private as well!
Today, we’ll walk you through zk.money and show you how to shield your ETH in just a few minutes.
Goal: Transact privately on Ethereum 🕵️
Skill: Beginner to Intermediate
Effort: 5 minutes and some ETH in your MetaMask. (txs can take up to 3hrs to settle).
ROI: Anonymized ETH transactions and hodling. Plus cheaper gas fees!
🚨 Disclaimer! This is new technology. Aztec's in the experimental phase and currently has a 1 ETH limit for sending payments. Like all things bankless, please use with caution and at your own risk.
When SNARKs meet Ethereum
At the beginning of 2020, Aztec launched V1 of an Ethereum privacy implementation, allowing users and teams integrate private DAI and WETH transactions on Ethereum.
Last month, Aztec launched V2—which lets users interact and send private transactions on Ethereum in a greater scale of capacity and convenience than before. Despite the careful approach and an initial cap of 1 ETH per transaction, the platform has seen over 8,000 users within a few days and received some serious hype from the community.
What’s the big deal?
The live version of zk.money enables users to shield ETH to zkETH.
Once wrapped, Aztec users can transact anonymously without unveiling their addresses, balances, nor their transactions. Additionally, users can send funds to account aliases without seeing their address, meaning it finally makes sense to send your friends crypto whenever by using an easy username. No need to dox yourself!
The big deal with Aztec's zero-knowledge implementation is PLONK. It’s a new cryptographic standard where other privacy teams like Dusk, Mina, Matter Labs and the Electric Coin Company have adopted to build new, powerful privacy tech with.
On Aztec 2.0, private transactions get combined with an additional zkSNARK layer that broadcasts them all under one transaction. The result is a double zero-knowledge roll which reduces gas fees for all participants in the rollup. In Aztec V2, gas fees can get as cheap as 10k gas per private transaction and scale to 50 t/s.
The most unique part about Aztec is that users benefit as the platform scales and more users shield their funds due to the nature of the rollup’s setup. To put it simply:
More transactions in one rollup = cheaper gas fees and faster transaction time.
Users can currently shield ETH on the platform with plans to add up to 4 additional ERC-20 tokens like WBTC and DAI later this year. For you, this means more functionality and privacy as Aztec’s Layer 2 will be able to contain a wider variety of transactions.
Extending Privacy to DeFi
As DeFi becomes more sophisticated, today's yield farmers would appreciate having more privacy in the ecosystem—Aztec is gearing towards enabling this at scale.
This is where Noir comes in, a new private smart contracting language. Noir will make it possible for builders in the ecosystem to connect existing zero-knowledge standards with DeFi's capital markets.
Aztec 2.0 will be able to scale the ecosystem via zkRollups. That will change the privacy game completely, and enable a larger transaction scale on programmable money.
What’s Aztec useful for today?
Beyond private Ethereum transactions on the platform, which help users protect their privacy and save on gas costs, Aztec can be used as your anonymous DeFi wallet. In other words, it can be used to wash and anonymize your funds if you’re ever trying to fund a new address.
When sending zkETH from zk.money to a regular Ethereum address, the recipient will receive regular, "unshielded" ETH directly to the wallet. The trick here is that Etherscan will show the funds were sent from the 'Aztec Contract' and not the sender's address.
By using Aztec, you could fund new DeFi wallets without worrying someone may track your trail of breadcrumbs. Better yet, you could use zk.money to protect your funds!
Getting Started with zk.money
To get started with zk.money, you'll need a MetaMask or any other Ethereum wallet with some ETH in it.
Head on over to zk.money and connect your favorite wallet—you can choose your MetaMask or any other wallet using WalletConnect, which lets you connect your wallet via a QR code.
In case you're only using a Ledger or any other cold storage, you can set-up a new hot wallet on zk.money. Then you'll need to be ready to record your new keys for recovery purposes.
Choose your username on zk.money—your username is a recognizable alias that makes it easy for your friends to send you crypto privately. This username is native to zk.money and will not work on any other apps.
Wait a few moments while your new account gets encrypted…😉
Your new account is ready. Now you can get yourself some zkETH! Go ahead and shield your ETH in your wallet to zkETH by clicking the “Shield” button on the dashboard.
You can now shield zkETH by sending it yourself (i.e. send to your own username) or send zkETH directly to another zk.money username. Once you’re ready to transfer, you can choose 4 different fee levels depending on the time they want to wait for transaction settlement:
Slow : ~4 hours
Average : ~3 hours
Fast : ~2 hours
Instant : ~5 minutes
Once you’ve selected the transfer speed and entered the address you want to send your shielded ETH to, go ahead and provide your signature to approve the transaction via your wallet.
Now your transaction is broadcasted to the network and will be sent.
Please note that while your account balance may show zkETH available, you won’t be able to transact with that zkETH until your new sendable balance is settled. Once your transaction is completed, you'll be able to use that zkETH and it will appear in the sendable balance!
The yellow dot shows the funds are not settled yet.
You have shielded your ETH successfully—you should have zkETH available in your sendable balance. Now you can send it to other friends on zk.money, or send it back to L1 - and get regular unshielded ETH back.
If you send zkETH to registered usernames on zk.money, they will get zkETH directly to their account.
If you send zkETH to a regular Ethereum address, the recipient will receive regular ETH directly to their wallet.
Following your transaction
You can track your transactions on the dashboard and on the Aztec explorer. Don't forget, it's anonymized—so you won't be able to see the recipient's address/username in the transaction details.
You may wonder, what information will be shown on Etherscan?
When you send funds within zk.money, nothing will be shown publicly. When sending zkETH to layer 1, Etherscan will show the funds that were sent from the 'Aztec contract'.
Start Transacting Privately on Ethereum Today
Aztec is a new privacy and scaling solution for Ethereum. It unlocks one of the more desired primitives in crypto and within public blockchains—privacy! It’s still new technology but it’s getting better every day. Layer 2 is here and it’s helping Ethereum scale and beyond.
If you’re interested in learning more, here’s some more info:
There’s also a detailed user guide and FAQ (All of your questions should be covered there.)
Otherwise, users are welcomed to join the Aztec Discord channel and engage with the community.
Let’s scale Ethereum privately.
🙏Thanks to our sponsor
Aave is a decentralised, open source and non-custodial liquidity protocol enabling users to earn interest on deposits and borrow assets. Aave Protocol is unique in that it tokenizes deposits as aTokens, which accrue interest in real time. It also pioneered Flash Loans and Credit Delegation as innovative DeFi building blocks. The Aave Protocol V2 makes the DeFi experience more seamless with features that allow you to swap your assets for the best yields on the market, and more. Check it out here.
Want to get featured on Bankless? Send your article to email@example.com
Not financial or tax advice. This newsletter is strictly educational and is not investment advice or a solicitation to buy or sell any assets or to make any financial decisions. This newsletter is not tax advice. Talk to your accountant. Do your own research.
Disclosure. From time-to-time I may add links in this newsletter to products I use. I may receive commission if you make a purchase through one of these links. Additionally, the Bankless writers hold crypto assets. See our investment disclosures here.