It's pretty simple. Each of these steps is done on a VM in my QubesOS install. But you could do it on any Linux box too. I'm sure I'm not the only person doing this. It's an obvious enough idea. But you should too if you're technical.
- Download Wasabi Wallet
- Set the coordinator. I use https://btcpay.kruw.io/plugins/wabisabi-coordinator/
- Mix my coins.
- Install LND (you could probably use CLN for this too).
- Install Tor and/or a VPN.
- Configure LND to use tor in
~/.lnd/lnd.conf
- Deposit a mixed UTXO from Wasabi into LND with
lncli newaddress
. You can pick a specific UTXO in Wasabi by typing Crtl-C-D. Picking a specific UTXO is better for privacy, and more effficient. - Find a LN node to open a channel too. There's a few strategies here. One interesting one is to pick new Lightning nodes, eg from https://1ml.com/node?order=newest as the new nodes are most likely to be small and eventually shutdown again.
- Open a private channel to that new node, using all the funds, with
lncli openchannel --private --fundmax
, and send all the funds on it to a different LN node/LN wallet. I like Phoenix myself as it's easy to run it on my phone without needing a node. Cashu wallets are good too. - Close the channel with
lncli closechannel --delivery_addr <addr>
That option sends all the funds remaining in the channel to the address of your choosing. Depending on how much is left I either send it back to my Wasabi wallet. Or I donate it to a charity accepting on-chain donations. The reserve amount in a LN channel is like 1%, and sending 1% to charity is fine by me! My church suggests donating 10% after all. - Delete everything in
~/.lnd
other thanlnd.conf
, and go back to step #7. This is important, as it resets the LN node ID for the next new channel so you can't correlate each channel being created.
Why do I do this? Because I'm getting the privacy benefits of Coinjoin. Plus I'm getting the privacy benefits of Lightning. Between the two, I've completely unlinked the source of my funds, and where they go, using both coinjoin to add privacy, and the inherent privacy of Lightning payments through obscure anon nodes.
This does cost a bit. But I'm happy to pay random pleb nodes channel fees to do all this. And I'm sure some of them benefit from getting free incoming capacity. The only issue is I want more people to do this too to get a bigger k-anonymity set of people doing this. Thus I'm writing this post, and boosting it too.
Happy stacking!