Matthew Toseland wrote: >So is the idea that you request a whole file, or a block? > The idea is that you can choose. I'm trying to come up with a standard ID format that covers both approaches, so that files published with one approach (maybe on Freenet) can link to files published with the other approach (maybe on I2P).
Here's how I see the tradeoff: with CHK trees, intermediate nodes can't see the structure of the tree - every block appears independent. This conceals the size of the file, but requires one insert message, one request message, and one cache entry per block. With hash trees, intermediate nodes can see the structure of the tree - only the data blocks (the bottom layer of the tree) are encrypted. This reveals the size of the file, but allows incremental verification, so you only need one insert message, one request message, and one cache entry per file. I suppose you could pad the file to the nearest power of 2... it would still use less bandwidth than one request per block. Cheers, Michael
