> 1) How do they work (obviously)

Simple.  requests can optionally contain an "unrequest key", which is a
SHA1 hash of an arbitrary string unknown (at that time) to the node.  On
retrieving data, they store this key in the message memory (where it
will remain until reaped), along with the node from where the datareply
was received.

Should a node wish to unrequest some data, it sends an unrequest message
which contains the unhashed version of the unrequest key, thus verifying
the validity of the unrequest.  On receiving such an unrequest a node
attempts, to whatever extent possible, to undo the effect of the
original datarequest and its resulting datareply.  It then forwards the
unrequest on to the next node in the chain (unless it is the original
source of the datareply).

> 2) We must be able to prevent unrequest spamming (which is a way of
>    eliminating freenet data)

I think the method I describe does it.

> 3) How do we propogate an unrequest?  It has to touch everything the
>    request did, within HTL depth.

Ditto.

Ian.

_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev

Reply via email to