Tornado Cash Adds On-Chain Deposit Backups

Tornado Cash
5 min readMar 10, 2021

Tornado.Cash, already considered one of the most popular privacy tools on the Ethereum Network, has recently added even more amazing features. One of those features is on-chain backups which make managing your deposited funds both easier and safer.

In previous iterations, Tornado.Cash users had to manually backup and locally store their private notes in order to access their deposited tokens or Ether. However, as users began making more and more deposits, it became harder to track and manage them as well as identify spent and unspent notes.

This is why Tornado.Cash contributors have implemented on-chain encrypted backups of private notes. Users will now be prompted to encrypt their notes with “Note Account” and store them directly on the Ethereum blockchain. This makes storage of funds stress and hassle free with the security of the Ethereum blockchain backing each note.

Account-Based Management of Private Notes

In order to use this new feature, users can access the “Settings” section on Tornado.Cash. Here users can find their wallet information and balances and they will have the ability to load all their encrypted notes from the blockchain. With Note Account, all notes in local storage are now always stored in their encrypted form to improve security.

Now let’s walk through how to set-up and start using on-chain backups with the Note Account feature.

Setting up a Note Account using Metamask

  1. Click on the “Settings” button at the top right

2. Click Connect Web3 to connect to MetaMask.

Note: Hardware wallets are not currently supported for on-chain backups. Why not?

3. Click Setup account
Note: Make sure you securely backup your Note Account key. This is similar to an Ethereum private key that will be used to encrypt all of your private notes.

Note: If you don’t want to store a backed up version of your Note Account key on-chain, you can uncheck the box Create additional on-chain backup of your Note Account key with your wallet

4. Click Provide, so that Tornado.cash will have the full public key of your Metamask account in order to encrypt your Note Account key.

5. By confirming the transaction, a user commits his encrypted Note Account key to the blockchain.

Using your Note Account

When a user logs in with his Note Account, he will see the green wallet icon at the top next to the Metamask icon.

When a user makes a new Tornado.cash deposit, it will give the option to save his encrypted note on the Ethereum blockchain:

For the additional safety of your deposits, a user can also backup his private notes locally in addition to on-chain backup.

An Encrypted Note will have a “Decrypt” button that will allow a user to use his Note Account to decrypt and copy his private Note so that he may withdraw it.

When the Tornado.cash browser tab is closed, or after 2 minutes of inactivity, the Note Account private key is automatically removed from the memory for security purposes.

How to recover your notes from on-chain backup

#1: Note Account recovery using Metamask:

A user can access his Note Account via his Metamask wallet by using the same Metamask account as he did to set up his Note Account.

  1. Click on Settings at the top right

2. Click to connect Web3 Wallet.

3. Select Recover account

Note: If the Recover account button is disabled, it means an encrypted backup was not found on this MetaMask account. A user must use the account that was originally used to set up his Note Account.
4. Click Decrypt in the popup to decrypt your Note Account key

Tornado.cash will download all of the user’s encrypted notes from the blockchain and will decrypt each one with his private key. A user’s notes will then be viewable on the main page.

#2: Note Account recovery using Note Account key:

If a user doesn’t have Metamask or doesn’t have access to the original account, he can recover using his Note Account key.

  1. Click “Settings” at the top right

2. Click Enter account key

3. Copy/paste the Note Account key and click Connect. This is the key you were prompted to backup during setup.

Do I have to use the new account feature?

No, a user can still use Tornado.cash without using this new account feature. This functionality has been added to give users a more secure and convenient way to store and protect their private notes. If users are comfortable backing up their private notes on their own, they can continue to use Tornado.cash in the same way they always have.

Get answers to questions on Telegram or Discord

View the docs and code on Github

Keep up to date on Twitter

--

--