Here we cover how to configure the Bitcoin client to send traffic via the Tor network rather than directly out to the Internet over your own connection, which can help reduce your Bitcoin transactions / addresses from being associated with your IP address.
Download and Configure Tor Browser
We’ll be using the Tor browser as it’s very easy to get going, first install the Tor browser.
By default the Tor browser runs a SOCKS proxy host and listens on 127.0.0.1:9150, you can modify this or confirm this in the Tor browser by selecting Tools > Options > Advanced > Network > Settings.
You can perform a ‘netstat’ to confirm that the Tor browser is indeed listening on this port.
Configure Bitcoin Client
Once the Tor browser has been installed and you have confirmed the port that the SOCKS proxy is listening on, you can specify this into the Bitcoin client. In this example we’re using the Bitcoin Qt client.
Select Settings > Options > Network tab and tick to connect through SOCKS proxy, specifying localhost on the port that was specified in the Tor browser, in this case with the defaults we are using 127.0.0.1:9150
You can perform another netstat and you should see the Bitcoin client with an established connection to the proxy at 127.0.0.1:9150 which is the Tor browser. The traffic for the Bitcoin client should now be traversing the Tor network.
Note: It is not recommended that you use the Tor network for transferring wallets (unless well encrypted) as there are various attacks against this that can result in you losing your wallet, such as man in the middle exit nodes. In this example we are simply using the Tor network to route Bitcoin client traffic over the Tor network in order to perform simple tasks such as transactions and downloading the block chain, as this can help reduce your susceptibility to de-anonymization attacks.
This is a first step to increasing your security from nothing and is better than simply running the client over your ISP connection. While this is not a perfect silver bullet solution, it can help prevent your IP address being connected with your Bitcoin address / transactions. For further information on some practical attacks outlining how this can be done see the Deanonymization techniques for Tor and Bitcoin presentation from Stanford University.
By simply configuring the Bitcoin client to make use of the proxy that the Tor browser offers by default, we can easily route Bitcoin client traffic such as transactions over the Tor network, helping to reduce de-anonymization attacks. As with much in life, this is of course not a 100% foolproof solution as Tor has its own flaws and is not perfect, however this does offer more protection when compared to simply running the Bitcoin client directly over your ISP connection.