<oembed><type>rich</type><version>1.0</version><author_name>npub1aslmpzentw224n3s6yccru4dq2qdlx7rfudfnqevfck637cjt6esswfqmx</author_name><author_url>https://nostr.ae/npub1aslmpzentw224n3s6yccru4dq2qdlx7rfudfnqevfck637cjt6esswfqmx</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2021-10-14&#xA;📝 Original message:&#xA;A practice that is widely applied by lightning wallets is to probe routes&#xA;with an unknown payment hash before making the actual payment. Probing&#xA;yields an accurate routing fee that can be shown to the user before&#xA;execution of the payment.&#xA;&#xA;The downside of this style of probing is that for a short period of time,&#xA;liquidity is locked up. Not just the sender&#39;s liquidity, but also liquidity&#xA;of nodes along the route. And if the probe gets stuck for whatever reason,&#xA;that short period may become longer.&#xA;&#xA;But does this lock up serve a purpose at all? Suppose there would be a&#xA;liquidity probing protocol message similar to `update_add_htlc`&#xA;(`probe_htlc`?) that would skip the whole channel update machinery and is&#xA;only forwarded to the next hop if the link would be able to carry the htlc.&#xA;Won&#39;t this work as well as the current probing without the downsides? Nodes&#xA;can obviously reject these probes because they are distinguishable from&#xA;real payments (contrary to unknown hash probing where everything looks the&#xA;same). However if they do so, senders won&#39;t use that route and the routing&#xA;node misses out on routing fees.&#xA;&#xA;Another problem of the lightning network is its susceptibility to channel&#xA;jamming. Multiple options have been proposed (see also&#xA;https://github.com/t-bast/lightning-docs/blob/master/spam-prevention.md),&#xA;but they all come with downsides.&#xA;&#xA;Personally I incline towards solutions that involve deterring the attacker&#xA;by making them pay actual satoshis. Lightning itself is payment system and&#xA;it seems that paying for the payments is a natural solution to the problem.&#xA;Several iterations of this idea have been proposed. One of my own that&#xA;builds on an earlier idea by t-bast is described in&#xA;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-February/002958.html&#xA;.&#xA;&#xA;The main criticism that this proposal has received is that it deteriorates&#xA;the user experience for honest users when multiple payment routes need to&#xA;be attempted. Every attempt will have a cost, so the user will see its&#xA;balance going down by only just trying to make the payment. How bad this is&#xA;depends on the attempt failure rate. I expect this rate to become really&#xA;low as the network matures and senders hold routing nodes to high&#xA;standards. Others however think otherwise and consider a series of failed&#xA;attempts part of a healthy system.&#xA;&#xA;Custodial wallets could probably just swallow the cost for failures. They&#xA;typically use one pathfinding system for all their users and are therefore&#xA;able to collect a lot of information on routing node performance. This is&#xA;likely to decrease the payment failure rate to an acceptably low level.&#xA;&#xA;For non-custodial nodes, this may be different. They have to map out the&#xA;good routing nodes  all by themselves and this exploration will bear a cost.&#xA;&#xA;So how would things work out with a combination of both of the proposals&#xA;described in this mail? First we make probing free (free as in no liquidity&#xA;locked up) and then we&#39;ll require senders to pay for failed payment&#xA;attempts too. Failed payment attempts after a successful probe should be&#xA;extremely rate, so doesn&#39;t this fix the ux issue with upfront fees?&#xA;&#xA;Joost&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20211014/04750627/attachment.html&gt;</html></oembed>