Private transactions are now available on the Ethereum network, via a workaround method created by beta project Tornado Cash. That means users can now make transactions without revealing the amount of ether involved, or creating a trail of their previous transactions.
In theory, the workaround makes using ether that much closer to using cash in terms of financial privacy, since nobody should be able to see what you are spending your money on.
The Tornado Cash tool claims to let users send ether anonymously using smart contracts and privacy-focused cryptography, known as zero-knowledge proofs. Such proofs have long been central to the foundations of privacy coin Zcash.
The tool works by breaking the on-chain link between where the money is being sent from, and where it’s being sent to. Essentially, Tornado Cash works as a mixing service, a sort of middleman, but it is non-custodial, meaning users keep control over the funds at all points in the transaction.
According to Tornado, “Whenever ETH is withdrawn by the new address, there is no way to link the withdrawal to the deposit, ensuring complete privacy.”
Yet, while it introduces private transactions to the Ethereum network, the whole thing is a bit tricky to get your head around, let alone use.
The problem lies in the withdrawal process. To withdraw money, you have to have a separate address that already has some ether in it. And this is an issue, because if you simply fund that address with coins you already have, then you identify that it is your address. And that defeats the point of using the Tornado Cash service in the first place.
In a bid to answer this, Tornado has created a tool known as a "relayer" to complete the process. This means you just have to create a new Ethereum address—and a zero-knowledge proof—and the relayer will do the rest. But if that's not enough, there are more steps recommended to ensure that the whole process is anonymous. In short, it's not easy to do.
While the potential to use ether as easily as cash will be welcomed by Ethereum users, it's unlikely Tornado will be used by people who aren’t technically minded. Instead, they will have to wait for Ethereum 2.0—whenever that might be.