Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Interview Responses From BitTorrent's Bram Cohen 253

Here we go... direct questions and direct answers about BitTorrent, the latest big-time P2P file distribution system to hit the Internet. Bram Cohen made BitTorrent and maintains it, and perhaps, one day, just maybe, he'll even make a living from it...

1) Bit-Torrent browsing... by CashCarSTAR

Has any effort/thought been put towards bit torrent page distribution?

Specifically, a way that one can use BT to mirror webpages. A way to get around the /. effect, and as well would work wonders the next emergency that comes out (see 9/11).

Bram:

Images in web pages are very small and require very low latency. BitTorrent is designed for much larger files, which download on the order of minutes or hours rather than seconds. BitTorrent uses the significant amount of time those downloads take to try out and compare different connections. This process has inherent latencies which make it unsuitable for images on web pages.

Certainly it would beis possible on paper to dramatically reduce the cost of hosting an ordinary web site using peer transfers, but the logistical problems of handling many small files at low latency have yet to be solved, and will probably require a protocol which looks significantly different from BitTorrent.

2) Forward successful download stats to originators... by gsfprez

Many freeware/shareware folks like to keep download stats for marketing purposes, so P2P software and mirrors really irk them....

In order to foster more love from freeware/shareware distributors, could BitTorrent be made to inform the end user (me) that BitTorrent was going to send a "notice of download" (not including any personal information, such as an IP, etc) upon sucessful download (that I could preview before sending of course)?

If *I* was Warner Bros, and eveyone offered to distribute and pay for all the bandwidth for the next version of the Animatrix, while I still got to see download statistics, i'm not sure I'd even would need to provide a direct link to the 150 meg QuickTime files.

With this kind of feedback mechanism, the software/media providers get all the love - download stats, far far far less bandwidth used - and we get all the goodness - their free movies, software, freeware, data, etc. Its the ultimate mirror.

Or am i missing something?

Bram:

I'm happy to report that you are, in fact, missing something. Clients report very detailed statistics to the BitTorrent tracker, including the number of complete downloads and the total amount each peer uploaded and downloaded. If you host a file using your own tracker, all of this data is readily accessible, the same as if you hosted it via http.

By the way, many people find out about tracker statistics reporting and falsely think that hacking their client to exaggerate their upload rate will increase download speeds. Clients actually decide who to upload to based strictly on the transfer rates they experience directly; Tracker statistics are never even sent to them.

3) Comparison to other P2P... by jfmiller

As far as I can tell the genius of BitTorrent is allowing peers who themselves do not yet have a complete file to share the parts they do. With all dew respect to the effort taken, the rest is just functional glue that allows the system to work as it should.

The eDonkey protocol used the same basic premise. How is BitTorrent different to it and other P2P protocols and why did you make that choice?

Bram:

That 'functional glue' is extraordinarily difficult to get to work well. Ever-changing network conditions and very high rates of peers disconnecting produce a very thorny logistical problem. Most existing swarming implementations don't even manage to fully utilize all the upload capacity available to them.

That said, there are other decent swarming implementations. For example, the one in eDonkey is quite serviceable, and Furthurnet's works okay as well. BitTorrent handles the little details of file transfer better than all of the others, but if that were the only difference its advantage would be relatively minor and subtle.

What sets BitTorrent apart is its very robust technique for rewarding specifically the peers which upload the most, known as leech resistance. On the highest level, this prevents a long-term meltdown of the system from being caused by people running leeching clients. It also causes upload and download rates to be somewhat correlated, so peers on good pipes get decent download rates, which increases general good feeling about how the system behaves. Overnet, the follow-on to eDonkey, may start using BitTorrent's peer protocol in the future specifically for the leech resistance properties.

By the way, people sometimes run clients hacked to not upload at all and still experience good download rates. Usually this is because they're downloading a file which has been available for a while and there are many clients which have finished downloading but been left running, so there's plenty of excess bandwidth to go around. Not uploading in a swarm which is still ramping up is generally ruinous for download rates.

4) Improvements... by BJH

Bram,

Do you have any plans for improvements to BitTorrent to improve some of its (few) weaknesses, such as searching for torrent files, bandwidth usage by trackers and inability to download if the tracker goes off the air?

Bram:

