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