[Debtorrent-devel] Discussion with Alan, montorrent developer

Cameron Dale camrdale at gmail.com
Wed May 23 22:16:53 UTC 2007


I just had a LONG chat on IRC with _Alan_, the implementer of
monotorrent, about some of the issues. Since it generated some
interesting ideas, I thought I'd summarize some of it here for
discussion.

1) Packages files may not need to be distributed through DebTorrent.

This is due to the current use of pdiff files to update Packages
files, which will be more efficient than downloading full Packages
files through debtorrent (for the user anyway). There may be a way to
download pdiffs in some kind of torrent, but this complexity is
probably not justified by the savings. Either way, I think Packages
file downloading should be put off until later. This also simplifies
the proposal for modifications to apt-ftparchive:

http://wiki.debian.org/DebTorrent/Apt-ftparchiveProposal

However, one of the proposed changes to support downloading Packages
files was to use a separate Packages.pieces file, containing the
hashes of the Packages file pieces, which avoids avoid having to put
this information in the Release file. Now I wonder if this method
shouldn't be used to store hashes for individual packages. Instead of
putting those hashes in the Packages file, have another file (again
Packages.peices) that contains just the piece hashes for files larger
than the piece size.

2) Piece hashes for files could be communicated within the protocol.

Instead of storing these piece hashes somewhere, the communication of
them to peers could be through the protocol (e.g. with 2 new messages,
REQUEST_HASHES and HASHES). I'm not sure how I feel about this one. In
one sense it sounds like a good idea, but the complexity level is
quite high. As a result, I would say this should be done later, except
that it removes the need for almost any changes to apt-ftparchive, and
therefore should be thought about now.

3) Use a single torrent per package combined with DHT to find peers

This does solve some of the issues, but creates others too. I'm not
even sure how this would work, as it sounds to me like a completely
different P2P protocol than BitTorrent. Not that that's bad though, as
BitTorrent may not be the best solution to this problem. It's the one
we're using though. Anyway, Alan promised to write it up as a new
proposal on the wiki, so stay tuned to that.

Cameron



More information about the Debtorrent-devel mailing list