I tested out 7 the most popular privacy “tool” for ethereum on my daily case.
Foreword
I don’t know personally anyone who works on the projects highlighted below. I do not have any intention to hurt anyone by showing you the flaws in these projects, and believe that they are doing a great job for privacy in general in the crypto space particularly. Respect to all.
The goal of the experiment
To transfer value confidentially between two guys around the world
Also, I don’t want to be picky and look for a way to send private tokens like Link, BAT or others. The experiment came from real-life uses, considering what people need. Most of the crypto folks are more than happy to receive payments in ETH or USDT.
- Both are based on the ethereum blockchain
- Both are tradable against fiat in the biggest number of countries around the world.
- Combined market cap on Mar 28 ~ 18B USD
- Combined trading volume 24h ~ 52B USD
The story below was written in real-time.
If you found any mistakes or have info that will be useful to add to this article, please DM the author of this publication.
I was lying in a hammock on my balcony on the 24th floor, watching a sunset behind the saigon river, listening to “comptine d’un autre été” and thinking about aztec protocol, tornado cash, and wasabi wallet.
Honestly. Each time I tell someone about Incognito, how to shield crypto and make private transactions I hear this question:
There is the Aztec protocol and tornado cash which allow private transactions already, how are you better than Aztec protocol, how are you better than tornado cash ?
Probably, I heard it more than 100 times. And my arguments never impress the people I was talking with.
I made an assumption that all these people use the products they mention and they probably are more than happy with it.
So I decided to try out all these products and write a story in this blog during the testing period, keeping in mind such questions:
- Why does everyone point in my face those two projects?
- Why are they better and so popular ?
Let’s get started!
Meet Nick ♂ . He works in blockchain space, and keeps his salary and in stable coins (We’ll say it’s USDT). He also invests in crypto. His friend Bob who is also a master in crypto and playing a lot with DEFI asked Nick to borrow 50 USDT to pay back DEFI loans to get his collateral back. Typical story
Nick keeps a lot of other cryptos in his wallet, so the only acceptable way to send 50 USDT without showing his main wallet balance — is using a privacy tool.
If Nick uses Incognito wallet he could send privately 50 USDT within a couple mins and forget about this situation.
Easily, without any unnecessary movements, by lying on a sofa and listening to music:
- Open a mobile wallet
- Shield his USDT (if it’s not shielded yet)
- Send them privately to Bob
But Nick ♂ likes challenges and the flashbacks do not let him sleep peacefully
Tornado cash, Aztec,
So Nick decided to go with those the most popular tools.
Nick is smart☝️, he knows that USDT is an erc20 token based on the ethereum blockchain. So Nick went to google and found on ethhub.io several the most popular tool for private transactions on ethereum.
Here is the list of tools and products on etherhub which promise private transactions for ethereum (onchain, layer 2, and mixers). Here is the whole list:
Zero Knowledge-based
- Aztec Protocol is building an efficient zero-knowledge privacy protocol and decentralised exchange. The protocol is already live on Ethereum’s manner.
- Starkware Industries is using STARK technology to improve scalability and privacy on Ethereum.
- Enigma Protocol are building ‘secret contracts’ which enable computation over encrypted data.
- Zether is a confidential (transaction amounts are hidden) and anonymous (transaction sender and receiver are hidden) payment mechanism on blockchains with the account model like Ethereum.
Mixers
- Tornado is mixer, which uses zk-SNARKS.
- Heiswap uses stealth addresses and linkable ring signatures.
“Oh” — thought Nick🕵️♂️, — “ if I want to be a master I have to try all of them. I’ll send funds to Bob quickly and keep exploring all 6 tools”
Challenge accepted. ZK-based
Keep in mind that Nick is lying on his sofa and going to send 50 USDT to his friend.
Aztec Protocol
Step 1
Getting a wallet (or connect to the web)
Ops… First problem. Aztec supports only DAI but promises to add ETH and BTC (Bob🧞♂️ can’t wait, coz his collaterals will be liquidated, so he is ready to accept DAI too) Money is money.
Let’s try to find a way to transfer 50 DAI privately to Bob🧞♂️
Nick ♂is 3 years in crypto, but still can’t do transactions via API or SDK, unfortunately.
The Aztec protocol looks awesome, but we must conclude that the mission is failed
Thank god we have 5 more options to send $50 (I say $50 because now Bob ♂ready to accept any crypto — “just make it faster please”.
Starkware Industries
Probably this bullet is also missed. Starkware is a technological company and they work on improving privacy set on the chain level.
Vitalik’s name on the landing page gives us hope that such tool will be implemented on the ethereum chain in the future. Meanwhile, we go further.
Enigma Protocol
Enigma also looks like more research-based development, so far Nick ♂ hasn’t found a practical implementation
A lot of documentation, SDK, Enterprise staff. Totally not our case.
Guys, just a quick reminde r, Nick’s ♂ goal is to find a way to send his friend Bob:genie:♂ 50 USD, without linking his main wallet.
Doesn’t matter already USDT, DAI or ETH, — “Send him at least something ”
Zether
Nick found research from Stanford and talks on etherserch. So far he hasn’t found any practical implementation. Also, he left a question on the forum to find out the status of the implementation. Will keep this publication updated.
To be honest it’s quite a pity, but very knowledgeable. Now Nick ♂ knows difference between all projects above and know that there is a lot of work going on around privacy fundamentals.
Challenge accepted. Mixers
Still have some hope that mixers will not ■■■■ up with this . Let’s go!
Tornado
Open the website and it feels better. At least they have an option for USDT. So the initial idea could be executed .
Oops. You can’t send a custom transaction. only, 100 and 1000 USDT. Other options do not exist yet. So In Nick’s case, he has to send 100 USDT instead of 50. No problem. Let’s do it.
We tried to Deposit on Tornado Cash form mobile. The challenge was almost impossible. There are no questions to Tornado, more questions to the third party from which we are supposed to send funds.
Long story short. Nick🕵️♂️ failed with a top-up tornado from mobile.
He took a laptop. With squarelink it was the same issue, so he decided to use the well-known metamask and everything went smoothly. Deposit fee surprised Nick ~ $1.39.
Deposited successfully! we are almost there.
Oops… New surprise. Looks like we have to wait for around 24h to be able to proceed with the transaction for Bob🧞♂️
Yep, Definitely need to wait some time to be allowed to withdraw. FYI withdrawal fee is similar to the deposit ~ $1.39.
Quick sum-up.
At least Tornado Cash works, and we almost proceed with the transaction, and our funds are locked for around 24 hours, hopefully
Nick ♂ feels is ■■■■■■ by Tornado Cash. He is out of money, and Bob still haven’t’ receive anything
This adventure makes Nick🕵️♂️ smarter, now I start understanding the whole power of the phrase he saw in the beginning.
To be honest, now Nick wants to say now — “Bob, ■■■■ off with your ■■■■■■■ 50 USDT. I already spent two hours and not sure how long it takes.”
And this is happening for Etherum based assets, a protocol where thousands of people are involved in the ecosystem development. I am even afraid to think what the situation is like with other protocols.
We took a coffee break with Nick and we’re ready to move forward.
UPDATE:24 hours later.
Nick got a chance to withdraw funds further. Thanks God and thanksTornado Cash
Meanwhile Nick went to etherscan to be sure that Bob can’t trace his main. And he got a small disappointment again
Can we count it as private transaction ?
Conclusion
Amount sent: 100 USDT
Status : successful
Delay : 24 hours
Fee paid : $6.39 (6.39%)
Privacy level: low (Bob still can trace the transaction)
Heiswap
We have one more tool to test out. Nice to e-meet you, Heiswap
Let’s go mobile-first. Okay, it was a bad idea.
Not a problem at all, we do not give up that fast. Let’s go on the web version.
On first sight, Heiswap works in a similar way as Tornado Cash, but it supports only ETH. Nick is not picky, so he found $50 in ETH and deposited on his metamask.
And we faced one more challenge, the min amount is 1 ETH, which is even a bit more than with Tornado Cash .
Nick really hates Bob now, you can’t imagine how much. While he was thinking about where to get 1 ETH he found that Heiswap still works only on the Ropsten ethereum’s test net
■■■■ ■■■■ ■■■■■ So much time wasted. 100 USDT locked on Tornado cash. Bob has received nothing yet
God witness on.
Nick really wanted to do such a transaction with other tools but looks like we are in the situation, that there are no other ways. So he is going to send 50 USDT privately to Bob with Incognito wallet, and he promises to be as objective as possible
Incognito
Let’s assume that Nick never used Incognito wallet, keeps all his funds on Trust wallet and is still lying on his sofa.
Firstly, let’s get the wallet
Step two. Let’s shield 50 USDT
Perfect, USDT is shielded successfully and quickly ! Now we can send it to Bob ♂
Hey , Bob is here . The transaction is received!
The mission is completed!
Bob ♂received his 50 USDT, Nick ♂ made it confidentially, without linking his main wallet with savings.
Conclusion (form the author)
I am super confident now that comparing Incognito with other privacy tools on the blockchain space at this moment is the same as comparing spaceX with starcruiser .
The second one is really cool and flies through galactics and solar systems, but the first one is real and ships goods and people in space and back.
Round One: Incognito!
Related pages