HTL has 2 main problems: First hop - Incoming HTL values can be used to determine if a node is likely to be the originator of a request HTL-1 - Malicious node may find out if a node contains specific data.
One suggested solution to both of theese is to abandon HTL for a probabalistic forwarding approach, but that suffers from a huge variance in request times. The more probability-based the forwarding, the higher the standard deviation of request times. The more statically decremented the HTL value, the more vunerable it is to analysis. A solution to this could work in 3 steps: 1. HTL|P mode - HTL stays the same until the probability turns up negative 2. Normal HTL mode 3. HTL 1 mode - requests keep on going on with P(forwarding) probability. Nodes can specify HTL|P, HTL, and P(forwarding). P(forwarding) has a minimum value so that malicious nodes have a harder time determining if a node has specific data. The HTL of all 3 must be below MAX HTL, where the HTL of the first and third steps is counted by the average number of hops at that probability. If the total HTL exceeds MAX HTL, then P(forwarding) is decreased first (down as far as its minimum value). Then, the normal HTL is decremented, then the HTL|P, as necessary. If a node doesn't care about the request time, it could start at HTL 1 mode with a high P(forwarding). This way, the first hop cannot be analyzed. If a node wants a lower standard deviation, it could start in HTL|P mode with a moderate first probability, the minimum P(forwarding) value, and a higher HTL. Actually, instead of sending HTL|P and P(forwarding) as a probability, they could be sent as the average number of desired hops, and the probability could be calculated off from that. To keep it simple for users, P(forwarding) could be kept at the default minimum and HTL|P and HTL could be calculated based on the HTL a user puts in. For examle, an HTL of 10 could be converted into an HTL|P of 0.87 (average 5 hops), and a step 2 HTL of 5. Or users could input HTL|P as the average hops, and the probability could be calculated based on that. Just my $0.02. Scott Young _______________________________________________ devl mailing list devl at freenetproject.org http://hawk.freenetproject.org/cgi-bin/mailman/listinfo/devl
