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?
Torrentse.cx is down because it was originally supposed to be a semi-private [or at least obscure] site serving a medium-sized community of people. The problem is that it got so popular that the guy who runs it [the enigmatically named hello.jpg] went waaay over his bandwidth cap and shut it down to prevent him from going bankrupt. There is no RIAA/MPAA conspiracy going on.
p.s. yo Bram, it's James.
Probably an obvious Yes, but if so what was the nature of the threat ?
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.
Ask Bram? I'm so stoked!
If your bitterest enemies are people who hack the heads off civilians, then I would say you're doing something right.
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.
Do you have a new url for the Matrix Reloaded .torrent file?
Do not taunt Happy Fun Ball(TM)
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.
What are your view of ethics, morals and programming and your motivation?
Obviously, there is a problem with decentralized p2p that you solved. Is it the fact that there was a request, self-created, that you were solving? Or was it in hopes of doing something 'good'?
What are your views on working on other technologies that are on the fence, like DRM, exploits? I don't mean in terms of creating to be malicious, but for learning or for profit.
--
"I'm not bright. Big words confuse me. But Wanda loves me and that should be enough for you." - Cosmo
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
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?
When, in Windows mind you, if I drag a random file (probably one over 1GB) into BitTorrent's sub EXE (or right-click, send-to), it not only tries to read the entire thing, but:
1) Won't exit nicely
2) Won't exit forcefully
3) Won't stop reading my hard disk after I delete or move the file
4) Won't let me reboot or logoff
The only way I can get it to stop reading my hard disk at all is wait until i get so mad that I forcefully pull the battery out of my notebook and scream "DAMN YOU Bram Cohen!!!"
What I'm getting at... why did you decide to write BT in Python? From the splash page of the BT website, it seems like you're eventual target are companies, or rather, the customers of companies. I can't help but think that Java would have been a better choice, not only for better platform support, but since it's already mass-deployed, and it's superior browser integration, not to mention it would be a much smaller download (currently ~= 3MB for Python-based BT). Are there any benefits of using Python (other than it's refusal to exit when killed via task manager... heh)?
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
It seems to me that people would be an lot less likely to use P2P software for illegal purposes if the software provided more accountability. But, at the same time I can see the benefits of anonymity, especially when it promotes civil disobedience as a form of protest against unjust and unreasonable laws. What do you think about balance between accountability and anonymity in general and in bittorrent particularly?
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.
If you're on a win32 box, you can run:
"btdownloadgui.exe --max_upload_rate [X] --responsefile file.torrent"
Where [X] is the rate of kB/s. This will throttle the bandwith available to BitTorrent.
On a *nix box, I believe you just subsitute ".py" for ".exe"
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?
It interests me how you have a hybrid solution - a P2P app that relies on server-based files to function.
I've noticed several ideas (and have a few of my own that I won't bore you with) for taking the last step, and making BitTorrent no longer rely on a torrent-aware server to function. I must assume there is some reason that you're not pursuing this direction, and was curious as to why.
Whether or not it is the intention of this poster, the questions are loaded with traps the MPAA/RIAA would love to use against you in court. BTW, you really should start a legal fund raiser of some sort. You WILL end up in court, because you WILL be made an example of. On the flipside, if we can all stand behind you when that happens, it will be us making examples of whomever comes after you. Of course, I don't know you personally, but I believe you are a Nederlander. That's good. Stay there, and for god's sake don't set foot on US soil for a while and maybe they can't get you into court in the first place.h tml
So, anyway, Bram, thank you for the technology, sorry I sound so conspirist. :)
I know this sounds paranoid, but look at the way SCO tried using arbitrary old quotes from RMS, ESR and even Almighty Bruce to "smear" them here: http://www.sco.com/scosource/quotes_from_leaders.
The same thing is becoming a court tactic to attempt to show cause, i.e. Napster pretty much lost because of the "especially since they are exchanging pirated music" quote: http://news.com.com/2100-1023-241977.html?tag=rn
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.
Bit torrent uses tcp I feel really deserves its own protocol definition. There should be no reason why you couldn't embed in HTML the following code:
<IMG SRC="bttp://massive-hirez-image.jpg">
Have you thought of this before? Would you (as the creator of the technology) be willing to write an RFC?
I have no problem with your religion until you decide it's reason to deprive others of the truth.
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?
Could the BitTorrent protocol be used for things like streaming radio and TV?
My other account has a 3-digit UID.
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!
BitTorrent's tracker performs a necessary function, but as we have seen recently it's the achilles heel in an otherwise robust network. A distributed tracker network would solve two problems: One, the loss of one node wouldn't affect everyone's ability to download. Two, it could recognize when different torrents pointed to an identical file (or identical pieces) and combine their clients, resulting in higher bandwidth. Is there a plan to make a distributed BitTorrent tracker?
Have you considered implementing non-linear downloading of files such that the end segments of a file are given just-as-high priority as the beginning segments of a file? In effect, users could download the last 30 megs of a file before they've located the first 50 megs of the same file. Doing so would avoid the problem of users disconnecting their clients once they've finished a download, and increase the likelyhood that a complete copy of a file is distributed across the network.
(I don't think it currently works this way)
I recently began using WxPython after deciding it would offer the best cross platform support for my project. The gui for BitTorrent is the first program I've seen written with WxPython that has had such a large userbase. I was wondering what issues you've had with it, and if you still feel that it was the best choice for the job.
Everything will be taken away from you.
I don't think BT even has the concept of push/pulk as such. I am behind my own NAT, and a firewall which denies all incoming connections, and I can use BT just fine.
:)
:)
The way it works, it seems, is that BT requests peers from the tracker, the tracker gives a list of peers to connect to, BT connects to whichever of them are alive or reachable from that specific location on the Internet. After that, the BT clients tell eacother which parts of the file they have, and which parts they are interested in.
I don't know specifics, but it seems that BT stays in contact with between 20 and 40 peers at one time, but only uploads to 4 at a time. The 4 which give the highest *download* to you back. i.e., if you have extremely fast upload to another peer, that peer will put you in its own first uploat slot, so that you get download from it. BT seems to continously 'test' the other peers that it isn't actively engaged in data transfer with, to see if any of them offer faster speeds, while prioritizing 'testing' peers it has recently established contact with.
This results in, that when you first start downloading a file, it might take some time before other peers give you enough pieces to start uploading, and really get download speeds. The start-time seems to be between 5 to 10 minutes, by experience. I'm sure someone could come up with the statistical average for this based on the default BT settings
Anyhow, what all this means, is that initially, the fastest hosts will find eachother, and distribute the file to eachother very quickly, after which, they will upload to the peers they get fastest upload to. (provided the user doesn't close the torrent)
What this also means, is that, if you have alot of async users (such as ADSL and capped Cable), they will on average only get as much download as their upload, provided there are high-speed uploaders that can fill in the gap between the different asyncs. In a way, I suppose, the average download speed of async users equal the average upload of them, plus any high-speed users which provide a "boost". This makes it, of course, entirely possible, and not uncommon, to be uploading at a faster speed than you are downloading. This is not a bad thing, you're not selfish, are you?
Anyhow, back to the original topic. As I've understood it, the tracker gives you IP's to connect to, of both completes, incompletes, and peers with nothing of the file. It's not technically "push" type connection, but in practice it is, since you'll most likely connect to a wide range of peers with different parts of the file you want.
However, an issue NAT users could have is the number of connections their NAT machine allows them. BT uses between and 20 - 40 in default config, I'm told. If the NAT can only keep track of, say 5 or 10, per user, it might just drop the oldest connection, forcing BT to constantly connect to more peers, as the older ones are dropped. This of course makes it very problematic to maintain any sort of connection with BT, and thus you never see any download nor upload. Note that most NAT's just ignores packets they aren't keeping track of, so the connection would just time out, without the user getting any error messages from BT.
Another issue is Windows 9x. Windows 95 and Windows 98 by default only allows 100 connections. Open 2 - 4 torrents, and you will exhaust this limit, creating sporadic errors such as ENOBUFS (Not enough buffer space). I don't know about more recent versions of the windows operating system, I've heard the max number of connections is artificially limited in some versions though, but don't take my word on it, I might just be spreading FUD
Will you please stop posting links to individual torrent trackers? They are already overloaded with bandwidth as it is, and getting slashdotted is not helping the situation.
I belong to a very popular forum that found this article and has said some nasty things about ./ and its users, but I will not post them as I do not want to reduce my karma with flamebait material.
Having said that, I strongly urge Slashdot's editors to think twice about posting the actual links (or any stories relating thereto) of torrent trackers.
Respectfully yours, - Brad C.
Homestarrunner.net -- It's Dot Com!