I've been thinking about Lightning routing and wanted to throw out an idea for discussion.
Today, routing naturally favors paths with the highest probability of success. In practice, that often means large, well-established routing nodes with large channels. That's great for reliability, but it may also create a long-term bootstrapping problem.
A new routing node can open well-funded channels, but with no forwarding history it's less likely to be selected. Less traffic means less reputation, which leads to even less traffic. Over time, this could reinforce a "rich get richer" effect where the largest routing nodes continue attracting a disproportionate share of payments.
One possible idea is to make routing *slightly* more capacity-aware. Rather than only optimizing for fees and success probability, the pathfinding cost function could include a very small penalty for using channels that are vastly larger than necessary for a payment. The goal wouldn't be to force small payments onto small channels, but to gently encourage better distribution of traffic while preserving reliability.
This could:
• Give newer and medium-sized routing nodes more opportunities to forward payments.
• Help preserve very large channels for payments that actually require them.
• Potentially improve liquidity distribution and long-term network decentralization.
There are obvious tradeoffs. Channel capacity doesn't reveal available liquidity, so any heuristic would need to be conservative and success probability should remain the primary objective. This would need to be evaluated with simulations before it could be considered seriously.
This is just an early thought experiment, not a finished proposal. I'd be interested to hear whether anyone has explored similar routing heuristics in CLN or the broader Lightning ecosystem.
@Matt Corallo Just musing on some ideas. It might be dumb but wanted to tag you anyways.
Psudo code:
```c
for each channel:
cost =
fee_cost +
cltv_cost +
success_probability_cost +
capacity_penalty(payment_amount, channel_capacity)
find_path_with_lowest_cost()
```
Maybe smaller nodes can benefit from all of these zaps on smaller channels instead of routing tiny payments though giant channels just because they're more reliable.
Login to reply
Replies (7)
This already happens by fee prioritization. New nodes are not ranked solely by reputation/success rate but by cost.
And many nodes only keep forwarding histories for a few hours. They go stale very fast.
Thanks for the reply. That's why I put it out there. The intricacies of lightning are very a lot to wrap my head around... It's the longest whitepaper by far...
Routing discovery is proportional to the destination, routes through you are discovered often by payments being made TO you.
The foolish notion that any rando, not offering any services for which they receive payments, should incur hot wallet risk to race to the bottom chasing routing yield... has been poisonous to the Lightning ecosystem.
Routing fees exist to make the network function, not to generate yield for larps... and all you should hope for is to break even while saving on chain fees making payments to *economic* peers.

Stacker News
"Be your own bank" they say, gain a 3% APY. That's a -1% APY 4yo LN node story \ stacker news
"Be your own bank". 1 BTC lightning node since 4 years, only made losses. It's a race to the bottom with every new "useless" node spinning up. Inst...
Your reply reads hostile to me. Maybe I'm just reading it wrong. It's just a brainstorming idea and that's why I asked about it. The goal of running a node has never been to be profitable for me. It's been to break even. I would just like to see a healthier ecosystem with regards to node capacity distribution.
I'm learning...
And I think LN is going to converge to marginal cost at some point.
Like everything.
It seems a better answer is to probe some (or download results from others). That way you can discover these channels have capacity before you need to use them.