Bitcoin Privacy Guide

Bitcoin is a verifiable public ledger. You can follow the history of any coins spent in a transaction all the way back to when a miner initially created those coins from a block. Blockchain transactions can often be analyzed to link addresses used by the same person together. Coinjoin transactions can be used to defeat these analyzation tactics and protect financial privacy.

Network level privacy

Regardless of whether you are using Bitcoin or some other Internet connected application, your IP address is revealed when communicating over the network. An IP address will indicate your physical location and potentially other personal information collected by your provider.

Tor is a network that encrypts your traffic to mask your IP address. Connections over Tor are wrapped with 3 layers (like an onion) and passed through a network of relays. Each relay only can see one layer at a time, so no one can view the origin or destination of the traffic. Click here to donate to the Tor project.

Wasabi Wallet uses Tor by default for every operation. Each transaction broadcasted, block downloaded, coinjoin input registered, and coinjoin output registered uses a brand new IP address, so your actions can't be linked together using network analyzation.

Synchronization privacy

In order to know how much money is in your wallet, you need to know the current state of the Bitcoin blockchain. This requires either running a full node to check yourself (like BTCPay Server) or asking someone else's full node to check for you. Many light wallets share your entire transaction history with the server of a provider to look up your balance. This can leak even more information about your transactions to the server than what is already publicly visible on the blockchain.

Wasabi Wallet synchronizes in a lightweight way without your sharing addresses with anyone. BIP157 and BIP158 describe how compact block filters are used to reduce the amount of data required to synchronize by ~99%. Your client scans these filters for transactions that belong to you and downloads the exact blocks that contain them.

Blockchain privacy

A coinjoin transaction combines inputs from multiple users into the same transaction. Outputs are created with identical values to maximize privacy. Large coinjoin transactions with many inputs provide a greater amount privacy compared to small coinjoin transactions with few inputs.

You can read more about the WabiSabi coinjoin protocol from the mailing list post and the research paper.