Silk Road forums

Discussion => Security => Topic started by: eJ3k1 on July 30, 2012, 12:44 pm

Title: Is the standard BitCoin client anonymous?
Post by: eJ3k1 on July 30, 2012, 12:44 pm
I was told that a peer-to-peer network is not anonymous. If you download a file using BitTorrent, other users will see your IP address.

If I send 100 BitCoins to my drug dealer, using the standard BitCoin client installed on my PC, will the BitCoin network be able to see that the information about that transaction originally came from my IP address?
Title: Re: Is the standard BitCoin client anonymous?
Post by: pine on July 30, 2012, 02:07 pm
Hello.

That's a good question. It's a technical area and more people assume it is anonymous than should.

The straight answer is that there are no IP addresses stored on the blockchain. But not so fast!

The more complicated answer is that a node on the bitcoin network such as your client doesn't know if another node is passing on a transaction from a different node, or whether that node created the transaction itself.

However, it is not that simple either. Example: if you signed up with mtGox, giving your real identity etc, and transferred bitcoin to your wallet address, and then used that same wallet address thereafter, then you have lost your anonymity. An investigator can just look and see that MtGox sent you bitcoins, obtain your identity from them, and then examine the transactions you made thereafter. If one of them is linked to illegal activity, then that's going to be problem for you.

That is why it is mandatory to always use One Time Only B$ addresses. Never use an address >1 time.

Finally, some deanonymizing attack is always a possibility, so just route your B$ traffic through a proxy to be on the safe side. It is possible to torify a bitcoin client, but I'm not sure if it can depend on what client you have or what OS.

Anyway, I obviously encourage more people to jump in and point out any flaws in my statements or better yet suggest improvements in simplicity/security for securing genuine anonymity with bitcoin.
Title: Re: Is the standard BitCoin client anonymous?
Post by: masterblaster on July 30, 2012, 07:01 pm
No need to use standard client and its really hard to make it work over tor (from what ive read). If you want to be anon then dont ever access anything bitcoin related through the clearnet. Use services like bitinstant, bitfog, coinapult etc.....
Title: Re: Is the standard BitCoin client anonymous?
Post by: Boris Badenov on July 30, 2012, 07:50 pm
No need to use standard client and its really hard to make it work over tor (from what ive read). If you want to be anon then dont ever access anything bitcoin related through the clearnet. Use services like bitinstant, bitfog, coinapult etc.....
Bitcoin client works well with tor, it's just slow. And you have to configure it correctly.

BB
Title: Re: Is the standard BitCoin client anonymous?
Post by: frank-butcher24 on July 30, 2012, 08:02 pm
I found it easy to torify the bitcoin client, and for me it isn't particularly slow.

So, if people are saying it's difficult and slow (and it was neither for me) that has me wondering if I did it right!

In Bitcoin settings you tell it to connect through the Socks4 proxy (note the Proxy IP and Port), and in the TOR browser bundle's Options > Network > Connection > Settings button you make sure you're using Socks4, with the same settings.

Seems to work fine for me, and I'm pretty sure I have it right because if I accidentally run Bitcoin without also having the TOR broswer bundle running, Bitcoin just doesn't connect to the network at all. Until I run the bundle, and then it connects and starts downloading the blockchain.

Title: Re: Is the standard BitCoin client anonymous?
Post by: Boris Badenov on July 30, 2012, 08:07 pm
In Bitcoin settings you tell it to connect through the Socks4 proxy (note the Proxy IP and Port), and in the TOR browser bundle's Options > Network > Connection > Settings button you make sure you're using Socks4, with the same settings.
That's right, and the port I use for bitcoin is 9050, whereas tor uses 9051.
Seems to work fine for me, and I'm pretty sure I have it right because if I accidentally run Bitcoin without also having the TOR broswer bundle running, Bitcoin just doesn't connect to the network at all. Until I run the bundle, and then it connects and starts downloading the blockchain.
Exactly, if you stop tor using the stop tor button, the bitcoin client instantly loses all connections.

BB
Title: Re: Is the standard BitCoin client anonymous?
Post by: frank-butcher24 on July 30, 2012, 08:21 pm
Thanks, so in conclusion it isn't hard at all! A few clicks and it's done.

Put it on an encrypted USB stick along with its data directory for the blockchain and the TOR browser bundle, and you have a totally portable setup.
Title: Re: Is the standard BitCoin client anonymous?
Post by: Boris Badenov on July 30, 2012, 08:31 pm
Yeah, the only thing I'm not sure about is if you can really change the directory where is stored theh wallet.dat and especially the blockchain data. Because I don't know for sure if the bitcoin client can be modified so that it will read both sets of data. I haven't looked into it I confess, perhaps there's a way to modify one of the config files or something so that you can effectively put the data anywhere and the client will work smoothly no matter what.

BB
Title: Re: Is the standard BitCoin client anonymous?
Post by: frank-butcher24 on July 30, 2012, 08:46 pm
Yeah, nice one Shannon.

The way I did it was to put Bitcoin into a folder in my encrypted stick, then in the root of the encrypted stick create a shortcut pointing to the Bitcoin program. Edit the shortcut properties to add the phrase -datadir=[path-to-data folder] onto the end of the path.

Example. Original shortcut...

T:\Bitcoin\bitcoin.exe

...becomes...

T:\Bitcoin\bitcoin.exe -datadir=T:\Bitcoin\MyDataFolder

Where T: is the drive letter of your encrypted USB stick (if you're using Truecrypt, just be sure to mount it as T: every time you use it)
Title: Re: Is the standard BitCoin client anonymous?
Post by: daRwin on July 30, 2012, 10:25 pm
I didn't realise you could run the client with the -datadir option. I managed to do this in a rather more cumbersome way involving symlinks on MacOs.

Basically, you move your bitcoin application data directory to a new location (i.e. an encrypted drive) leave a symlink to the new location so when you run the program, the client is redirected to the encrypted drive instead.

Before you move the application data files, you need to ensure that you open the bitcoin client first, go into preferences, and ensure that 'detatch database on exit' is checked, then close the client. That way, you can move the files safely.

Once you have moved the files, to create the symlink on MacOs you need to open up /Users/*your login*/Library/Application Support/ and transfer the Bitcoin folder to the new location. Then open up terminal, and enter the following command (obviously, replace the appropriate parts depending on your directory structures)

Code: [Select]
ln -s "/location/of/new/files/Bitcoin" "/Users/*username*/Library/Application Support/Bitcoin"]
I can confirm that this works perfectly on MacOs.

You do need to ensure that you mount the drive before you try to open bitcoin, or else it will give you errors. Obviously.
Or you can just toss the bitcoin program files themselves onto the drive also, but there is no personal information stored in them.