<p>Dan Kaminsky's deanonymization works by having a lot of probes in bitcoin network that collect data about how transaction propagate and than trying to localize it's source.</p>

<p>When packet travels in the network (Internet), it has to have source and destination IP addresses in it's header. Therefore when your bitcoin client sends transaction it has to wrap it into IP packet with your source address and destination address of the connected peer.</p>

<p>For one way communication it's theoretically possible to have random IP source address in a broadcasted transaction, but it would be still possible to deanonymize by knowing location of closest peers.</p>

<p>It would be easy to avoid deanonymization by using any kind of IP proxy, see <a href="https://bitcoin.stackexchange.com/questions/771/what-is-blitcoin">this question</a>.</p>

<p>P.S. The answer has some speculations because Dan Kaminsky didn't release the software yet.</p>

CC BY-SA 3.0
2011-10-14T01:48:34.453Z
2011-10-14T09:12:04.977Z
2017-04-13T12:47:33.283Z
Serith
<p>You can block incomming connections and that would make your client "invisible" on the Bitcoin network however when you would also never receive any transactions related to your wallet.</p>

<p>Even then when you send a transaction you would make your client visible as it would have to transmit that transaction to at least one peer.</p>

<p>There are a couple of work arounds.
1) Use a web based wallet.  In that instance the IP address of transactions is the web based wallet provider.</p>

<p>2) Use a VPN proxy.  Maybe companies provide VPN encrypted proxies.  Anyone tracing your transaction would only know it originated at the VPN proxy.  They can't see beyond that back to your original transmission.  You will need to trust whoever is providing the proxy to not keep logs or share data.</p>

<p>3) (future solution) Someday a company may provide a bitcoin anonymizing service. In essence a low cost VPN proxy for bitcoin transactions.  You would receive blockchain data from the proxy and the proxy would submit transactions to the rest of network.  Obviously in that instance you would need to trust the proxy.  This would work similar to #2 but provide two key advantages.  The cost should be lower since bitcoin doesn't use much bandwidth and since the proxy would be aggregating all transactions from all anonymous clients it would provide some safety in numbers so that even if someone knew you used this service they wouldn't be able to determine which (if any) transactions are yours.</p>

CC BY-SA 3.0
2011-10-17T16:49:56.797Z
2011-10-17T16:49:56.797Z
DeathAndTaxes
<p>I know that it is possible to find out the IP address of a transaction by connecting the client to every node in the network. <a href="http://www.slideshare.net/dakami/black-ops-of-tcpip-2011-black-hat-usa-2011">Dan Kaminsky wrote</a>: </p>

<blockquote>
  <p>When you are connected to every node, the first node to inform
  you of a transaction is the source of it.</p>
</blockquote>

<p>So my question is: is it possible to hide my IP address by blocking incoming connections in the client? Or are there other ways to find out the IP address of a transaction?</p>

CC BY-SA 3.0
2014-03-04T06:44:55.387Z
Couldn't you just route your traffic over Tor?
Pacerier
<transactions><client><privacy><ip-address>
Can I hide my IP address by blocking incoming connections in the client?
nmat
# Can I hide my IP address by blocking incoming connections in the client?

(Asked by: username_0 on 2011-10-13)

I know that it is possible to find out the IP address of a transaction by connecting the client to every node in the network. [Dan Kaminsky wrote](http://www.slideshare.net/dakami/black-ops-of-tcpip-2011-black-hat-usa-2011):

> When you are connected to every node, the first node to inform
> you of a transaction is the source of it.

So my question is: is it possible to hide my IP address by blocking incoming connections in the client? Or are there other ways to find out the IP address of a transaction?

**Tags:** transactions, client, privacy, ip-address

> **Comments:**
> **username_1**: Couldn't you just route your traffic over Tor?  

---

## 2 answers

### Answer by username_2 on 2011-10-14. Score: 6

Dan Kaminsky's deanonymization works by having a lot of probes in bitcoin network that collect data about how transaction propagate and than trying to localize it's source.

When packet travels in the network (Internet), it has to have source and destination IP addresses in it's header. Therefore when your bitcoin client sends transaction it has to wrap it into IP packet with your source address and destination address of the connected peer.

For one way communication it's theoretically possible to have random IP source address in a broadcasted transaction, but it would be still possible to deanonymize by knowing location of closest peers.

It would be easy to avoid deanonymization by using any kind of IP proxy, see [this question](https://bitcoin.stackexchange.com/questions/771/what-is-blitcoin).

P.S. The answer has some speculations because Dan Kaminsky didn't release the software yet.


---

### Answer by username_3 on 2011-10-17. Score: 0

You can block incomming connections and that would make your client "invisible" on the Bitcoin network however when you would also never receive any transactions related to your wallet.

Even then when you send a transaction you would make your client visible as it would have to transmit that transaction to at least one peer.

There are a couple of work arounds.
1) Use a web based wallet. In that instance the IP address of transactions is the web based wallet provider.

2) Use a VPN proxy. Maybe companies provide VPN encrypted proxies. Anyone tracing your transaction would only know it originated at the VPN proxy. They can't see beyond that back to your original transmission. You will need to trust whoever is providing the proxy to not keep logs or share data.

3) (future solution) Someday a company may provide a bitcoin anonymizing service. In essence a low cost VPN proxy for bitcoin transactions. You would receive blockchain data from the proxy and the proxy would submit transactions to the rest of network. Obviously in that instance you would need to trust the proxy. This would work similar to #2 but provide two key advantages. The cost should be lower since bitcoin doesn't use much bandwidth and since the proxy would be aggregating all transactions from all anonymous clients it would provide some safety in numbers so that even if someone knew you used this service they wouldn't be able to determine which (if any) transactions are yours.


---

