Subject: Re: [Bitcoin-development] Outbound connections rotation

From: Jeff Garzik <[email-masked]>
Date: Mon, 18 Aug 2014 13:19:15 -0400

Simply by observing timing from sufficiently geo-graphically and
network-ly dispersed nodes, you may deduce the original broadcaster of
a transaction.  Rotating peers doesn't help.

That said, periodic rotation can be helpful.  Every 2-10 minutes is excessive.

On Mon, Aug 18, 2014 at 12:46 PM, Ivan Pustogarov
<[email-masked]> wrote:
> Hi there,
>
> I'd like to start a discussion on periodic rotation of outbound connections.
> E.g. every 2-10 minutes an outbound connections is dropped and replaced
> by a new one.
>
> Motivation:
> Each bitcoin non-UPnP client behind NAT has 8 outbound connections
> which change only rarely (due to occasional remote side disconnections).
> A subset of these 8 entry nodes uniquely identifies a user.
> An attacker can listen for transactions in Bitcoin network and for each
> transaction record the first 8 peers which forwarded the transaction.
> If two distinct transactions (with unrelated bitcoin addresses)
> come from the same set of 8 peers, the attacker can conclude that they
> originated from the same user. This gives another method (in addition
> to transaction graph analysis) for an attacker to link different BC
> addresses of the same user.
> Also note that by default bitcoin clients advertise their public IP
> addresses. The attacker can link the advertised IP's to corresponding
> 8 entry nodes and use it to deanonymise Bitcoin clients.
>
> If a bitcoin client periodically rotates his set of outbound
> connections, his 8-peers fingerprint is blurred over time.
>
> Corresponding pull request is #4723.
>
> Some details are here: https://www.cryptolux.org/index.php/Bitcoin
>
> --
> Ivan
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Bitcoin-development mailing list
> [email-masked]
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development

-- 
Jeff Garzik
Bitcoin core developer and open source evangelist
BitPay, Inc.      https://bitpay.com/