Wasabi Change Coins. Problem Solved.
One of the unfortunate side effects of using Wasabi CoinJoins is that they create smaller "change" output coins which are not anonymised. The more you CoinJoin, the more the problem is exacerbated and you end up with lots and lots of small change outputs.
Not enough funds enqueued.
Wasabi documentation refers to these change output coins it
blesses you with as Toxic Waste
. It creates an awful lot
of this "waste" and it's very difficult or impossible to
recycle it. Wasabi Wallet gets itself into a pickle where it then
refuses to CoinJoin many of these outputs based on
genuine privacy concerns.
- Small change outputs can be too small to practically spend on their own in one go, yet when combined can add up to a very significant amount of money.
- If you co-spend any of these outputs at the same time, you destroy your privacy as Common-Input-Ownership Heuristic analysis will let any outside observer know that you in-fact own those outputs.
Just the mere attempt of trying your best to ram these outputs through yet another Wasabi CoinJoin raises the possibility of ruining your privacy, whether you successfully manage to CoinJoin with them or not.
However, a well-resourced attacker can perform subset sum analysis to find out which of the many inputs fund the change output. Further, during the input registration phase, the same Tor identity Alice provides input proofs for all the registered coins to the coordinator. Thus the coordinator knows that you control all these coins, and although zkSNACKs claims to not keep any logs, it is a reasonable assumption that everyone knows what the coordinator knows.
For these reasons it is not recommended that you consolidate change coins. That said, consolidating your change in a CoinJoin is strictly more private and efficient than consolidating in a regular sending transaction.
Official Wasabi Documentation Source
Max Hillebrand, who appears to be closely connected to Wasabi Wallet gave an interesting suggestion in a recent Tweet, which was to simply give them away.
I guess there's nothing wrong with that. It's only money at the end of the day.
However, let's say you're feeling ultra generous and you painstakingly iterate through this mountain of "toxic waste", coin-by-coin, sending each coin in it's entirety to your favourite open source project, what are they going to do with these little coins? --- They wouldn't think twice about co-spending them together in 1 transaction, on your behalf, which was exactly what you were trying to avoid in the first place.
There is a Solution - with Anonymixer
Anonymixer generates 20 Unique Deposit Addresses for each Trade / mix.
You can individually send each of your "Toxic Waste" Change Coins in their entirety (i.e. Pressing the Max button) to Anonymixer in Individual Transactions, to different deposit addresses, not co-spending any of the coins and thus keeping your privacy intact.
Anonymixer will then send you 1 single shiny consolidated output back.
This shiny new Coin is sent from somewhere else on the blockchain, from another Wallet and has nothing to do with any of the coins you sent to the mixer and never will have anything to do with them, no matter how much an outside observer attempts to identify clusters (or Wallets) with common input ownership analysis or potential change addresses.
You have severed the Transaction Graph, which in our opinion is perhaps the most effective mechanism of keeping anonymity in Bitcoin.
You can choose to receive this Individual coin either instantaneously, or you could schedule for it to be sent at a later time.
So, how would this look on the Blockchain?
- Up to 20, individual transactions being sent with no change. Outside observers consider these transactions to be "Internal transfers"
- Later, 1 transaction is broadcast, with a larger amount
Sending to Anonymixer, from Wasbi Wallet, 20 individual transactions
Tx # | Your Wasabi Address | Privacy | Sends Amount | To Anonymixer Address |
---|---|---|---|---|
1 | bc1qyc8...cfxknwq | 0.007652 | 3BMwSRG...PhCRhJYy | |
2 | bc1qmte...fc784ex | 0.00274 | 3DnWtr1...JuJ63KQ | |
3 | bc1qxgx...f7j8gq2 | 0.01483 | 3CBZXCa...huaF7jk | |
4 | bc1qs60...ds4m0ew | 0.010139 | 3LabVHs...3knu5R4 | |
5 | bc1q2ut...0su5e2y | 0.01088722 | 3Jx9FFA...gDFLFha | |
6 | bc1q7mc...lkktala | 0.00985826 | 3PSoQcL...iFnftvA | |
7 | bc1q7vw...799dc8m | 0.014381 | 3HuE2RT...DqSF7ki | |
8 | bc1qg0z...wvv6vek | 0.01482 | 3DgFLjM...z2yFaKD | |
9 | bc1q0aw...qmrgg09 | 0.0109852 | 34A1aux...awze8am | |
10 | bc1qh04...vx3d394 | 0.0100518 | 3Pdg4Dh...sSsYvTu | |
11 | bc1qawq...tzdnpf7 | 0.010918 | 3QiNFJG...1Y9WpfB | |
12 | bc1q8jq...ryezu8t | 0.01002 | 3HhkUVE...Ui17tti | |
13 | bc1qsdu...j8htah9 | 0.01228 | 3M8VucC...QB36Heh | |
14 | bc1qjdx...dwsmkkm | 0.002951 | 3CRhU46...AmUMYLU | |
15 | bc1q6sh...lzd687f | 0.012849 | 3BrFPty...U5AHoa4 | |
16 | bc1qhm3...suehlrs | 0.011582 | 35apsmR...PvTefJk | |
17 | bc1qtjf...stc3s0e | 0.012828 | 3DFzpN7...FjJvQpG | |
18 | bc1qy49...kmhpsyg | 0.01262 | 3AxDan6...dFdae9WP | |
19 | bc1qcr7...guwq0ln | 0.01002198 | 39g5UXN...K*****9dd6 | |
20 | bc1qgyg...g6mqnzp | 0.00005826 | 38XBt8m...FAprpUo |
Anonymixer sending 1 coin back (entirely disconnected from the previous 20)
Tx # | Anonymixer Address | Sends Amount | To Your Wasabi Address |
---|---|---|---|
1 | 3Bd4EAP...A4p9DD5 | 0.2 | bc1qu8u...l05dhrl |
Every Satoshi is Sacred
By default, Wasabi Wallet considers coins that have a value of around 5,000 Satoshis or less to be "Dust".
Wasabi Wallet removes these "Dust" coins from your Wallet so there's no way you can spend them.
20 x 5,000 Satoshis is 0.001 BTC, or around $56.
If you would like to reclaim these Satoshis and consolidate them with Anonymixer, set the 'DustThreshold' property in your Wasabi Wallet Config.json file to "0" and it will hopefully then show these coins to you.