Track Channel Liquidity History in ProbabilisticScorer (routing, ProbabilisticScorer)
https://github.com/lightningdevkit/rust-lightning/pull/1625
Host: ariard -
The PR branch HEAD was 09a1788 at the time of this review club meeting.
Notes
- LDK scoring infrastructure was introduced in #1507. Previous attempts to capture a flexible scoring API have been explored in #626.
- Numerous improvements have been added to this subsystem with #1197, #1227, #1347, #1375 and #1555.
- This PR introduces the notion of historical tracking of the channel liquidity balances.
Questions
- What’s the general steps of our routing algorithm
get_route()? At which step the scoring penalty interfers ? - What’s the current scoring strategy implemented by
ProbabilisticScorerUsingTime? What are the key findings ofOptimically Reliable & Cheap Payment Flows on the Lightning Network? What are the limitations ? - How the current
penalty_msat()is computed ? How the boundsmin_liquidity_offset_msat/max_liquidity_offset_msatapplied in function of the routedamount_msatinfluence the result ? - What’s the new
HistoricalBucketRangeTrackeraims to achieve in terms of payment reliability ? - How the current LDK probing interface
send_probe()works ? What could be a LDK automatic probing strategy ? What are the limits of probing ? ProbabilisticScorerUsingTimeworks well for high-payment volume or actively probing nodes. This is limited for low-payment volume nodes. How this can be solved today ? Can we imagine a distributed and trust-minimized scoring algorithm in the future for such nodes ?