NOTE: THE CODE IN THIS DIRECTORY DOESN'T CURRENTLY WORK, AND IS NOT BEING MAINTAINED. IT'S HERE IN CASE SOMEONE WANTS TO REVIVE IT. ----------------------------------- Bittorrent file distribution system ----------------------------------- When several workunits require the same file (for instance any particularly big application file) it is really a waste to use a central server to distribute this file. First of all a central server requires lots of bandwidth - which may be quite expensive. Secondly getting 10'000 requests for the same multi-megabyte file may be too much for even the largest of servers. The solution is to harness the power of peer-to-peer computing in the domain of volunteer and desktop grid computing by allowing the clients to share pieces of the files they are downloading. How it works ------------ Since noone can be trusted, "Bob" (a client) will need some way of knowing if "Eve" (another client) sent him a valid piece of the original file. To enable him to do so Bob has downloaded a .torrent from the project servers. The .torrent describes the file he is downloading; it contains hash values for each piece so that he can check whether "Eve" is trying to cheat him. If "Alice" also wants to download the same file as "Bob" they can each fetch a different piece from the project servers and then share the pieces. Seen from "Bob" and "Alice"'s perspective this potentially doubles the download rate (if you see it from the project perspective it cuts the required network bandwidth in half). As more people join the synergetic effect increases dramatically. Isn't Bittorrent illegal? ------------------------- Bittorrent is a protocol for sharing files across the internet. As such it cannot be illegal in itself - it is what you do with it that matters. If you take a look at all the filesharing protocols out there Bittorrent seems to be the one that has been taken into widespread use in the whitehat part of the internet. Several major companies, including the movie industry, have adopted the technology because of its unique ability to distribute load. To name a few uses: - Bittorrent.com (Works with the movie industry, sells movies and shows) - Blizzard Entertainment (Uses BT to distribute data patches for their World of Warcraft game) - EletricSheep screensaver (Uses BT to distribute computed "dreams") How do I enable this? --------------------- Have a look at the INSTALL file located in the same directory as this file.