Fingerprinting nodes via addr requests

We initially considered ipv4<>ipv4 pairs, but decided not to include in this post, as it was long enough already :slight_smile:

I quickly run the numbers and found 801 IPv4 nodes that gave the exact same replies as some other nodes. They didn’t all give the same reply, but instead, there are ~30 clusters of nodes that gave identical replies within each group.

However, all of these ipv4 nodes gave ipv4-only responses, so they were already filtered:


Agreed, from a very quick first glance, it seemed to me that randomizing by a few hours wouldn’t do much, while a few days was more effective.

Ah yes, right. I think it should be possible to “remove” timestamps from GETADDR responses (i.e.: setting them all to zero, or to the current time), but keeping them in the gossip relay. Although, this isn’t too different from your suggestion of setting nTime to a fixed time in the past.

Although… the IRC meeting specifically talks about “Removing timestamps from ADDR messages”, so I wonder if there’s a way of maintaining gossip relay even without timestamps…

Yes, I think it’s a combination of nTimes getting refreshed, plus the network caches getting created at slightly different times.

1 Like