On Fri, Aug 18, 2000 at 04:37:06PM +0100, Michael ROGERS wrote:

> If it had to be a function of the key (and only the key) it could not take 
> into account which nodes the node knows about and which nodes it doesn't. A 
> routing algorithm based on the key (and only the key) would require perfect 
> knowledge of the network.

But what nodes the node knows about IS a function of the key. Or rather it
is a function of the earlier keys requested from this node, which is what
caused the key to be send to the node in question.

> The key is the only *variable* input to the algorithm, but there can (and 
> must) be other, constant inputs - the addresses of neighbouring nodes, for 
> example. (In fact these are not constant, they're slow-changing, but ideally 
> they would be constant because every change damages the network by breaking 
> the determinism of routing.)

Their is really no such thing as neighbor nodes, and the set of references
(addresses to other nodes) is not static. But the set of references _is_ a
function of the keys requested from the node.

> >Note that where we started (looking for the best connection) is NOT
> >included in this definition. And whether everybody is doing it actually
> >has little to do with it (because while the key value looks the same to
> >everyone, the physical network topology looks completely different).
> 
> Yes, and the speed of each connection is part of a node's knowledge of the 
> network topology. How is it different from the knowledge that a node exists? 
> Think of it in terms of a weighted graph - each address has a weight. 
> Addresses which are not known to host nodes have infinite weight. Addresses 
> which are known to host nodes have a finite weight, representing the speed 
> of the connection. The routing algorithm takes the graph representing the 
> network and the key as its inputs. The only difference from the current model 
> is that in the current model, all finite weights are equal.

Freenet assumes that all nodes can communicate. Knoweledge that a node
exists does not have to do with the physical topology of the network at
all, if it exists, then the node can know about it.

Whether Freenet works in a situation where all nodes cannot communicate
(say a wireless situation with a limited range, or even multiple networks
with different transports) is just as much up in the air as whether
weighing the connection for speed works.

> >It is too a function, just not a function of the key value. But then
> >neither is the quality of the connections (for the two hundreth time).
> 
> Not a function whose only variable argument is the key, then. Whatever.

Mathematically, "function of key" means "function that has key as a
variable" and "function of only key" means "function whose only variable
is key", so you are just repeating what you disagreed with above.

-- 
\oskar

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

Reply via email to