4 ms·
there are two topologies - one is a global spanning tree, similar to yggdrasil. but then the chain (or snake) simply orders the nodes which are close on the spa
by Arathorn 6y ago
there are two topologies - one is a global spanning tree, similar to yggdrasil. but then the chain (or snake) simply orders the nodes which are close on the spanning tree numerically based on their public key, and routes via them even if the spanning tree topology changes. So you’re basically swapping between the two topos based on what works best.
(This is based on word of mouth tho so I may have it totally wrong :)
- anticensor 6y agoThat is still fragile.
- neilalexander 6y agoIt’s not just that each node has two routing table entries - there are more routes available than just the keyspace neighbours. There are also plenty of transitive paths from other nodes seeking out their keyspace neighbours, and routes to the spanning tree root and ancestors that you learn effectively for free. It is actually surprisingly robust in the testing we have performed so far (some simulation, some with real world devices).
- anticensor 6y agoIs it self-stabilising?
- neilalexander 6y agoYes. If nodes disappear then the next bootstrap packets, which currently run at a set interval, will find the next nearest keyspace neighbours and then sending setup packets will allow the network to build new paths. Similarly, the spanning tree also recovers by creating parent-child relationships using functioning paths.