I have no plans to add search functionality, since that can be handled at a higher layer, such as google, and finding content via links is considerably more versatile and widespread than keyword searching anyway.

Bandwidth used by the tracker is currently around 1/1000 the total amount of bandwidth used. With some tweaking, I can get that down to around 1/10,000. Going lower than that would require sacrificing the tracker's ability to collect statistics, since those get significant at that scale.

Relying on a single tracker is really no different than relying on a single web site. Any well-colocated machine is plenty reliable enough, and if you really need failover you can do it at the DNS level.

4a) Re: Improvements... by ichimunki

I would like to refine this question because I have some specific nits that I'd like to pick: why doesn't the client/server open a single port and listen on that instead of opening a new port for each file? Second, why don't the peers maintain and share information about other peers once the download has started-- going through the central tracker provides a central point of failure. Wouldn't decentralizing allow for a .torrent file to have a list of seeds, and then each of the seeds would be able to share information about peers, eliminating the need for a tracker altoghether?

Bram:

Single port has been high on my list of things to do for a while now but keeps getting put off as more immediate concerns pop up. It mostly hasn't been done yet for a highly technical reason. The way BitTorrent currently shuts down is with a hack where the entire event loop is terminated; To support multiple downloads a cleaner technique which only stopped events and sockets related to a particular download which one of them terminates would be necessary. This is reasonably straightforward to implement, but requires a lot of surgery.

By the way, my mail load has made getting actual development done rather difficult as of late. I'm hoping to offset this with contributions from other developers. While there's been plenty of interest in contributing, and a significant amount of contribution to the tracker, to date noone other than me has made any significant changes to the core download functionality.

If anyone really wants to make a significant development contribution to BitTorrent, you should read over the codebase enough to understand it all (the irc channel can be helpful with this) then ask me what's on the to do list. I suggest you do not start implementing your own BitTorrent client. There are already several of those being worked on, and they're all very far from being as mature as the main line client. What's really needed is more development on the main branch.

5) Impending doom... by damu

Are you taking any precautions for your clash with the RIAA/MPAA?

Bram:

I don't expect to run into any legal trouble. BitTorrent can be used for any kind of content, and several web sites have used it for their own files. Also, all the etree usage (live show recordings of bands which permit it) is completely legal. BitTorrent's total bandwith usage would be quite substantial even if the etree distributions were all it was used for.

6) Future Considerations... by pgrote

Do you feel that BitTorrent's core functionality can one day be integrated in the operating system as a file system? The ability to share files among disparate systems in remote locations can be seen as extension of what was started with HTML, et. al.

Bram:

No. BitTorrent's API is one of starting a download and later being notified that the whole download is complete. File system APIs very specifically involve open(), seek(), read() and write(), which are completely different and wholly incompatible with the way BitTorrent works.

The same is true of http by the way. Attempting to make certain protocols act like local file file system access is kludgy at best, both as a literal concept and as a metaphor.

7) Panhandling for internet dollars... by Matey-O

You've got a paypal dontation button to help compensate you for your non-trivial expenditure of time...how well is that working? Is it an adequate revenue stream, or just enough for a pizza or two?

Bram:

So far, more than a pizza, but less than a living. The donations definitely help though.

8) Re: most obvious question... by Noksagt

...what do you think of what people have done with what you have created. I'm sure you might be sick of people asking you how to obtain a torrent for the latest movie, but are you troubled that it is being used for copyright infringement? Pleased? Apathetic?

Do you wish that it was used more for distributing legal ISOs and other files? If so, do you believe you should promote it more for this purpose or promote development of tools to push it in this direction (perhaps automatic creation of torrents on a successful build, etc.).

Bram:

I'm amused mostly. I find humans highly entertaining.

My attempts to promote BitTorrent for any specific purpose basically failed. It's grown almost entirely through guerilla marketing. That said, I'm hoping that in the future BitTorrent starts being used directly by content producers to distribute their own works.

9) Success... by pgrote

BitTorrent has seen a wide array of usage since it debuted. Many have been surprising and it has caught the fire that makes sofwtare a success. How do you personally measure the success of BitTorrent? Has it achieved the goals you first set?

Bram:

I generally measure software success by how many machines it's deployed on. In that sense BitTorrent has done very well, but it will probably become much more widespread as publishers make their content available using it. My current hope is that BitTorrent will one day be installed on almost all end user machines.

