Bitcoin Isn't As Anonymous As You Might Hope
Written by Mike James   
Wednesday, 04 June 2014

Three researchers have put forward a procedure that can associate the pseudonyms used in Bitcoin transactions with the IP address of the user. They even have a way of disabling the Tor network so that you can't hide behind it. In principle, this means that a monitoring agent could put together a complete ledger of transactions that a user engaged in.

One of the attractions of the entire Bitcoin algorithm and implementation is that its distributed architecture makes anonymity fairly easy to achieve. A transaction is identified by a pseudonym that is a hash of the users public key. All transactions are public, anyone can read the Bitcoin block chain, but it is generally assumed that you can't discover which two parties are involved in a transaction only their hashed public key. The identify of the owners of the Bitcoins involved in the transaction can be confirmed by the fact that they have the corresponding private key. 




The attack method shows how to associate the pseudonym used in transactions with the IP address of the user. Even if the user is behind a NAT and so shares an IP address the attack can identify different users and their transactions. But first we have to deal with the use of Tor to further anonymous the transaction. 

If you really want to keep your identity hidden then using the Tor network hides your true IP address from the world by routing all of you data packets though the Tor network. The researchers have invented an interesting attack on the the way the Bitcoin peer to peer P2P network accepts connections. Bitcoin as well as defining the technology to create the non-central administration of the block chain also defined how the P2P network of Bitcoin servers and clients work together and it is this part of the technology that is used in the attack on user identity. 

The Bitcoin P2P has a build in protection against a DOS attack. If a Bitcoin server receives a malformed message it increments a penalty score for the machine that the message came from. When a machines score reaches 100 it is banded from interacting with the Bitcoin P2P for 24 hours. There are even single messages that result in a score of 100 and an instant ban. The researchers suggest that all you have to do to disable Tor from reaching the Bitcoin P2P is to connect via as many Tor servers and possible and get them all banned. As there are only 1008 Tor exit nodes at  the moment this isn't a difficult task. 

With the Tor network disabled for 24 hours all Bitcoin transactions have to make use of assigned IP address and users might be happy to continue working because of the anonymity the use of the pseudonym seems to provide - this is where the second flaw in the Bitcoin P2P network comes into play. 

Each client that connects to the Bitcoin P2P makes eight connections to servers which it stays connected to until it is restarted. The researchers explain how it is possible with a reasonably high probability to discover which set of eight servers a client is connected to and to then associate transactions that originate with those eight servers. By monitoring the P2P network it is eventually possible to work out which transactions and hence pseudonym corresponds to which IP address. If the IP address is shared the method can still distinguish the different users by their different entry point connections. 

Once you have the pseudonym IP address connection then you can put together a ledger of transactions for that particular user. 

The bottom line is that it is quite cheap to find out what a particular IP user has been up to with their Bitcoins. 




Microsoft Reveals Preview C#13 Features

Microsoft has announced details of what will be included in C# 13. The news was announced at Microsoft's recent Build conference. The new version will have enhanced parameters, extension types, and se [ ... ]

New Eclipse Temurin OpenJDK Build Released

The Eclipse Foundation, together with the Adoptium Working Group, have announced the latest release of the Temurin Java SE runtime. This landmark release supports 54 version/platform combinations and  [ ... ]

More News

C book



or email your comment to:


Last Updated ( Thursday, 05 June 2014 )