[Delayed reaction due to me still catching up on reading ruby-talk after
no mail access for a while... Up to october 1 now...]
Han said:
continuously offering these bittorent files, simple FTP download speed would
be the lower boundary.
Apparently there is more overhead in the bittorrent protocol than I thought.
The problem as I understand it is that bittorrent is really best for
distributing
small numbers of large files. A single tracker can coordinate things for
lots of
files, but as far as actual seeding goes (the act most analagous to a system
providing an ftp download), it's unusual for more than a few files to be seeded
at a time. (The original bt client, I believe, would only allow three
instances to
be open at a time.) This works well enough for, say, having downloads of linux
cd images. (Which is how I got mine the last time I tried doing anything with
it.) Not so good for something like rubyforge, where you have a very large
number
of small files - you could make a torrent of the entire thing maybe, which
would
be useful to almost no one...
I've thought off and on about a system that could deal with this sort thing
better.
Something with the file verification systems like bittorrent (both to
protect against
ordinary data corruption and malicious file modifications), that allowed
passively
seeding files - if someone wants it, it's available, but if not, resources
aren't
wasted on it. Also less dependence on a single central server, since running a
high-usage bt tracker seems to be very hard on a system. Throw in some
public/private key to allow validation of <whatever file replaces .torrent>
files
that were acquired through an untrusted source...
Mostly there's three things that have kept me from actually trying to make
this.
1. I don't know enough about ruby (particularly thread handling) to make it
work.
2. I don't know enough about designing network protocols to make it work.
3. I doubt my ability to convince enough other people to use it to make it
worthwhile.
-Morgan, hates seeing "seeds: 0"...