Ethereum - Tornado Cash Sanctions
Introduction
- By default, your entire Ethereum transaction history and balances are public. All transactions can be seen on block explorers like Etherscan. And with Tornado Cash, you can send Ethereum cryptocurrency with 100% anonymity.
- Tornado Cash went live around August 7, 2019. (link)
- On August 8, 2022, Tornado Cash is blacklisted by the US Treasury and $75K of USDC in Tornado Cash is frozen (link). Currently, the main website tornado.cash is not accessible, you have to visit this link to access the app.
- Because of the 100% anonymity benefit, it can be used by criminals to launder their money (e.g. link), this is also the main reason of the sanction.
How does Tornado.cash achieve privacy in Ethereum?
- Tornado improves transaction privacy by breaking the on-chain link between the recipient and destination addresses. It uses a smart contract that accepts ETH deposits that can be withdrawn by a different address. Whenever a new address withdraws ETH, there is no way to link the withdrawal to the deposit, which makes the procedure completely private.
Now, let’s deep dive into Tornado Cash metrics to see how the sanction affected the app usage and how users use the app in general.
Method
- Identify Tornado Cash addresses using table
ethereum.core.dim_labels
. Queries exclude 1 mislabeled address and 3 legacy addresses. - Tornado Cash users are addresses which have deposit transaction (transfer to) or withdraw transaction (transfer from) Tornado Cash addresses and are not Tornado Cash addresses or other labeled addresses in table
ethereum.core.dim_labels
.
Tornado Cash usage before and after sanction
I will look at 2 different types of transaction: Deposit and Withdraw. The reason of looking this way is the disconnection between deposit address and withdraw address which is the fundamental benefit of Tornado Cash privacy.
Deposit
Note: 1. before sanction
is the period before August 8, 2022. 2. after sanction
is the period since August 8, 2022.
- Before sanction, 41.3K users deposited $7.5B in 15.7K transactions to Tornado Cash.
- After sanction, 255 users have deposited $7.94M in 700 transactions to Tornado Cash.
Has the sanction affected Tornado Cash usage?
To answer this question, I will look at 2 metrics:
- Average number of deposit transaction per user per day
- Average $ deposit amount per user per day
> Denominator of 2 metrics above is the number of day between the min date (i.e. the first date) of a user and the max date of the user (i.e. the last date recorded for all user → the max date is the same for all users).
> The reason of looking at per user per day
is the big difference in duration and number of users between the 2 period before (1096 days) and after (3 days) sanction → to compare them, I need to normalize data down to per user per day
.
- After sanction, we saw the average number of deposit transaction per user per day has increased from 0.0037 to 1.44, and the average $ deposit amount per user per day has increased from $233 to $3.9K. However, it’s been only 3 days since the sanction made the news, this might cause a surge in Awareness or just simply from the fear of the app uncertain future. We need more time to observe the sustainability of this usage surge.
Withdraw
- Before sanction, 27.8K users withdrew $3.38B in 68.3K transactions from Tornado Cash.
- After sanction, 216 users have withdrawn $22.86M in 487 transactions from Tornado Cash.
- Similar to Deposit, after sanction, we saw the average number of withdraw transaction per user per day has increased from 0.002 to 0.71, and especially the average $ deposit amount per user per day has increased from $291 to $24.2K, this increase is much higher than the increase in deposit, which might mainly due to the fear of not being able to withdraw asset from Tornado Cash.
- As commented above, it’s been only 3 days since the sanction made the news, this might cause a surge in Awareness or just simply from the fear of the app uncertain future. We need more time to observe the sustainability of this usage surge.
Users with the most usage
Again, I will look at Deposit and Withdraw separately.
Deposit
To identify users with the most usage, I will identify outlier addresses in term of number of deposit. To identify outlier addresses, first I need to define outlier lower bound
which is the minimum number of deposit to be in the outlier group. Normally, outlier lower bound
= 3 x IQR
(or 1.5 x IQR
for a loosen threshold when a bigger outlier group is needed). In this case, I will use 3 x IQR
to calculate outlier lower bound
.
> IQR stands for Interquartile Range.
Let’s find out what is the outlier lower bound
of deposit users.
Distribution of number of deposit transaction per user
As you can see in the table on the right:
- Number of deposit transaction per user ranges from 1 - 672.
- And the
outlier lower bound
is 13 [deposit transaction per user].
→ The user group with the most deposit transaction which we will look at are addresses with at least 13 number of deposit transaction.
From now on, I will these users power users and other users as normal users.
Let’s look at these users with more detail below.
The most-use and the least-use deposit power users
- The most-use power user (address with the most deposit transaction - 672) is 0xa0f0287683e820ff4211e67c03cf46a87431f4e1.
- The least-use power user (address with the least deposit transaction - 13) is 0x31d93631b1f1f0510eb15faf01424735a6c2015f.
Let’s compare power users and normal users
- Normal users has 39.5K addresses which account for 95.4% in total deposit addresses. These users have deposited $3.17B in 101.3K number of transaction to Tornado Cash. This group usage frequency is 0.03 transaction per day and average $ amount per transaction per day is $245.
- Power users has 1899 addresses which account for only 4.6% in total deposit addresses. These users have deposited $4.35B (37% higher than normal users) in 59K (41% lower than normal users) number of transaction to Tornado Cash. This group usage frequency is 0.32 (10 times higher than normal) transaction per day and average $ amount per transaction per day is $462 (88% higher than normal).
Distribution of number of withdraw transaction per user
As you can see in the table on the right:
- Number of withdraw transaction per user ranges from 1 - 5036.
- And the
outlier lower bound
is 5 [withdraw transaction per user].
→ The power user group are addresses with at least 5 number of withdraw transaction.
The most-use and the least-use withdraw power users
- The most-use power user (address with the most withdraw transaction - 5036) is 0xbe4d1e137a24af091be80ae58d652279665e3a27.
- The least-use power user (address with the least withdraw transaction - 1) is 0xc93b101ea280c6d54e5adc12c03fde3005db93a6.
Let’s compare power users and normal users
- Normal users has 25.5K addresses which account for 91.5% in total withdraw addresses. These users have withdrawn $1.46B in 34.7K number of transaction from Tornado Cash. This group usage frequency is 0.014 transaction per day and average $ amount per transaction per day is $492.
- Power users has 2370 addresses which account for only 8.5% in total withdraw addresses. These users have withdrawn $1.95B (34% higher than normal users) in 73.4K (2 times higher than normal users) number of transaction to Tornado Cash. This group usage frequency is 0.15 (10 times higher than normal) transaction per day and average $ amount per transaction per day is $496 (similar to normal).
Conclusion
- 3 days since the sanction on August 8, 2022, 255 users still have been depositing to and 216 users still have been withdrawing from Tornado Cash.
- Usage frequency of both Deposit and Withdraw has increased after the sanction. The sanction might be the reason though we need more time to observe the sustainability of the increase.
- User with the most number of deposit transaction (672) is 0xa0f0287683e820ff4211e67c03cf46a87431f4e1.
- User with the most number of withdraw transaction (5036) is 0xbe4d1e137a24af091be80ae58d652279665e3a27.
- Deposit power users use Tornado Cash 10 times more frequent than normal users.
- Withdraw power users also use Tornado Cash 10 times more frequent than normal users.
Thanks for reading!