-
Notifications
You must be signed in to change notification settings - Fork 8
Description
One issue with coinswaps is that the common-input-ownership heuristic is not broken. So an adversary could cluster together all the addresses belonging to one coinswap server, which would obviously be bad (indeed one way of breaking traditional 2013-era mixers is to use walletexplorer.com and just see the money coming in and out).
Many people have thought about combining coinjoin with coinswap for this reason. But a downside is that coinjoins are usually quite obvious on the blockchain, especially in Joinmarket. That would heavily damage the deniability and fungibility property of coinswaps where coinswap transactions can look just like any other bitcoin transaction.
Instead of Joinmarket, Pay-to-EndPoint (https://blockstream.com/2018/08/08/improving-privacy-using-pay-to-endpoint.html) could be a very good fit for coinswap. The transactions are not obviously coinjoins, and there is already a client-server customer-merchant relationship that P2EP requires, and there is already lots of interaction so using P2EP doesn't make that much worse.
If every single coinswap use P2EP then that would also be bad because it would imply that transactions with only one input are definitely not coinswaps. So probably the best way of doing things would be that about 60% of coinswaps use P2EP while the other 40% don't.