10) Commercial Interest... by Noksagt

I think that bittorrent can be of significant commercial interest. It might be used for software updates for instance. Have you pursued this path or have companies approached you? I certainly hope you'd keep a free version available, but a more feature-rich version would surely land you a great deal of money with the right pitch.

Bram:

So far there hasn't been much commercial interest, but I expect that to change now that large deployments have proven the technology so dramatically.

Starting a business is very tempting. BitTorrent has the potential to create such incredible amounts of value that if I manage to make even a tiny fraction of that I could do very well.

-----

This discussion has been archived. No new comments can be posted.

Interview Responses From BitTorrent's Bram Cohen

Comments Filter:
  • In Related News... (Score:5, Informative)

    by Jucius Maximus ( 229128 ) on Monday June 02, 2003 @11:09AM (#6095963) Journal
    Bittorrent 3.2.2a for Mac OS X is at long last released but it is not advertised on the main bittorrent site.

    Go here to get it http://prdownloads.sourceforge.net/bittorrent/ [sourceforge.net]

  • by taybin ( 622573 ) <taybin@taybi n . c om> on Monday June 02, 2003 @11:18AM (#6096025) Homepage
    Ward Cunningham's Wiki [c2.com] on Patterns has an interesting page [c2.com] on the attitude of referring to details as *just* details.

    Very often, the person saying "Oh you just did it this way" has some more learning to do.
  • Re:My question... (Score:5, Informative)

    by Jucius Maximus ( 229128 ) on Monday June 02, 2003 @11:28AM (#6096098) Journal
    "Not really all that amusing, since Torrentse's been down since it got Slashdotted. Congratulations to all the guys who linked to it from here - you've destroyed the best torrent site out there."

    Torrentse is down because they are moving to a new server. There was a post about this from the person who runs torrentse in the last story about bittorrent. (I believe it was the story where you could post questions to be used in Bram's interview.)

  • Re:Why Python? (Score:5, Informative)

    by Hard_Code ( 49548 ) on Monday June 02, 2003 @11:28AM (#6096099)
    "though I hear a java version is in the works"

    Shhh...

    http://www.klomp.org/snark/

    With the addition of an event listener API, this could be integrated into a decent Java GUI client. Right now it seems as if it is only command line.
  • free music (Score:5, Informative)

    by sweeney37 ( 325921 ) * <mikesweeney@gma[ ]com ['il.' in gap]> on Monday June 02, 2003 @11:30AM (#6096110) Homepage Journal
    Also, all the etree usage (live show recordings of bands which permit it) is completely legal. BitTorrent's total bandwith usage would be quite substantial even if the etree distributions were all it was used for.

    many people are not aware bands like Dave Matthews Band have an open taping policy. while not soundboard, many audience recordings are really close. many tapers spend $5000-6000 dollars in equipment and acheive pristine copies of the concerts. access to the shows has become even easier thanks to an amalgamation between archive.org [archive.org] and etree.org [etree.org], we now have the etree.org audio archive [archive.org].

    these files are distributed in the lossless SHN format so each copy will sound the same no matter which generation of the disc you have.

    with the addition of BitTorrent the trading of these concerts has become even easier. Many links can be found under the music [no-ip.org] of Smiler's BitTorrent site. But here are a few direct links; here [phook.org] and here [musicfreaks.net].

    Check out the etree newbie FAQ [etree.org] and the etree trader database [etree.org] for more info.

    The best part is the RIAA can do nothing about it, imagine that legal free music!

    Mike
  • Re:My question... (Score:5, Informative)

    by Anonymous Coward on Monday June 02, 2003 @11:38AM (#6096169)
    This unofficial BitTorrent FAQ [dessent.net] is the most complete and accurate guide I've seen since my original writeup. You'll see under Other Utilities [dessent.net] a program called BTChange, which appears to be what you're after.

    -ololiuhqui

  • Re:My question... (Score:5, Informative)

    by Bklyn ( 21642 ) on Monday June 02, 2003 @11:54AM (#6096306) Homepage
    Can this plain text be edited so all the tracker files not have to be rebuilt?
    Yes, see the "btreannounce.py" script which is included with the BitTorrent sources. It can be used to change the announce URL stored inside existing .torrent files. See also the "btshowmetainfo.py" script which can be used to dump the contents of a .torrent file in a more human-friendly format.
  • Re:My question... (Score:2, Informative)

    by barcodez ( 580516 ) on Monday June 02, 2003 @12:06PM (#6096409)
    Yes, change the URL string and the number (i.e. 37) preceeding it. The number preceeding it is the length of the URL string and the colon after the number is merely a delimiter. The number much match the new string. N.B. Most text editor will alter the information contained within the SHA1 hash (the "junk" at the end of the file). Thus a recommend doing this will care (maybe in a hex editor).
  • Re:Why Python? (Score:4, Informative)

    by Anonymous Canard ( 594978 ) on Monday June 02, 2003 @12:08PM (#6096418)
    There are several ports to other languages underway, including my own work on libbt [sf.net], a C-language implementation intended to be suitable for use as a library.
  • Re:My question... (Score:5, Informative)

    by BrianRaker ( 633638 ) on Monday June 02, 2003 @12:24PM (#6096557) Homepage Journal
    There is *already* a 'Slashdot Victims' BitTorrent tracker. Head over to http://f.scarywater.net [scarywater.net]for your favorite Slashdot victim's wares.

    Ja mata.
  • Re:My question... (Score:3, Informative)

    by elem ( 411711 ) <ed.well@com> on Monday June 02, 2003 @12:32PM (#6096617) Homepage

    Thats not what he said.

    In his answer he said that the bandwidth used for sending data to and from the tracker is only 1/1000 of the bandwidth that is used. The server running the tracker is still going to need a copy of the file to send out also, or else it just doesn't work. That will eat up the bandwidth.

  • Re:Why Python? (Score:2, Informative)

    by Anonymous Canard ( 594978 ) on Monday June 02, 2003 @01:24PM (#6097060)
    Seriously, pull up "top" or something and tell me if bittorrent actually uses nontrivial CPU. I could be wrong, but I'd be very surprised.

    During a normal download BT isn't a significant CPU hog, but the SHA1 recalculations can take quite a while when restarting a transfer, even on a fast machine.

  • Sounds like you could use BTDownloadRoundRobin [animesuki.com], a utility which rotates between several torrents, thus letting you painlessly seed multiple files, but not all at the same time.
  • by n8_f ( 85799 ) on Monday June 02, 2003 @03:26PM (#6098575) Homepage
    Making a file system driver for BitTorrent - not possible too different? I don't buy that. I could be done. Of course, there'd be latency. Perhaps not handy of interactive use.

    This is just plain dumb. This would be like trying to use a tftp client for a filesystem. And then insulting the author of a tftp client that didn't think it was feasible as having a "lack of vision." Bram is exactly right. The filesystem metaphor does not apply to everything. Filesystem semantics are very different from file transfer semantics.

    However, I'd love to see you try to cram this under the BSD VFS layer as an fs driver. So go ahead. I could use the laugh. But don't insult the creator for understanding what his creation was designed to do and designed not to do.
  • Re:My question... (Score:3, Informative)

    by humming ( 24596 ) on Monday June 02, 2003 @03:47PM (#6098906)

    Anyway... do any of you torrent gurus know how to change a tracker? For example, say you have 80 .torrent files and the tracker goes down. How do you easily change the tracker to a different one? Is this possible?

    Viewing the plain text of the .torrent file... I might think it would be possible. Of course, if I understood the .torrent format I wouldn't be asking...


    Well, why would you?

    If you have the URL for the new tracker, why don't you get the torrent from that tracker instead?

    When the torrent asks you where you want the new file downloaded, you point it to the old (incomplete) file, and voila, it will resume the download.

    Just as long as the file is the same on the two different trackers, it's no problem. And if the files wasn't the same, you wouldn't have gained anything by editing the .torrent to begin with...

    //H
  • Re:Queue the whiners (Score:3, Informative)

    by Steven Blanchley ( 655585 ) on Monday June 02, 2003 @04:57PM (#6099856)
    You're a whining idiot. Please read Selling Free Software [gnu.org] and learn the real difference between Free Software and Open Source: namely, that Open Source is designed not to raise the issue of freedom [gnu.org]. I think freedom is important, so I advocate Free Software, not Open Source.

Living on Earth may be expensive, but it includes an annual free trip around the Sun.

Working...