[Lightning-dev] Routemap scaling (was: Just in Time Routing (JIT-Routing) and a channel rebalancing heuristic as an add on for improved routing success in BOLT 1.0)

ZmnSCPxj ZmnSCPxj at protonmail.com
Mon Apr 1 03:31:31 UTC 2019

Good morning Rene,

> Maybe I oversee something - in that case sorry for spamming the list - but I don't understand how you could know the distance from yourself if you don't know the entire topology? (unless u use it on the pruned view as you suggested) 

That is correct, and the reason that it would still lose determinism (and thus be hard to test anyway), as I lamented.
At least for a pruning heuristic like you proposed (i.e. probabilistically prune channels) it is possible to make deterministic with a fixed RNG seed.

For instance a node might concatenate its own public key with the short-channel-id (in some fixed byte order) of the channel, hash the concatenation, then use the hash as the seed of an RNG that gives 1 bit, and prune the channel if the bit is cleared (to remove half the channels in the routemap).

> On the other hand querying for a certain depth would be possible with the suggested `query ask egonetwork` in case for depth 3 one would have to peer with the nodes from the friend of a friend network. 

But for this, you would require that every node also keep every channel with depth less than your maximum query amount.

Perhaps for friend-of-friend, it might be sufficient to just query a peer to give its own direct public channels, which it needs to remember anyway.
But that is basically only a depth of 2 (if we count depth of 1 as your direct channels).


More information about the Lightning-dev mailing list