There is a common misconception that transactions on Bitcoin can always be traced, and that you have to use a coin designed specifically for privacy (Monero) in order to ensure your permanent spending history isn't visible to anyone with a copy of the blockchain. Although Monero is excellent at accomplishing its goal of privacy by default by combining RingCT, Ring Signatures, and Stealth Addresses, it sacrifices the underlying scalability of the blockchain because of the much larger data size of the transactions, and inability to prune your node.
Tor and BIP157/BIP158
When you use any other light wallet, the node that you connect to in order to find your wallet's balance is able to link all of your previously used addresses and future unused addresses to each other, and logs your IP address to those funds. NOT COOL! Wasabi wallet keeps your IP private with Tor, and your xpub private by downloading filters of blocks which you can locally to check for your addresses. This is an enormous privacy gain over other bitcoin wallets even if you don't use optional coinjoin for blockchain level obfuscation.
So how does Wasabi create anonymity sets on Bitcoin equal to or greater than Monero? The lead Wasabi dev has written up a detailed mathematical explanation of theZerolink anonymity protocol on github,it's a very comprehensive reference. You don't have to study the whole math assignment - there isan FAQ.Here's a distilled summary:
Coinjoin is a mechanism by which multiple participants combine their coins into one large transaction. An observer cannot determine which output belongs to which input, and neither can the participants themselves. This makes it difficult for outside parties to trace where a particular coin originated from and where it was sent to The participants do not need to trust each other or any third party. Wasabi merely coordinates the process of combining the inputs of the participants into one single transaction, but the wallet can neither steal your coins, nor figure out which outputs belong to which inputs.
- Download Wasabi fromhttps://wasabiwallet.io.There is a github link if you want to compile from source, and you can verify PGP signatures
- Choose a password for your wallet.DO NOT forget your password, there is no way to reset it! You need it every time you send a transaction and you need it to recover your funds (along with your 12 word recovery seed.)
- Write down your 12 word recovery phrase on a sheet of paper.You need this (along with your password) to restore your wallet in case the device your wallet is on stops functioning. Do not lose it or store it electronically.
- Test your password.Make sure it works before depositing funds.
- Sync and configure settings.Your wallet is syncing block filters over Tor. This may take ~15 minutes the first time you install Wasabi. While we wait, let's toggle precision fees on in settings:
- Fund your wallet.Unlike most wallets, Wasabi requires you to label your incoming transactions when creating an address so you can remember which of your UTXOs are private and which are not, making it easier to avoid combining the two.
Coinjoin!Select enough outputs so that you meet the minimum coinjoin amount, type in your password, and queue your UTXOs for coinjoin. Wasabi coinjoins amounts that are ~.1 BTC denominations. Be very patient and make sure your computer does not turn off or go to sleep while you are queued.
The green check mark means that transaction is confirmed. The green shield means that output is mixed, and you can hover over it to see the anonymity set.
You pay the coordinator a small fee, and you pay a mining fee for your transaction, which you can see subtracted in the history tab. If your unmixed change is less than .7% of the coinjoin total, you will not receive any back.
- Block explorer.Here is a link to the transaction I mixed my coin in:https://blockstream.info/tx/652b6599a6a3...ee9f985cc9