ElementsProject / ElementsProject/lightning

Improve maxparts constraint in askrene

Open
#8,486 0 comments 0 reactions 1 assignee Claimed by @Lagrang3 View on GitHub
Boltz Status::Blocked
Dominant language
C
Stars
3.1k
Forks
1k
Avg merge
4d 10h
Merged PRs (30d)
13

Description

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~~
- [x] 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 #8543.
- [x] 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 #8543.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.