lnd/simulation/params_lnd_patch.json
Olaoluwa Osuntokun 9c07cbe7f6 routing: the distillation patch, one live fix and one measured negative
In this commit, we land exp-021's instrument: two flag-gated changes
to lnd's own payment stack, byte-identical to stock with both flags
off (proven against a pre-change binary across four tiers).

soft_unknown is the live half. An unreadable failure now penalizes
exactly one pair (the lowest-probability hop at the attempt amount)
instead of every pair of the route in both directions, which is the
mechanism exp-019 showed spiraling lnd into give-ups from a 10%
unreadable-error rate. The smoke shows the intended signature: with
the flag on, lnd's trajectory is invariant to the unreadable rate.

adaptive_split is the measured negative, kept as instrumentation.
Three designs were built and each reduced to the same thing:
descend geometrically from the learned bound, which lnd's blind
halving already does at the fastest ratio of any variant, for free.
The supremum search paid a wire attempt per linear step; the backoff
variant re-derived halving with a slower constant; the
expected-value ladder degenerates to its top rung under apriori's
flat belief and cannot escape the retry loop bimodal pins itself
into. The conclusion the writeup carries: the reactive split-retry
control flow is not where the evolved routers' edge lives, so the
distillation question moves to plan-time mechanisms.
2026-07-27 11:48:24 -07:00

21 lines
422 B
JSON

{
"estimator": "apriori",
"apriori": {
"penalty_half_life_sec": 3600,
"hop_probability": 0.6,
"weight": 0.5,
"capacity_fraction": 0.9999
},
"bimodal": {
"scale_msat": 300000000,
"node_weight": 0.2,
"decay_time_sec": 604800
},
"attempt_cost_msat": 100000,
"attempt_cost_ppm": 1000,
"min_probability": 0.01,
"patch": {
"adaptive_split": true,
"soft_unknown": true
}
}