BitTorrent
I’ve been bandying about the idea of using BitTorrent in a BBS context (Hotline, KDX, etc.) for some time now, and I constantly run into problems convincing people that this is a really good idea. The problem, I believe, is the common misconception that BitTorrent means to take up the position of both resource discovery and content dispersal.
Almost everyone I have put this idea to has complained that bolting BitTorrent support onto a Hotline/KDX-like application would cause the network to become centralized, and thus easily shut down. There are a couple of issues with this:
- Hotline and KDX are already centralized services, and therefore are just as suceptible to being shut down as a hybrid with BitTorrent would be.
- BitTorrent itself is a partially centralized service. The downloading happens in a distributed manner, but the tracker responsible for keeping track of the availability and progress of peers is a required component of the network; If the tracker is taken down, no new downloads may be started and the efficiency of the network will decrease until it stops completely.
BitTorrent only fills the role of content dispersal. It takes the place of FTP, HTTP, or the file transfer protocols of KDX and Hotline.
I’m more interested in the ways the BitTorrent protocol can be combined with resource discovery. Hotline and KDX give you access to the local files on the server as well as the ability to use trackers to discover new servers. To get some of this functionality with BitTorrent, I’ve been thinking about what it would take to add resource discovery to the BitTorrent tracker. I think it would be nice to have the tracker know about (some of) the files it is serving the torrent information for, and have that information accessible through the tracker’s API.
To do this, here’s what would be needed (as far as I know):
- A new POST query to the tracker that would accept uploading of the torrent file.
- A new GET query to the tracker that would return a list of available torrent files.
- A new GET query to the tracker that would return a torrent file.
Further additions might group torrents into a hierarchical structure to emulate the files and folders approach taken by the BBS apps, but for a modestly sized list of large files, information overload could be much reduced by a good client-side interface (ala iApps/Finder live searching).
Now from a privacy/security standpoint there’s certainly something to be said for a tracker that has no knowledge of the torrents it is tracking. I believe that adding a tracker option to provide access to data about the tracker and its tracked torrents would be a real benefit in some situations. I like the idea of being able to use only a BitTorrent client to list/search and download all available trailers from Apple Quicktime, or RedHat, or Sourceforge (perhaps limited to a certain number of the most popular downloads).
Another idea I’d like to see implemented on the client side is the ability to open torrent files, examine its contents, and selectively download portions of the archive. As far as I know, this could be implemented with no changes to other clients or the tracker. (Or maybe this already exists in one of the third party clients? I tried to use Azureus to look for new features, but it hung on OS X.)
I’ll hopefully post more about this stuff later (or, god forbid, write some code), but for now it’s just some preliminary ideas about where I’d like to see this sort of thing go in the future.
Comments
No. A torrent server can disappear without taking down “the service” of an in-progress download. Adding peers to the download is impossible once the torrent server is gone, but the existing connections would still remain.
Saying “there is no one place to shut down” a KDX or Hotline server is blatantly wrong. They can be shut down just as easily as a torrent server. Torrent servers are run by individuals just like KDX and Hotline, but they enjoy the freedom on not having to support the bandwidth load of a point-to-point system.
One of the points of this post was to describe how resource discovery could be added to BitTorrent to allow “bring[ing] up any file.”
Sometimes I feel as if people don’t even bother to read the post before commenting.
Posted by: kasei on July 1st, 2004 12:28 AMI had the same idea a time ago, and i still think its cool and possible. Combining the strength of a application like KDX and a protocol like bittorent should make it secure and fast.
Posted by: TheOne on May 8th, 2005 4:53 PM
Bittorrent is P2P and can be shutdown at any time due to the fact that it is a centralized file sharing program. Once the host is gone, the service is gone. KDX and Hotline are a thousand times more secure by the fact they are point-to-point applications. They are hosted by individuals. Therefore there is no one place to shut down. I just wished P2P’s for Mac would come out like the ones on the winblows platform. Bittorrent is sadly the little boy on the block compared to them. Appz like Morpheus, WinMX and Kazaa can bring up any file, movies, MP3’s, applications, .sit, .zip, .rar, Mac or PC.
fyi
Posted by: Master C'baoth on July 1st, 2004 12:18 AM