2005/01/17

WTF is BitTorrent?

I'm totally addicted to Bittorrent. As the hype builds, more and more mainstream people are hearing about it, which means more and more people are donating their bandwidth to the cause. (It also means the RIAA and the MPAA are getting more and more pissed off about it.)

If you're asking yourself WTF Bittorrent is, here's a quick run-down.

Bittorrent is for sharing files with other people, like Napster back in the day, or Kazaa. It's not a program, it's a protocol, like FTP. You use a Bittorrent client, like you'd use an FTP client.

I'll tell you how it works, but first a little background.

Your high-speed connection is really fast at downloading, but not so hot at uploading. That's why it takes longer to upload your 200k picture to a contest than it does to view a contest page full of pictures. For example, my cable connection ideally lets me download at 3 megabits per second (Mbps), but I can only upload at 512 kilobits/second (kbps), or 1/6 the speed. An upload takes six times longer than the equivalent download.

What if I have a big file that you want, and I'm sharing it through Napster? Your computer connects with mine and you start downloading. Simple. But you can't get it any faster than I can send it. So even if you have a super-fast cable connection, the best download speed you'll get is my 512kbps. That's 64kB (kilobytes) per second.

Actually, you can count on it going slower than that for a whole lot of reasons. I might be uploading that same file to other people (or totally different files), which eats into your download speed. I might be surfing the net, uploading my page requests to different websites. Mister_IQ might be watching me on my naughty webcam. Whatever. The point is that you won't be getting that big file from me any time soon, because I can only upload it to you so fast.

Now imagine fifty of you want my file. Ack! You'll be waiting a long time. I could get around that by uploading it to a big server that has more bandwidth than I do. You can download faster from the webspace my ISP provides than you can directly from my PC.

What if five thousand of you want it? Even the big servers are going to take a hit with 5000 people all trying to download a massive file at once. That's why it sucks trying to get the latest patch for your favorite game or OS.

Metaphor time. I've got a huge book, say it's the Encyclopedia Britannica, and you all want copies. I have to Xerox each page and send a copy to you, and to Joe-Bob, and to John-Boy, and to Fred... I'm doing a whole lot of sending, and I'm doing it slowly. And you, you lazy bum? You're doing nothing but screaming at me. "More! More! More!"

So why is Bittorrent any better? Because the guy who invented the protocol had one of those "why didn't I think of that?" moments.

Here it is in a nutshell. We'll stick with the Encyclopedia metaphor for a bit. I post an index card to a bulletin board. "I have an Encyclopedia I want to share. Call me at 555-1234 and I'll mail you a copy." Now, I can't afford the postage to Xerox all the books and ship all of them to all of you at once (low upload bandwidth) but I can afford to send each of you a copy of one book from the set of 26. So I send Volume A to Amos, and Volume B to Bob, and Volume C to Cindy... Pretty soon, you all have 1/26th of the book.

