On Sat, 25 Apr 2009 19:23:22 +0100, Matthew Toseland wrote: > ... IF the 3 nodes which stored it to their datastores are online > when you fetch and there aren't any problems contacting them (e.g. on > darknet they might have swapped).
I'm still a little confused about what a routing key is. You seem to be using it interchangeably to mean either "the hash of the encrypted padded data", or "the location/some-other-kind-of-id for a node". Why are we even talking about actual node-ids (that were sent the original data)? They may very well not even exist after a month or so. (Ie. others request the blocks from them, and all three of their computers blow up, or they abandon freenet.) Why isn't the top block (FEC-) redundant again? If there's a technical reason for it, then I think we should actively and transparently cache these "special" blocks. Hacking in soon-to-be-obsolete node references seems like an ugly bandaid solution -- ie. it /might/ extend the key lifetimes by a bit -- maybe a few weeks longer -- but still not nearly as long as the data blocks would persist for. These "top blocks" perhaps should be placed in a separate queue and regularly and actively spread to peers?