BitTorrent - The Future of the Internet?

by spite  (Spite_fowl@yahoo.com)

There's no doubt that the majority of you know what the BitTorrent protocol is.

But how many know what it means?

BitTorrent has been popping up over the Internet this past year at a fantastic pace.  Mostly used for warez, it can now be seen popping up in various legitimate websites to share legitimate files.  The concept isn't new.  In fact, a similar approach has been used on the eDonkey P2P network.

Here's a crash course on the BitTorrent protocol.

BitTorrent is made up of four sections:

Trackers:  Keep track of downloading and uploading activity, seeders and peers, addresses, file information, and hash information.  A tracker is the server that is basically the brains of the entire operation.  Without a tracker you cannot get a list of peers and seeders, nor verify file information for the file you are downloading.  A torrent file is shared and contains this tracker URL.

Torrent File:  Contains Tracker URL and file information.  Used in conjunction with BitTorrent client to begin transfer.

Seeders:  Peers that have completed the file.  They begin the transfers to other peers.  Peers that have finished the file(s) automatically become seeders until the transfer is closed.

Peers:  Users who have not completed the file(s).  They send and receive chunks to and from other peers.

The reasons BitTorrent is so unlike other P2P protocols:

Swarming Downloads:  Peers upload and download to other peers, not from a centralized server.  The load is shared between everyone connected by the tracker.

Non-Linear Transfers:  A file being shared by BitTorrent is split up into chunks.  The chunks are not sent in linear fashion.  Instead you will receive whatever is available to be sent.  Which means that you may have 90 percent of a file, but not the beginning 10 percent.  Or you may have the beginning and end of a file, but not the middle.  This way there is no waiting for your next chunk since you can take what is available and send anything you have.

Hash Verification:  Each chunk of every file creates a hash check, which must be compared to the original hash made available on creation of the torrent.  If chunks do not pass this check, they are simply dropped and re-downloaded.  Your download cannot be complete until the hash is verified.

Upload Rewarding:  Transfers are tit-for-tat, meaning the more you upload, the more you download.  This can be good and bad.  See below.

Negatives

With Upload Rewarding, if you have limited upload, your download can be severely affected.  By not uploading, you lose most of your possible peers to download from and will continue at a slower rate because of it.

My feeling about this is that broadband is getting cheaper and faster.  Soon most connections will be symmetrical.  If you upload the exact amount as you download, server load could all but disappear.

What does this mean for the future?

As I said earlier, the BitTorrent protocol has been used on various legitimate websites, such as the 3D Gamers and id Software websites this past year.  A possible future of completely distributed networking seems ridiculous to some, but in my opinion is very possible.  Imagine that with every file downloaded, you would upload at the same speed for the duration of the transfer.  If this is done, beyond the starting seed and tracker bandwidth, server load would in fact disappear.

There are a few possible problems inherent in this idea.

Many people don't like to be forced to share their bandwidth.  This is because the majority of Internet connections do not have symmetrical upload/download bandwidth.  Your upload bandwidth is maxed long before you download, and when this happens it affects your download speed.

Security is another possible problem.  While a peer checks every chunk it has completed to determine whether or not it is authentic, there is no check before or after transfers are established.

When you're connected with BitTorrent, you are given a list of all IPs receiving/sending data from/to you.  Since you established the connection in full knowledge that you would be sharing with other people, you cannot call this an invasion of privacy.  But what about when you don't have the choice?

When given the chance to download from one HTTP or FTP server, why take the risk?  When you're managing a popular server's bandwidth, it's obvious the benefits would outweigh the negative.

Why not share the load?  The complete switch may not be far off, and then the users' choice won't matter.  Is this good or bad?  That's yet to be seen.

BitTorrent official homepage: bitconjurer.org/BitTorrent

Return to $2600 Index