On Fri, Apr 20, 2001 at 08:28:55AM -0700, Ian Clarke wrote:
> There are a number of reasons why this is a bad idea, the easiest to
> explain is that if you can ask a node whether it has a file, then it
> makes it easier to prove that a node was caching a file, and under some
> legal systems, this would allow you to justify shutting down the node.
OK, how about this: you send the item you're about to drop to a
neighbouring node. If it has space (unlikely), it stores it. If it doesn't
have space but it has a copy of the same file, it politely accepts your
file and carefully stores it in /dev/null. If it doesn't have space and
doesn't have a copy of your file, it stores your file and sends the file
at the bottom if its datastore to another node, to make room. Repeat until
either free space or a duplicate file is found. Any node in the chain can
refuse to accept a file, in which case the sending node drops the file
(which would have happened anyway). Any node in the chain can forward the
same file that it accepted (instead of the one at the bottom of its
datastore), so if a node asks you to store a file there's no proof that it
ever stored the file - it could just be forwarding the file for one of its
neighbours.
Advantages:
* Less files are dropped - where possible, local redundancy is reduced
instead of dropping files that might be unique. Files live for longer and
the storage capacity of Freenet (in terms of unique files) is increased.
* You can't tell whether the node stored the file in free space, dumped
the file because it already had a copy, or stored the file and displaced
another file. So you can't prove that the node ever had the file before
you supplied it.
* Most files are only displaced by one hop, so requests can still find the
displaced files.
Disadvantages:
* If you get a long chain which ends up with a file being dropped anyway,
you have wasted a lot of bandwidth for nothing.
Michael
_______________________________________________
freenet-tech mailing list
[EMAIL PROTECTED]
http://lists.freenetproject.org/mailman/listinfo/tech