Bram Cohen Reveals BitTorrent 2 Details
June 3, 2004
BitTorrent has quickly taken the Internet by storm since its introduction to the P2P world. Supported by Torrent sites such as Suprnova.org, the ease of transferring large files across the Internet has been simplified many times over. While the current network is quite good, there is always room for improvement. In the BitTorrent group on Yahoo, Bram Cohen has given us a look into the upcoming features of the BitTorrent 2 protocol. You can read them below:
After much arguing, cogitating, arguing, and cogitating, the bt2 protocol designs are now further along than they were before.
Features planned for bt2 -
merkle hash trees - this is by far the most compelling reason to break compatibility. Files in a multi-file will each have their own hash root.
udp-based tracker protocol (with http-based alternative for those who care less about bandwidth than convenience)
tracker redirection - when talking to a tracker, that tracker will tell you where your primary tracker is (usually the one you just hit) and your backup tracker is. This will enable (1) dynamic tracker load redistribution, and (2) tracker backups. Of course, some smarts on the tracker are necessary. When trackers are distributed they either have to send some peers to each other or make sure a seed is on each tracker, and when using a backup tracker it has to redirect everyone back to the main tracker when it comes back up again. Since those smarts don't involve changing the protocol, I'm completely punting on it until later.
a beefed up peer protocol - there are some subtle changes to the state machine planned, which are strict improvements but kind of involved so I'll skip over them now. Also peers will announce which files they want to enable cross-torrent trading. Finally, announcements of having parts of pieces will be added, since that's enabled by hash trees. Doing that last part well requires some smarts, but again the smarts don't change the protocol so I'm punting.
The above are the things I'm convinced are a good idea. Notably missing is gossip. Too dangerous, may be added later via an extension mechanism.
The main sticking point left is how to deal with piece sizes - ideally all peers should be using the same piece size, but whether that's a good thing to require and if so (or even if not) how to set it I'm not sure of yet. Also I'm not sure how to make trackers support scrape functionality (or more to the point, I'm not sure how much scrape functionality to carry over, and in what way). Other than those issues all that's left is a whole mess of details.
Rest assured that bt2 protocol will have the same ease of implementation and reliable compatibilty of bt1. Also rest assured I won't push the damn thing out until I'm certain it will get feature requests down to a dull roar for at least a few months.
This story is filed in these Slyck News categoriesBitTorrent :: BitTorrent Inc.File-Sharing/P2P Related :: New ReleasesYou can read the original publication here.You can discuss this article here