I have had some lingering doubts about subscription requests and HTL.

Here is a solution:
- We have already decided that the root node is the node which cannot
  find a closer node to the target within a certain HTL hops.
- We can logically extend this: the root node is the node which cannot
  find a closer node to the target within maxHTL hops.
- It therefore follows: We route the subscribe request as normal,
  decrementing HTL when we don't get closer to the target. The closest
  node found will then get a DNF back from the rest of the chain. If it
  sent the request onwards at full HTL, it immediately knows it is root.
  If it did not, it resends the request at full HTL. If *that* produces
  a DNF, the node knows for sure that it is the root. If it produces a
  SubscribeSuccessfulNewRoot, we have found a new root; if it produces a
  SubscribeSuccessful, we have found an existing route downstream (which
  should be a rare event).

/me wonders what sort of routing churn this is going to survive...

Obviously there are attack vectors, but there are attack vectors on
requests and especially inserts - you can just swallow an insert, for
example. This is made much worse by the new routing algorithm, but we
will try to find ways to secure it against internal attackers...
eventually.
-- 
Matthew J Toseland - toad at amphibian.dyndns.org
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: 
<https://emu.freenetproject.org/pipermail/tech/attachments/20050922/3b5c0d16/attachment.pgp>

Reply via email to