Past EED rants


Live leaderboard

Poker leaderboard

Voice of EED

Friday 2 May 2003

Bittorrent - the Ultimate P2P system [lurks]

There's no doubt in my mind that peer to peer networks (P2P) provided the killer application of the Internet for the new Internet users the world over. That so because it offers all of the content up that the Internet ought to be offering for download. Of course because the world's corporate copyright holders have been Internet luddites from the start, they're not offering their content on the Internet officially and so P2P networks are almost exclusively based on illegitimate copyright material.
With the aid of fast CPUs, big hard drives and broadband Internet - it's now possible to steal virtually any type of content and distribute it worldwide without fear of retribution. Barely a new television show airs in the US without being videograbbed, recompressed and shoved on a P2P network in much the same way as music was with Napster. I'm not going to talk about the moral and legal issues here, I've just illustrated this progression as a historical backdrop.
Obviously a few industry representative bodies went after anyone they could with the law rightfully on their side. So those early P2P systems that relied on centralised file listing and serving, IE the Napster model, were shut down. So the next generation of P2P software was based on the Gnutella technology, a distributed searching system but ultimately nodes had to serve up entire files single handedly and that was still possible to track down although it remains very difficult today. ISPs have begun to block common ports and cap bandwidth to stop home broadband users from operating P2P clients permanently serving files 24 hours a day.
Then came the latest generation of P2P systems. A clever Californian going by the name of Bram Cohen, sat down with Python and crafted a truly distributed P2P system designed for distributing large media such as films and television. It's called Bittorrent and it differs from traditional P2P systems in that it doesn't handle mass amounts of files, searching or anything like that. Instead it provides a 'swarming' architecture whereby lots of pieces of these large files are passed around from client to client, distributing the bandwidth burden and making it dramatically harder to track in the process.
Bittorrent certainly isn't a general purpose solution. It's not for lots of files and has no search features of it's own so it's likely to compliment existing P2P technologies such as Gnutella and Direct Connection. However it does provide some powerful technology which is remarkably easy to use. From the user's perspective, all you need to do is install the client and it associates itself with *.torrent files. So all you need to do is download and run a *.torrent file (typically by just clicking on a web link) and a lightweight little window pops up asking where to download and it kicks off.
Under the bonnet what's happening is rather more complex. The torrent file contains the URL for a 'tracker'. This is basically a small webserver daemon that runs on the Internet and acts as a broker for clients. It doesn't know anything about the files that are being shared, it doesn't even know the filename. What the tracker does is tell the clients about other clients who are downloading the same file. It keeps track of the 'pieces' of the file and lets the clients know who has other bits of the file.
It's up to the clients themselves to open connections to eachother and and download pieces they don't have and upload pieces they do have to other clients. What does all of this mean? Well it means that one person can host a large DivX, for example, and they only end up uploading it once and all the rest of the clients download it from eachother. So there's no burden on a single 'warez' server. People downloading it often get it extremely quickly as they get parallel downloads from different people. Click on one of the torrents on this page and you'll see some statistics of Bittorrents in action.
Bittorrent is, depending on your point of view, the ultimate nightmare of Internet piracy or an open-ticket to warez on a massive scale without the hassle. As such it's going to force the assaulted industries to consider where the Internet is going. They'll need to consider that it's really about time to offer this content on the Internet for sale with effective micropayment mechanisms. Only the availability of top quality official content can stem the tide that has already begun with this technology.
I view this as having a parallel with piracy way back in the 8-bit computing days. You wouldn't have bought that Spectrum or C64 unless you could get all the games on tape from your mates at school. In such a way I think that these combined P2P technologies are and will continue to provide in an escalating manner the killer application for broadband Internet. And then, finally, the big corporations will start to think about selling their content electronically at last.
In the mean time, oh boy is Bittorrent the nuts.


  1. BitTorrent is a hugely useful bit of tech outside of pirate applications, of course, because it bypasses bandwidth costs for hosting large files. I've used it for a couple of bits and pieces that I've wanted to host without killing my server's bandwidth contract - and it works a treat. I see that RedHat is using it to distribute Linux ISOs now, and I'm sure a lot of the larger open-source distributions are going to follow down this road as well.
    On a smaller scale, the kind of tech BitTorrent uses could be the saviour of hugely popular webcomics like Penny-Arcade or Megatokyo, which are often the victims of their own success because of bandwidth costs; or even Internet art sites like DeviantArt, which experimented with a BitTorrent-alike system that didn't work so well about a year ago, but could do really well with the robust tech behind BitTorrent itself.
    Swarming tech is The Future - for as long as bandwidth costs continue to be high, at least.

  2. It's worth mentioning that Bittorrent includes a hashing system which makes it a lot more effective at beating 'spoiler' type misfeeds. It's true that you can now use md5's to verify authenticity in kazaar, but not many people bother. It's built into Bittorrent, which is fab :)Superb for other legit uses like big game demo's and patches. Be nice if more legitimate companies would support bittorrent, it might take away the piracy stigma of p2p and help save some money too!

  3. I knew there was something I left out. Absolutely, there's good legitimate reason to use this sort of technology for plenty of kosher applications. However I fear that Bittorrent itself will get associated with piracy in much the same way MP3 did - so you'll find the bigger boys reluctant to be seen near it. Instead they'll create their own which is half as good and a pain in the arse to the user, in much the same way as they did with music compression stuff.Bit yeah, it's perfect for patches and demos. No more waiting for companies to get their act together sending it to a dozen mirrors. Just slap up a .torrent and host it on your regular web server, even capping the bandy!

  4. Funny you should mention that! :)

  5. As we should have expected given this cryptic comment, Eurogamer has relaunched, we can see that you are launching a Eurogamer files service. Apparently based on Bittorrent. This is great stuff but I have two potential issues with this.
    Firstly, you've ripped off Bittorrent wholesale but don't mention it whatsoever. I see you've even renamed the .torrent files to .egfile and inserted adverts into the client. So basically you've taken an open source project and ripped it off to your own ends. The MIT license allows you to do that, of course, presuming that credit remains in the source.
    However it does seem a bit rich to set up a P2P file sharing network which relies on bandwidth sponged off clients and then serve them adverts as well! Not to mention the issue that you're only doing your client on Windows when quite obviously BT itself is cross-platform. Your FAQ is deceptive, clearly movies as a common download and just as relevant for Macs and Linux folks.
    If indeed, as I suspect, the client will be based on the Python client then presumably one can just associate an existing client with the .egfiles? Or will it be broken subtly enough so that one has to use the EG BT client? Presumably then you will provide the source so that some enterprising soul can create an 'EG.file' compatible BT client that does run on all operating systems minus the adverts?
    Am I being harsh here? I'm all for the principal, using this technology for a file service is a damn good idea, however I'm concerned about what you've done with the client. Have you considered the press when /. gets a hold of this?