ydl30.torrent available

Morgan Doocy yellowdog-general@lists.terrasoftsolutions.com
Fri May 2 16:26:01 2003


> Can you elaborate as to why you need to do this?

You can read more about how BitTorrent works at its website:

http://bitconjurer.org/BitTorrent/index.html

If you want the real nitty-gritty stuff, you can read the actual 
protocol specification:

http://bitconjurer.org/BitTorrent/protocol.html

But if you just want a summary, here's how it works. BitTorrent:
- Preallocates enough space for the entire file on disk
- Receives small bits of the file from other peers
- Writes the bits to disk
- Immediately passes the same bits on to other peers

It only downloads the bits you don't already have, and the bits don't 
have to be sequential: BitTorrent will receive random parts of the file 
(whichever bits the people you are connected to happen to be uploading 
at the time), and write them to the correct locations in the 
preallocated space, thus correctly reassembling the entire file in 
random order. It also uses cryptographic hashing of each piece of data, 
and verifies the integrity of each piece as it's received; therefore 
once the download has been completed successfully, you know you've got 
an exact copy.

You can think of it as a constant stream in from random sources, and 
out to (different) random destinations. A web of interconnected 
machines constantly distributing the data to each other. As long as 
you're connected, you remain a part of that interconnected web, and 
thus assure its continued existence. Once you disconnect, the web loses 
a node for transferring the data, and loses a portion of its bandwidth 
capacity. There is also a built-in anti-leeching algorithm which will 
penalize you for not uploading, because that's how the entire thing 
works: as soon as you receive a bit of information from someone else, 
you pass it on to someone who doesn't have it yet.

I guess you could think of it just like any other peer-to-peer file 
sharing, except that rather than transferring an entire contiguous file 
over a single connection between two people, you're just sharing little 
random bits with many different people which the program gradually 
reassembles to make up the original contiguous file. The more people 
sharing the file, the faster an individual node can receive it. 
Distributed Peer-to-Peer.

To give you an example of the difference in download speeds, I'm maxing 
out my Cable connection at about 175K/s. Compare that with maybe 
25K/sec x 3 files if I were downloading from a swamped mirror, reducing 
download time by over half (57%).

Pretty nifty huh! :-)

Cheers,

Morgan