Now that conventional Bitcoin mixers are essentially obsolete, would it be a good idea to create one that automatically converts from BTC to XMR and back?
I have a few third-party exchanges in mind, non-KYC, to get it going for the first part.
For the second part, however, even if I, say, were to deposit the XMR to some centralized exchange and give out clean BTC to different addresses and at different times, would that be a traceability problem?
A wallet which he owns, that's what those sites do, they have a wallet that has large amount of balance, and everything is calculated precisely to be profitable long terms for the swap/exchange service, you need huge balance though.
It would be more costly to "mix" the BTC before XMR conversion when getting BTC from somebody, it's not cost efficient, swapping is sufficient since the inputs and outputs are not the same, it's a silly idea IMO.
I think you have a wrong concept of what bitcoin mixing is.
You probably think of bitcoin mixing as a process in which someone spends their dirty UTXOs (unspent transaction outputs) and receives fresh "clean" coins.
This is actually kind of what happens. Just not in the way you think.
First, you must understand that the process of mixing your coins is more about separating inputs from outputs and obscuring which inputs are connected to which outputs in a mix.
Another fact that is really important is that mixers only work with the funds that a part of an individual mix. Not with other third party coins.
Don't worry, this will all make sense in a bit.
Think of a "mix" like this (lots of details left out because it would take hours to go into all of them):
We have:
- A coordinator (the mixing provider as an entity) (takes in coins / inputs from multiple participants who want to take part for each "mix").
- You and others as participants
Step 1:
Every participant sends / provides the mixing services with UTXOs that they want to mix. Said UTXOs may hold any combined value. Most of the time, a bigger chunk of that combined value will be returned in form of a change output.
Step 2:
The mixing service creates, signs and broadcasts a transaction to the blockchain using all of the UTXOs that have been provided by the participants and creates multiple sets of equally sized outputs (e.g 0.0001 BTC x 15 and so on). If a user has provided UTXOs with a combined value of let's say 0.5 BTC, the difference between 0.0001 and 0.5 BTC will be returned to him via a change output.
Step 3:
To people looking from the outside, it is now hard / impossible at first glance to distinguish which mixed ouput is funded by which input and which mixed output belongs to which entity.
Important note:
The change outputs I mentioned are not mixed and shall never be spent along with mixed outputs as this would instantly make it possible for people to connect your original input(s) to your mixed output(s).
I left out a lot of crucial information here as I did not feel like writing a literal essay.
Hope I was of a little help.
EDIT:
Forgot to mention that I recently talked to Paris about coin joining services. According to him, big blockchain analysis companies like Chainalysis have previously taken part in mixes of big providers to more easily connect inputs to mixed outputs and even tried to pay off some services.
I am [conceptually] trying to achieve exactly that, skipping all the dilly-dally in-between. The service will [conceptually] take ANY coins and give back coins that are clean and not related to the initial transaction in any way. Basically, what I do with the dirty coins is none of the end user's concern.
For the second part, however, even if I, say, were to deposit the XMR to some centralized exchange and give out clean BTC to different addresses and at different times, would that be a traceability problem?
It would be more costly to "mix" the BTC before XMR conversion when getting BTC from somebody, it's not cost efficient, swapping is sufficient since the inputs and outputs are not the same, it's a silly idea IMO.