TLDR : Do you think a routing node should choose the peers that bring more nodes nearer, or more edges nearer?
Context:
I'm writing a lightning node channel advisor for routing nodes. The current method will, for a given transaction ammount, and a given max fee, check how many nodes and how many edges are reachable up to that max cost, in each direction (inbound, outbound).
Then, it will check, from the peers that are not yet connected, how many new edges/nodes would be reachable if a channel was open to it.
For now, i assumed the best candidate to connect to would be the one that would make reachable the most edges, in the liquidity direction where the node currently reaches the least edges.
But, taking my own node into account, it seems i am in the case where the direction i can reach the smallest number of channels, is also the direction i reach the most nodes.
So if i do the wrong assumption of what is better between more nodes nd more channels reached, i might actually do suboptimal choices: Choosing to optimize the wrong direction, on the wrong criterium.
My rationale for favouring more edges was:
- it's the capacity that can be moved, not the number of edges, that gives potential traffic
- 1sat=1sat, so channel capacities can be (somewhat) compared. One node is far less likely to be comparable to another, so reaching N more nodes is les meaningfull than reaching N2 more edges
But you could say for the opposite argument
- It's the nodes themselves that initiate the payments. -1 node could have 500 edges, some to nodes already reachable, without guarantee of a cheaper cost for the new paths
Hopefully someone has an opinion on this?
Bonus question : i feel like there is not really a good place to discuss such subjects. Things that are not development of the protocols themselves, but somewhat developement related. Is there a good place i wouldn't be aware of?