What you don't know about other peers in BitTorrent

January 10, 2008

While BitTorrent doesn't hide, it also doesn't go out of its way to give you information. One of the interesting questions, at least from the perspective of some organizations and the people who dislike them, is how much you know about the peers in a given BitTorrent swarm beyond their IP address. It turns out that the general answer is 'not much'.

Without talking to a peer, all you know is that the peer has registered with the tracker. You don't know if they're actually participating in the torrent swarm or if they're just a passive observer, how much of the torrent data they have, or how much data they claim to have transfered in and out.

(If you control the tracker you know more; the peers tell you how much of the data they have and how much they've downloaded and uploaded. However, it's hard to catch peers that lie, especially a group of collaborating peers.)

If you talk to an honest peer you can find out how much of the data it has and observe it downloading data, but you can't tell whether or not it's uploading anything, nor can you find out what other peers it is downloading from.

If you suspect that you're talking to a dishonest peer, about all you can do is request portions of the torrent data and see if you actually get valid chunks. (Specialized bandwidth efficient seeding clients are often partially dishonest.)

Both sides are probably most interested in proving that another peer is a full participant in the swarm, and in both cases the only really good way to do this is try to download from it. This demonstrates that it has the data and is willing to share it, which is about all you can ask.

Written on 10 January 2008.
« There are two different situations for content-types
The importance of killing processes with the right signal »

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Thu Jan 10 23:56:16 2008
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.