Subject was "hwo do we want it?"

Oskar Sandberg wrote:

> If you can think of a single possible way to prevent this using any method at
> all (without impeding the freedom of the system) I will give you a million
> dollars. It is obviously impossible.
> 

Well, I'll have to pass on the money because it doesn't prevent it, but
I might have an idea on how to limit the effect of such behavior.

In the case where a single node starts multiple searches in parallel,
the nodes most affected would be those where these parallel search
requests meet.  In that case, you'd have two or more requests for the
same file pending on the same node with different id's.  If each request
that this node forwarded where successful, it would have to receive the
same document multiple times.  To prevent this, when a node receives a
request, it checks that key with the keys of the requests it has
pending.  If it finds a match, it does not forward that request but
merely puts it into its pending list.  If the request it did forward for
that key is sucessful, it fulfills all pending requests for that
document.  If it wasn't, it can forward a request for that document to
the second best node once, and use the maximum HopsToLive from the
requests pending for that key.  Such parallel searches would cause a
document to reside on many different nodes.  But a node would not have
to waste bandwidth receiving multiple copies of the same document.  

As part of protecting Freenet from malicious attacks, if a node is
heavily loaded and is receiving a number of requests from a single node
that is much greater than the other nodes, it could refuse to accept
connections from the trouble node until the other nodes have had a
chance.  This would be a problem if a particular node was the only
connection a client or node had to the rest of Freenet, but that
shouldn't happen.

Another sign of malicious intent would be if a node continually requests
the same large file from another node repeatedly.  After some number of
times, the second node could start rejecting that request.

Jim

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

Reply via email to