On 11 Jan 2007, at 01:51, Gregory P. Smith wrote:
BitTorrent makes the process of where to put files far more
cumbersome than should be necessary, though. There's really no
reason to
create "torrents" apart from plain old files. All you need is a
hash of the
file and a service for looking up duplicates. This is again an
issue of
protocol layering.
You need a secure hash of each individual chunk of the file that you
intend to download as a unit from a given source (hashes over smaller
regions that combine to have the same effect naturally work just as
well). This is effectively all a .torrent is.
Why? Because computers suck and that will -never- change. Most have
non-ECC RAM and many still use parallel ATA hard drives. Both of
which are prone to passing undetected bit errors in data on. On top
of that crappy consumer network equipment can corrupt data even
further. These are why if you run bittorrent you'll see it receiving
pieces of the file that fail the hash check and redownloading them
from somewhere else.
A distributed download protocol that does not do integrity checking at
or near the transferred chunk size is doomed to failure. If you only
have the overall file hash how do you determine which part of the
thing you received from 50,000 peers is bad? rsync ain't gonna cut
it.
Mostly its so peers dont just pretend they have the data though, rather
than accidental corruption (though people are more concerned about
the TCP
CRC failing now than they used to be - read the section in iSCSI for
some figures.
Justin
_______________________________________________
p2p-hackers mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/p2p-hackers