On a 10,000 foot level, the basic differences are:
- Bitcoin Mixers allow you to jump the Transaction Graph, but rely on users trusting third parties to do this well, with no logs
- CoinJoins give a degree of anonymity on a Join by Join basis, where the anonymity set degrades over time, however there is no requirement to trust third parties
- Unless a Bitcoin Mixer co-spends many inputs in 1 Tx, their wallet(s) / cluster(s) are unlikely to be picked up by chain analysis firms
- All CoinJoins are easily identified, to the point where it's even known exactly which implementation has been used
Coin discrimination is real. Exchanges and KYC services are more frequently freezing users funds based on identifying that the user performs CoinJoins, pending further KYC checks and demand the user ceases further CoinJoin activity (Ironically, the exchanges refer to it as coin-mixing).
Using *some* Bitcoin Mixers on the other hand, the coin sent from a mixer and it's lineage, can in some cases be questionable in nature.
I have been thinking about an alternative hybrid approach, which I want to propose here and gather people's thoughts on this:
- This approach involves a centralized Bitcoin Mixer behind the scenes, continually participating in CoinJoins 24/7
- The Bitcoin Mixer would act as a JoinMarket "Market Maker". Charging 0 fees where "Market Takers" pay the Transaction Fees for each CoinJoin
- It would be impossible to track the Bitcoin Mixer's wallets/clusters, as they would be forever moving targets, not only with normal client funds but also continual CoinJoins
The issue that arises from this is that Coins sent out from the Bitcoin Mixer would then look like they had recently participated in a JoinMarket CoinJoin (because they have), as opposed to simply looking like a regular coin which had been sent from another Bitcoin User.