BitTorrent trackers are not innocent bystanders

April 25, 2008

Every so often, I see someone put forth the view that BitTorrent trackers aren't at all responsible for what they help distribute because they operate without actually knowing anything about the torrents they coordinate. In practice this is wrong.

People say this because in theory a tracker (or at least an unencrypted one) doesn't have to know anything more about torrents than their SHA1 hashes, or more technically some shared key of the right size that all the clients agree on; to the tracker it is an opaque handle. Thus you could run an 'open tracker', one that let anyone use it as the tracker for any torrent, and such a mode is (or was) supported by the very basic tracker included in the original BitTorrent codebase.

(Using the SHA1 hash of the torrent metainfo file has the helpful property that the chances of two torrents having the same shared key are very, very low, and you don't need to put an additional piece of information in the metainfo file.)

In practice, almost all trackers will only track torrents that have been registered with them in advance, which means that almost no tracker operator can really disclaim all knowledge about what they are being used to coordinate; they are all filtering to at least some degree.

(Open trackers are so rare partly because running an actively used tracker can require a significant amount of network bandwidth, due to tens of thousands of machines sending you status updates and requesting lists of peers.)

Written on 25 April 2008.
« What Linux's RPC queue dump means, sort of
A thought on trackbacks »

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

Last modified: Fri Apr 25 23:47:24 2008
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.