Do we really want users to solve an NP-hard problem when they wish to find a cheap way of paying each other on the Lightning Network?



Summary:

In an email conversation between Rene Pickhardt and ZmnSCPxj, the former expressed his concerns about the Lightning Network's function not being linear and how it creates problematic situations. ZmnSCPxj agreed with him and added that it is important to point out that f(0)=0 and the sudden step to f(1)=1*prop + base is discontinuous. They also discussed the possibility of users having to solve an NP-hard problem when they want to find a cheap way of paying each other on the Lightning Network. ZmnSCPxj explained how functional package managers like Nix and Guix exist for this reason and shared his past experience working on a related project in Debian that did a slightly more complicated variant of that problem. He also suggested a routing method for Lightning Network that considers itself as routing on log(N) different networks and splitting payment if it fails. However, such methods do not succeed often enough in practice for large enough payments. ZmnSCPxj pointed out elsewhere that failure-to-pay has an economic cost, and failing to deliver imposes an economic cost on users. He suggested a variant of Pickhardt-Richter payments that adapts to the reality of the current network where `base_fee > 0` is common, but is biased against `base_fee > 0`. This can be done without requiring an entire new LN implementation, and if popular enough, it can force forwarding nodes to learn that `#zerobasefee` earns them more funds.


Updated on: 2023-06-03T05:45:56.312984+00:00