18

Quick checking around there are exactly two references to an Ether Mixer - this non functioning and here (r/ethereum) 24 days ago.

Unless I am missing something how can I hide the source of an ETH transfer? I have a couple of Genesis block pre sale accounts. I want to send a handful to this new Daemon DAO for the hell of it. What I don't want is anyone to trace and see it all the way back to my mega stack in my pre sale account.

Is there a direct current solution?

Or is there only ETH -> BTC -> Mixing -> ETH and then send it?

Would Shapeshift work in this fashion? ETH to them, goes where ever, they convert it on their account, send me the BTC to my virgin account, send back to buy ETH, receive in virgin ETH account, then send to the Daemon DAO?

I do think I am missing something somewhere.

P.S. I don't have any BTC and don't have money to buy it just for this, I do have lots of ETH.

1
  • I recently proposed a protocol for decentralized ether mixer. But it has some non-trivial assumptions. Commented Sep 8, 2016 at 8:23

5 Answers 5

18

Theoretically you could make an Ethereum mixer but I don't think it would be productive. This stems from 2 major flaws with mixers.

  1. Mixers aren't truly anonymous it obfuscates data but with enough computing power it can be decoded.
  2. You're spending a lot of Ethereum on transactions when you don't need to. This is true with Bitcoin as well where mixers end up costing 2%-3%.

In my opion the best way to 'clean' ethereum or bitcoin if you want to is to use a site like ShapeShift and change your ethereum into Monero (a crypto specializing in anonymity). Move that Monero to a second wallet and then transfer it back out (possibly through a second website to avoid timing attacks). The costs of these transactions are minimal compared to the costs of mixing.

Eth #1 -> Shapeshift -> Monero #1 -> Monero #2 -> Shapeshift -> Eth #2

The transfer between Monereo #1 and #2 breaks the chain creating anonymity.

To elaborate on the timing attack bit. This would where you are 'cleaning' coin and it becomes obvious because the amount coming in is distinctly similar to an amount leaving. If you see someone bring in 37 ether and 5 minutes later the same amount goes back out to another address you might suspect what happened. To avoid this just stagger payments out over time and split it up between addresses for separate transfers.

2
  • 2
    This definitely does seem to be the best course of action. Quickest, easiest, most cost effective. I might add to it the following: 1. DASH coin could be used as well with its built in Darksend mixing 2. The entire operation run off of Tails tails.boum.org or Whonix whonix.org Commented Apr 7, 2016 at 12:32
  • Are you sure Monero #1 -> Monero #2 is required? What actually happens behind the szenes of ShapeShift is that they already have it in their Monero wallet so Monero#1 would be ShapeShift's Monero and Monero#2 would be yours. This of course would mean we trust Shapeshift. Yet, please tell me if I'm wrong here, even if we don't trust Shapeshift, they don't see the address it's send back from, correct? They only would know the send and receive payment id's, which tell nothing about source of Monero#2 -> Shapeshift.
    – user31869
    Commented Feb 9, 2018 at 6:12
15

Philip Kirkbride's answer is misinterpreting cryptographers' use of obfuscation, and is also wrong. Mixers cannot be 'decoded' with any feasible amount of computing power. 'Decoding' the input-output address pairs in a ring signature mix would require you to solve ECDLP which would also break ECDSA -- meaning all transaction signatures in Ethereum, Bitcoin, Monero and anything else using elliptic curve cryptography could be forged.

Obfuscation doesn't simply mean that the input-output address mapping is tweaked a bit such that you can't simply read it off the blockchain -- it is obfuscated just as much your private key is 'obfuscated' to form your public key.

Ring signature mixes such as the one that Vitalik has made in test.py will provide you with anonymity as long as there are many transactions of the same value going through them. The reasons given above are not the reasons the ring signature mixes are not being used -- they aren't being used because EC arithmetic is needed and it's very expensive to implement at present, and either a lot of gas needs to be spent (but nowhere need 2% of the value of your transaction) or changes to the EVM must be made.

5

I think ring signature mixer will do exactly the job in Serenity, see Serenity PoC2 :

Ring signature mixer – part of the test.py script now includes creating an instance of a ring signature verification contract which is designed as a mixer: five users send their public keys in alongside a deposit of 0.1 ETH, and then withdraw the 0.1 ETH specifying the address with a linkable ring signature, simultaneously guaranteeing that (i) everyone who deposited 0.1 ETH will be able to withdraw 0.1 ETH exactly once, and (ii) it’s impossible to tell which withdrawal corresponds to which deposit. This is implemented in a way that is compliant with the gas checker, providing the key advantage that the transaction withdrawing the 0.1 ETH does not need to be sent from an additional account that pays gas (something which a ring signature implementation on top of the current ethereum would need to do, and which causes a potential privacy leak at the time that you transfer the ETH to that account to pay for the gas); instead, the withdrawal transaction can simply be sent in by itself, and the gas checker algorithm can verify that the signature is correct and that the mixer will pay the miner a fee if the withdrawal transaction gets included into a block.

will it be the guarantee of anonymity, I'd like to know as well, my question stands unanswered

1

tornado.cash is a mixer that has received a fair amount of attention. As the site states, it has been audited, but is still considered experimental. I'm not knowledgeable enough to comment on what it takes to deanonymize transactions from an anonymity pool, though bear in mind an advantage of Tornado is that it has a very specific menu of amounts that can be put into it, meaning that there's a greater level of anonymity among the participants.

0

ETH uses an accounts model instead of the UTX model, so that is why mixers do not exist. ETH is not good for privacy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.