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_msat
applied in function of the routedamount_msat
influence the result ? - What’s the new
HistoricalBucketRangeTracker
aims 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 ? ProbabilisticScorerUsingTime
works 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 ?