5

I've read the paper "Optimally Reliable & Cheap Payment Flows on the Lightning Network" by Rene Pickhardt & Stefan Richter and I'm tempted to assume the answer to my question, but I still have some nagging doubts. So, I'll ask here.

It's clear that setting base fees to zero helps the pathfinding system because base fees don't scale linearly - they're zero when the value transferred is zero, and a fixed non-zero amount when the value transferred is non-zero.

What's not clear is whether setting a minimum HTLC will affect the pathfinding. Some people have pointed out concerns that with a base fee of zero, the routing fee can be rounded down to zero on small payments. That'd allow someone to spam a larger payment through as a series of tiny payments at no cost. Setting a sufficiently sized min HTLC (sufficient for your fee rate so that all routes are at least 1 msat) can avoid this, but obviously at the expense of no longer being able to route arbitrarily small amounts.

My main question is therefore simply: does setting a minimum HTLC value influence the pathfinding in Pickhardt payments at all?

Related question: If yes, in what ways? Is it scale related? To get an idea of this: How harmful to the overall system would it be if everyone had small (e.g. 10sat) min HTLC settings? How about larger (e.g. an unrealistic value like 10000sat)?

2
  • 1
    Hi Ben, thanks for this interesting question. I was wondering in this context whether Pickhardt Payments would be compatible with rounding the fees up. Perhaps that would satisfy both the needs for the routing algorithm but give a semblance of a base fee.
    – Murch
    Jul 27 at 18:23
  • 1
    I don't see a problem there, and I think rounding up fees could be an interesting approach anyway. Jul 27 at 18:28
3

In theory, it isn't clear to me yet if finding a min-cost flow is any harder when there are minimum flows. In practice, it's not at all a problem as long as the min HTLC size is small. That's because we calculate the optimum flows with a global minimum flow size (resolution) anyway, and typical values for that are 10k-100ksat. At the moment, the maximum observed min-HTLC-size in the network is 50ksat, and even that isn't a problem. For smaller sizes, the optimal flow will always be a single path anyway.

With regards to effects on the network, that's more speculative, but obviously, if everybody used min-HTLC-size, very small payments wouldn't work anymore.

1
  • 1
    Note: The resolution that we use finds a flow that is slightly away from the optimal solution. This was sufficient to deliver 0.3679 BTC on mainnet. In edge cases the actual liquidity on the network might be distributed in a way such that the used resolution (stepsize) might prevent us from finding all of the existing liquidity. Imagine 2 channels: The first one has a liquidity of 517k sats the other one has a liquidity of 415k sats. With a step size of 10k sats we could find a flow that delivers 920k sats but we wouldn't be able to find the flow for 932k sats even though it clearly exists. Jul 27 at 18:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.