Ask Bram Cohen about BitTorrent
It's a clever P2P 'information broadcasting' concept, as the simple diagram on the BitTorrent home page shows. It's gotten a fair amount of notice, especially here on Slashdot. And reader Ignorant Aardvark wrote to us about BitTorrent sites disappearing, possibly because of RIAA/MPAA intervention, so this technology is now generating some controversy as well. The person behind BitTorrent is Bram Cohen, and he's agreed to answer 10 of the highest-moderated questions about BitTorrent you post here. So ask away (after reading the project FAQ and other info about BitTorrent and Bram, of course). We'll run Bram's answers as soon as he emails them back to us.
If I'm not mistaken BitTorrent was originally created to make it easier for people to access ISO Distros using the P2P concept, taking strain off the servers that originally hosted them.
I guess with the news that it's gathered as of recent did you ever foresee people using BitTorrent for illegal purposes? (i.e. hosting full albums, distributing illegal ISOs, obtaining full length movies) Do you fear the consequences that often come from the RIAA/MPAA?
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?
Are you taking any precautions for your clash with the RIAA/MPAA?
Useless sig.
why did you choose to code it in python?
YOU SUCK BALLS!
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.
It's not very often that someone downloads the latest greatest software package and finds it ships as interpreted source, in a previous era this would reek of "unprofessional" but with languages like Perl and Python, it's more common and respectable, and this package helps to that end. Why did you choose Python? Is there something Bit Torrent does that Python handles in a saner fashion than other languages or was it a simple case of, "I know Python"?
Do you see uses for the BitTorrent code and architecture other than file downloads?
As the person with the most in-depth knowledge of BitTorrent, what do you see are the weaknesses of the BitTorrent model?
As more and more ISP's subscribe to the theory that a consumer does need as much upload bandwidth as download(as seen in the current cable modem/DSL industry), how will Bittorrent scale to meet the problems it was set out to correct? It seems to me that it would severly limit the benefits of having an application of this nature.
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?
Obviously what people do with Bittorrent is outside your control, but what do you think will happen in the coming months/years regarding the growing control methods of the **AA industries, and consumers needs for a flexible product? Do you have any suggestions on what should be done against piracy? As someone who created a product that provides a valuable service, where do you see bittorrent in all this?
-- Having a Creationist Museum is like having an Atheist place of worship
I installed BitTorrent yesterday in order to get Red Hat 9. I'll be honest, it didn't work that well for me(I'm impatient, and it was faster to repeatedly try ftp.redhat.com and dl it once I could get connected.) Maybe I didn't wait long enough for it to work, or perhaps I wasn't sharing enough to get a good dl rate from the network.
At any rate, I'm clueless as to how this thing works, or even what it is doing at the moment. There is no UI, no shortcut to any docs, nothing. Was this intentional, or is it because Bit Torrent is still in development and things like a UI and documentation are low on the list? Currently I have Bit Torrent installed, but I have very little idea about what it is doing on my computer or what I can do with it - other than hunting around the net for FAQ's etc.
I'm not complaining - I just haven't had the time to look for these things. If they were there I probably would have used it more.
No, Thursday's out. How about never - is never good for you?
Popular tracker sites (where you submite a .torrent, and it modifies it and becomes the primary tracker) seem to have a scaling issue. I won't mention the site but their are trackers that get 2,000,000 hits a day, and 50k-65k visitors. Trying to download a torrent tracked by an overused tracker such as this one, can be frustrating. While bigger/faster hardware is a temporary solution, what other options exist for scaling trackers better?
.torrent could have an array of tracker sites, that seemed like a quick and easy hack to get some scalability, have you seen or thought of any others?
Now, I'll also say, I wonder about performance of PHP trackers (as this one is).
I also saw some place where you mentioned the should use round-robin DNS for the tracker host to "scale". This isn't a good solution though, as any network engineer who runs a large internet accessible website will tell you. Cachine of DNS records make round-robin not as effective as it needs to be.
I saw a suggestion where a
-malakai
-Malakai
A Dragon Lives in my Garage
Bittorrent is a great protocol, similar in many ways (but clearly superior, for large files, to) ftp. Like ftp, though, there's no way to easily search for files. It seems to me torrents should have some additional metainformation in the .torrent file itself (such as the content type, bitrate, etc.), instead of just the file name. And then perhaps you or someone else could easily write a global torrent search system. Have you given much thought to this sort of thing? Any plans? Or are you hoping someone else will take these ideas and run with them?
Oceania has always been at war with Eastasia.
Now that BitTorrent has grown into something that's completely out of your control, do you have any fears that the powers that be will come after you seeking damages for things other people have done with your software?
Yes Francis, the world has gone crazy.
If you were to start from scratch, what would you change about bittorrent? Decentralized trackers? Imposed bandwidth caps? Better karma system?
Now that the product is in a semi-usable state, has the decision been made to feature-freeze and to focus on quality control? Running the OSX client turns my iBook to mush. The linux client brings my dual AMD MP system to its knees. I love getting large files (ie: ISOs) at great speeds, but when it renders my computer useless for the duration of the download it ceases to be useful.
I remember certain adult movies being released to test out bittorrent. Why are you only allowing tests of rather tame isos now?
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?
"Draco dormiens nunquam titillandus."
Bram,
0 5/27/133822 3&mode=thread&tid=188&tid=97
:)
Do you feel you might be a target of litigation or any sort of legal action because you're the "point" person for this project? Stories like these prompted my question:
http://slashdot.org/article.pl?sid=03/
It looks like the media companies are looking for someone to "drag over the coals."
You've been asked on the mailing list a couple of times, and I haven't seen an answer.
:)
What are your plans for the future direction of BitTorrent? Do you have any plans to design a protocol to enable trackers to coordinate? Any plans to enable BitTorrent to dynamically start sharing a file from an "upload" directory, based on distributed searches? In other words, are you interested in making BitTorrent a "full-service" P2P app in the style of Kazaa, etc...? Or are you happy with the functionality as it is?
Or are you perhaps waiting for the BitTorrent community to start chipping in some of the work, rather than leaving you to do all of it?
(Note: I'm not saying that it's somehow insufficient the way it is. I'm really just curious about what your plans are. One thing that keeps me from attempting to help with coding at all is that I have no idea where BitTorrent is headed, or if you even want any code contributions at this point.)
Have you had any talks with akamai or download.com or other big players about possible partnerships? Do you see money in your future?
User-based Search and Share is the defining feature of other P2P apps like Kazaa and Gnutella. While Bittorrent is more of a swarm downloading protocol, do you have any plans to impliment a user front-end to do something like user-based hosting or searching or tracking of .torrent files?
The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
Have you been contacted by any companies for use of bittorrent? I'm sure in many corporate environments it could be used to cut down on the size of servers required to handle large files.
I'd like to hear your stance on the unofficial BitTorrent clients that are showing up. Some of these clients do more than just present a more user-friendly interface, they allow people to tweak some settings, most notably throttling their upload speeds.
Since BitTorrent's model of "everyone sharing the same data" is fundamental to it's success, it seems like a client that selfishly restricts re-uploading is the complete opposite of the BitTorrent philosophy.
Any thoughts on future changes to eliminate or minimize this kind of cheating?
Cinsidering the system wasn't originally designed to be a music / movie swapping system, would you have any qualms with working with, rather than against, the record and movie industry to make the program less contraversial? What are your views on their attitude towards Biotorrent (IE: Do you think they'll ever make compramises with those that make these systems) Sorry if that question is too long / complicated, but it could be interesting.
Yup...
For situations like I am in (behind a corporate firewall), there is little chance of getting permission to poke a hole for BT.
However, it is just at the edge of feasibility to set up a bastion host running some form of BT proxy, whereby the basition runs BT, and the clients inside connect to the BT proxy via a web interface.
Has any thought been given to something like that?
www.eFax.com are spammers
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.
It seems that P2P is quickly becoming a "killer app" on the Internet, and BitTorrent certainly brings it into the mainstream.
However, NAT gateways render P2P useless, especially in large organizations where port forwarding is rarely an option. How do you see BitTorrent dealing with this problem until IPv6 is fully deployed and we can all have a private IP address?
The US Army: promoting democracy through unquestioned obedience
Being linked to from Slashdot every couple of days didn't exactly help with bandwidth costs.
Wasting your time since 1997.
You recently had some success in distributing RH9 isos. Was RedHat involved with this process? Are they evaluating your technology for other applications (esp. up2date)?
While I am moving away from RedHat because of the changes to up2date, it would be interesting to see a major UNIX player (perhaps even a BSD) begin distributing errata via Bittorrent - perhaps even allowing a configurable parameter to control the "willingness to upload."
Bittorrent integration into Solaris patchchk would also be quite a coup for your team, granted that they are perl-centric.
In my recent test, Tweedle Dee and Tweedle Dum were downloading the same link, over the same time period (although they weren't started at exactly the same time) and were even on the same broadband ISP (with the same bandwidth).
Why did Tweedle Dee seem to have great speed, maxing out his bandwidth, when Tweedle Dum couldn't seem to get higher than modem speeds? Is the bandwidth evenly distributed? Is there a preference system? Is it first come first serve? Does Tweedle Dum simply have bad luck?
The mistake you made was trying to use BitTorrent to download an oldish file. The way BT works best is when there is a /. effect occurring. When a new ISO of RH9 comes out, there is a bullrush to get it which overwhelms mirrors. BT solves this by having users DL from other users and the mirrors at the same time. Once the majority of users have DL'd the ISO's, they are going to close their BT client. It's been weeks since the RH9 ISO's came out, so most everyone has closed their client. This means you are mostly DL'ing from the seeding servers and not the users. The seeders aren't really built to handle massive bandwidth.
BT is a temporary solution for getting high demand files. It works in an inverse supply-demand curve: the higher the demand, the higher the supply of bandwidth.
IANAL, but I play one on
Why did you choose to use binary format for .torrent files instead of clear text?
You could do that right now, if the browser supported it. BitTorrent can already automatically ship around a .zip file and unpack it. It would be a matter of the browser properly interpreting the content. It's not quite as simple as one might think; you either have to make sure the content is all relative links, or hook the browser so that it doesn't know it's not getting the files from the original location. You'd probably want to do the latter, because otherwise you have to deal with interesting problems like security zones, dynamic web pages, missing files, etc...
Obviously, for a site like Slashdot, it would be useless, unless you're talking about for archive purposes. For someone's home web server that has almost all static, large contents (say, movies of them strapping a JATO to an AIBO or something), it would be perfect. Even if they had a little dynamic content like a guestbook, you just leave that page out, and the browser knows it has to go to the original site to get it/post to it.
All of which means that a person probably also has to intelligently pack the web site to prep it for BitTorrent use.
I'm wondering the obvious: have you been approached by any Big Corporationtm-type groups to pull the BitTorrent source and binaries from your site? What about scare tactics? Have you spoken with a lawyer yet to determine just how much liability you'd have were someone to attempt to sue you?
(Incidentally, I'd assume your liability to be zero, but the way the world's running right now, scapegoating has become a popular hobby.)
- Cloud
I love BitTorrent, it maxes out my cable modem at 200 down, 30 up; no other method of downloading can fill the pipe.
The only problem is the reliability of certain sites with content -- which I'm sure you have no relationship with; but if BitTorrent could piggyback off Freenet, it might go a long way toward improving the stability of these sites.
Also, are you going to do anything with the bittorrent.com site? (That's the one Mozilla "suggests" first when I start typing "bittorrent" in the URL bar.)
I feel fantastic, and I'm still alive.
You could do that right now, if the browser supported it. BitTorrent can already automatically ship around a .zip file and unpack it.
I absolutely hate it when people do this. BitTorrent works fine on directories without any help. Don't zip media files! Zip's compression does little for the filesize and, more importantly, you the downloader is unfortunate to only get part of the file, the Zip file remains corrupt. If you use Tar, at least, you can recover the portion of the files that you have downloaded.
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?
Strive to make your client happy, not necessarly give them what they ask for
Actually the site is down because we're in the process of moving to a new server. Our wimpy 1.1GHz Celeron cannot handle being /.ed every other day.
We've seen how BitTorrent is valuable for distributing large files (like iso images) across the internet, but have you thought about other uses for the technology? A couple ideas that come to mind are:
(1) extending the HTTP protocol to allow web sites to become p2p. This would alleviate bandwidth problems for sites that serve medium to large sized files (such as photo galleries).
(2) file servers. A company with a heavily utilized file server could offload a substantial amount of the load to the client machines for commonly accessed files.
These would only apply to static/read-only data, of course. Any thoughts?
For every post, there is an equal and opposite re-post.
BitTorrent's trackers track users' downloads. It is not only a single point of failure, but also a privacy problem if the data downloaded is legally or morally questionable.
:-)
Do you see this as a problem that needs to be fixed eventually?
Or do you think it's the problem of those people who use BitTorrent and have something to hide?
So it's a feature?
Do you see BitTorrent as a remedy for the "slashdot effect"?
"dope will get you through times of no money better than money will get you through times of no dope"
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?
guns kill people like spoons make Rosie O'Donnell fat.
Every day more and more BT clients are popping-up, with features not originally intended for the protocol. Do you feel that these features, such as multi-tracker search features, are doomed to kill "the network?" On the flipside, what are your thoughts on other, "classic p2p" clients now incorporating BT technology (heh, IANAM*), such as the new Shareaza beta?
And I know I'm cheating here, but:
What can you, me, or we as a community do to ensure that BT stays pure, or at least, survives in it's original, intended state?
put the what in the where?
Bram isn't doing anything illegal. If you think he is, perhaps we should outlaw FTP, HTTP and not let you turn your computer on.
.ISO files surviving the Slashdot effect.
BT is a file sharing tool, but unlike other P2P applications, the centralised trackers (and their hosts) are the immobile weak points. Hell, trackers are regularly crushed by the traffic generated by their own *users*.
90% of the trackers I've seen are sharing legal files, or files that have nothing to do with the MPAA - for example, unlicensed fan-subtitled Japanese animation is booming. But the community is very good at removing files when movies / series *do* get licensed for a US release. I don't think it's a widespread threat to the MPAA - illegal distribution points would be extremely easy to knock offline and prosecute.
There is a demonstratably good use for BT, witness the Red Hat
There's a grey line with the TV show download sites, but if the video streams don't cut out the commercials... I don't see why anyone would want to complain about that ("you're viewing our advertising - stop it!" doesn't make much sense).
And the RIAA has no threat with BitTorrent as it's extremely unsuitable for small files. 100MB+ torrents are probably the sweet spot. Sure, albums could be bundled together into one larger torrent - but with P2P music people usually only want that one song that's good from an album and aren't going to want to download the rest.
It can also be a pain in the ass to share anything with BT - but that's a good thing.
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).
On one of the other BitTorrent stories, someone suggested making a module for Apache, mod_torrent, that would, when asked for files of a certain type (like ISOs, and they would contain only GPL'ed software of course) or over a certain size (1 MB? 5 MB? 20 MB?), would send a torrent of it, and if there were no seeds at the time, would seed the file itself.
That sounds like an awesome module. Do you see it happening? Would you assist someone who was trying to write such a thing?
Currently P2P networks generally form almost entirely at random- you're as likely to connect to a server on the other side of the world as you are to connect to a server 5 feet away that has the same file. This means you use up bandwidth on all the links on all the machines inbetween. Clearly you can reduce the total amount of bandwidth used, and often latency and throughput, if you (mostly) go to local servers. Are you planning to include any strategies to help minimise this in Bittorrent?
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"Hi,
.torrent files out of files on your server, and seed them? Right now this requires several different packages, including the tracker, maketorrent, and the client (for seeding the files). Having all of this as a single package would be nice for people who want to use BitTorrent for it's many legal uses. Of course, the warez communities who use BitTorrent solely as a P2P app wouldn't benefit from this, but from what I understood it is your desire to promote only the legal uses of BitTorrent.
One of the more useful things I see BitTorrent as is what its name implies: A temporary P2P network to alleviate a 'torrent' of downloads. I especially like the way GameTab News (http://news.gametab.com/torrents.php) handles it: They are always a seed for their torrents, and remain a contributing uploader as long as the torrent is on their site. My question is:
Do you see a BitTorrent server package, perhaps as an addon to Apache or something, that will run a tracker, make
Yours respectfully,
Clint Olson
P.S. Thank you for making this wonderful program!