Skip to content

Improve maxparts constraint in askrene #8486

@Lagrang3

Description

@Lagrang3

To properly address issue #8331 according to our MCF linear approximation
we need to introduce a penalty for the use of multiple paths in the routing solution.
This is tricky to do though.

A possible idea is to penalize the use of every single channel in the final solution, ie. add activation costs
for channels (not arcs). Activation costs are already useful because they allow us to introduce
the consideration of base fees and constant probability of failure for every channel.
By adding an extra activation cost per channel we can reduce the number of channels used
and thereby limit both the length of the routes and the number of routes.
Though we still wouldn't have the individual control over each one of those.

To proceed with this idea we need to complete the following tasks:

  • modify the MCF module to add an extra node and arc for every channel in order to increase cost of routing
    only once for every channel activated
  • penalize every channel traversal with a constant probability cost associated to the probability of that channel
    being unavailable or rejecting new HTLCs. Implemented in PR [WIP] Askrene: add activation cost to channels #8543.
  • in the linear_routes main loop add a penalty parameter to the activation cost of channels that we increase
    when the number of payment parts exceeds maxparts. Implemented in PR [WIP] Askrene: add activation cost to channels #8543.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions