Tornado Cash Adds On-Chain Deposit Backups

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

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

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 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 makes a new 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 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:

  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 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:

  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?

Get answers to questions on Telegram or Discord

View the docs and code on Github

Keep up to date on Twitter

Non-custodial private transactions on Ethereum.