Proxy that shit
In this edition of proxy that shit, we’ll quickly go over how to configure your local electrum client to connect over the tor network, thereby anonymizing your bitcoin transaction history.
This article assumes you know all about bitcoin and understand that, as a public ledger, all transactions that happen over the bitcoin network are publicly viewable by anyone.
This means that an adversary can easily “follow the money” and draw conclusions based on transaction history via a site like blockchain.info, where a history of all bitcoin transactions are stored and indexed for easy searching.
Worse, your client can betray your IP address, meaning that if you use your wallet at home, those ‘anonymous’ transactions are suddenly telling a very telling tale.
Fortunately, the process is quite simple. If you haven’t already, you’ll need to:
Before you go ahead and launch the Tor Browser, you should turn off your wifi (or ethernet, basically take your computer offline) and create an electrum wallet. Take special care to copy down the seed and store it safely.
Once Electrum has created your wallet, navigate to “Tools > Network” and change the following settings:
Proxy: set this to SOCKS5
IP: set this to 127.0.0.1
Port: set this to 9150
This will send ensure that your Electrum wallet only ever connects over Tor, giving you a good chance of preserving full anonymity. You can shut down Electrum now.
Once that’s done, you can simply launch a Tor Browser, this opens a connection to the Tor network on your computer that you can send other applications through, not just your browser.
Once it’s running, launch Electrum again. It will download a ‘light’ blockchain (ie: just the headers) and scan for mentions of your addresses without downloading the whole blockchain. This is what’s known as a “Thin Client” and is ideal for anyone looking for an easy way to use Bitcoin. Check out the documentation to learn more about Electrums many awesome features like support for multi-signature transactions and the creation of a truly ‘cold wallet’ for maximum security.
For an added layer, in the same network tab that we used above, you can tell Electrum to connect to an onion node, an electrum server running only on the Tor network! Just look for an address that ends in .onion and set it as the default server.
That’s all for this week.
For further reading and troubleshooting, check out this thread on Reddit.
Advanced users wanting to run an Electrum server over Tor at a hidden service can also consult this page for more guides.
Thanks for reading, and let us know how it goes in the comments!