And it took forever. :(

But now for the magic. You all Xerox what you have and send that to each other. Gary sends a copy of Volume G to Hank. Hank sends a copy of Volume H to Isaac... What you're doing is agreeing to use some of your own postage (your own upload bandwidth) to ensure that you, and everyone else, gets a complete set of encyclopedias. I've sent the whole thing out once, and you're going to end up sending it out once, too. And when we're all done, everyone will have a copy.

Yay!

But it still took forever. :(

Well, yes. At first it does take a while. It takes just as long for ONE person to get a whole encyclopedia from me the old way, too. But it quickly speeds up! Imagine someone new joins the swarm of traders. "Hey guys, can I have some, too?" So everyone sends him 1/26th of their encyclopedias (as fast as they can) and he gets it really, really fast.

If he sticks around and helps out with sending, things will go even faster for the next people to join the swarm. Eventually, everyone's tiny upload speeds contribute to make for some really huge download speeds.

That's Bittorrent. Everyone takes lots of little chunks from everyone else, and sends a few little chunks back down the pipe, donating their upload bandwidth to the cause. It starts out slow, but in a little bit it starts accelerating. Soon, there's bandwidth to spare! Everyone's downloading at super-fast speeds.

There are a few catches, of course. That's life. Number one is you are not anonymous. To communicate, you have to swap addresses with other computers. It's probably easier for the RIAA and the MPAA to figure out who's swapping what (and who started it) with Bittorrent than with any other P2P network. Google for some news and you'll find there's a company already claiming to be able to figure out who was the first to upload the latest Metallica CD. Luckily, the lawyers seem to be targeting the initial uploaders way more than the rest of the sharers (makes sense, of course). You never were anonymous with Napster, either, but it makes a big difference now because of catch number two.

Catch number two is that, because you are helping to distribute files, if you're trading illegal stuff the RIAA/MPAA combo can target YOU. Before, you could leech files on Napster and let the guy sharing them take all the risk of getting caught. Now, just asking for a copy of Metallica's latest makes you guilty (of more than bad taste, I mean). It's not just "out there and you happened to pick it up" anymore. With Bittorrent you actively help trade it with others. It'll suck to be you when the band's lawyers come knocking.

Catch number three isn't so bad. It's common courtesy to donate as much bandwidth to the cause as you can. That means you DON'T download your giant file and then log off as soon as you've got it all. You're supposed to stay connected until you've uploaded as many bytes as you've downloaded, or be generous and upload even more. If nobody stayed connected the whole house of cards would come falling down. If you and everyone else has all the encyclopedia volumes except for Volume X, you're all screwed until someone who has that particular book joins in. So stick around. Let your Bittorrent client run in the background after you're done downloading. It'll help others get the same file, just like they all helped you! How would you feel if nobody helped you. Sad and lonely. Poor you. :(

So that's Bittorrent.

I've got a big file, a 1.8 GB, three-CD Linux distribution, for example. I tell my Bittorrent software to create a torrent file - an index that describes what I want to share. That torrent file is pretty small, maybe only 100KB. I upload that to a webserver somewhere and then tell a website that indexes such things about it and they spread the word. "Galoot's got a big one, and he wants you to see it!"

That website runs a tracker. which tells the Bittorrent clients of interested downloaders which parts to download from me and from each other. The tracker is sort of like a traffic cop. Soon, everyone has the giant file. The end.

Right now I'm seeding (uploading) a 208MB file. A legal one, of course. So far I've uploaded 284MB at a measly 50kB/s.Overall, though I've only uploaded 284MB, over 600MB have already been swapped around between those other folks. Meaning that I didn't have to upload 600MB to the swarm to get all that data to all those people. And that 600MB figure is going to grow a lot faster than the 284MB figure will. If enough people want this file it will grow exponentially faster. 5000 people can have this file tomorrow while I've only uploaded it maybe five times. By then I can log off and it'll keep snowballing for as long as people are interested.

That's cool! That's why I love Bittorrent.

The bad news? It can't last. It's TOO efficient. Everyone's talking about it, which means the MPAA is already shutting sites down. They closed down some really big sites in the Bittorrent community late last year already, and they're still at it.

The good news? It's a genius of a protocol, and as soon as someone figures out how to remove the central server (the index of torrent files and the tracker/traffic-cop-program) from the equation, it'll be unstoppable. As it is, if you just want to swap with your buddies you can run your own tracker program and not tell the public.

In the meantime, if you have huge legal files to share (like Linux distros or Creative Commons licensed videos or music), or want to download them, Bittorrent is the best way to do it. Check out Legal Torrents for some neat stuff. If you're feeling sassy, you can find a list of Bittorrent sites indexing files that will make the MPAA and RIAA mad at you. btsites.tk has a list of places to start.

One site you may have already heard of is The Pirate Bay. They're the ones who received a legal threat from DreamWorks, based on the DMCA, after hosting a Shrek 2 torrent. They responded with:

"As you may or may not be aware, Sweden is not a state in the United States of America. Sweden is a country in northern Europe... US law does not apply here... no Swedish law is being violated."
and
"It is the opinion of us and our lawyers that you are fucking morons, and that you should please go sodomize yourself with retractable batons.

Please also note that your e-mail and letter will be published in full on http://www.thepiratebay.org.

Go fuck yourself."


Fun.


Next post: How to properly set up your Bittorrent client (or "Why I'm downloading at 250KB per second and the newbies are only downloading at 5 or 10").
Comments:
pssst..."exeem"
 
From what I've heard, exeem will be adware and proprietary closed source. Not that that has to be a bad thing but it means that, unless they open the source up, you'll only be able to trade files using that specific program. And if it's adware, then there'll be a physical mailing address associated with it. It might be a bigger lawsuit magnet than any Bittorrent client. I also wonder exactly how closely tied to suprnova exeem really is, or if it's just a dumb marketing trick.

And there's a lot of marketing. It's either backe by someone with money or it's being yapped to death by some basement-programmer who thinks he's got the stuff to get rich by pissing off the MPAA. That I doubt.

Besides, the name makes me itchy.
 
why are you not a tech writer? that was the most enjoyable and clear explanation of a complicated concept I've seen in a long time.

-kitten
 
Post a Comment

Subscribe to Post Comments [Atom]





<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]