<oembed><type>rich</type><version>1.0</version><author_name>npub1e46n428mcyfwznl7nlsf6d3s7rhlwm9x3cmkuqzt3emmdpadmkaqqjxmcu</author_name><author_url>https://nostr.ae/npub1e46n428mcyfwznl7nlsf6d3s7rhlwm9x3cmkuqzt3emmdpadmkaqqjxmcu</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2023-02-14&#xA;📝 Original message:&#xA;On 2/14/23 2:34 AM, Joost Jager wrote:&#xA;&gt; Hi Matt,&#xA;&gt; &#xA;&gt;     If nodes start aggressively preferring routes through nodes that reliably route payments (which&#xA;&gt;     I believe lnd already does, in effect, to some large extent), they should do so by measurement,&#xA;&gt;     not signaling.&#xA;&gt; &#xA;&gt; &#xA;&gt; The signaling is intended as a way to make measurement more efficient. If a node signals that a &#xA;&gt; particular channel is HA and it fails, no other measurements on that same node need to be taken by &#xA;&gt; the sender. They can skip the node altogether for a longer period of time.&#xA;&#xA;But as a lightning node I don&#39;t actually care if a node is binary good/bad. I care about what &#xA;success rate a node has. If you make the decision binary, suddenly in order for a node to be &#34;good&#34; &#xA;I *have* to establish a credit relationship with my peers (i.e. support 0conf splicing). I think &#xA;that is a very, very bad thing to do to the lightning network.&#xA;&#xA;If someone wants to establish such a relationship with their peers, so be it, but as developers we &#xA;should strongly avoid adding features which push node operators in that direction, and part of that &#xA;is writing good routing scoring so that we aren&#39;t boxing ourselves into some binary good/bad idea of &#xA;a node but rather estimating liquidity.&#xA;&#xA;Honestly this just strikes me as developers being too lazy to do things right. If we do things &#xA;carefully and we are seeing issues then we can consider breaking lightning, but until we give it a &#xA;good shot, let&#39;s not!&#xA;&#xA;&gt;     In practice, many channels on the network are “high availability” today, but only in one&#xA;&gt;     direction (I.e. they aren’t regularly spliced/rebalanced and are regularly unbalanced). A node&#xA;&gt;     strongly preferring a high payment success rate *should* prefer such a channel, but in your&#xA;&gt;     scheme would not.&#xA;&gt; &#xA;&gt; &#xA;&gt; This shouldn&#39;t be a problem, because the HA signaling is also directional. Each end can decide &#xA;&gt; independently on whether to add the flag for a particular channel.&#xA;&#xA;But how do you decide to set it without a credit relationship? Do I measure my channel and set the &#xA;bit because the channel is &#34;usually&#34; (at what threshold?) saturating in the inbound direction? What &#xA;happens if this changes for an hour and I get unlucky? Did I just screw myself?&#xA;&#xA;&gt;     This ignores the myriad of “at what threshold do you signal HA” issues, which likely make such a&#xA;&gt;     signal DOA, anyway.&#xA;&gt; &#xA;&gt; &#xA;&gt; I think this is a product of sender preference for HA channels and the severity of the penalty if an &#xA;&gt; HA channel fails. Given this, routing nodes will need to decide whether they can offer a service &#xA;&gt; level that increases their routing revenue overall if they would signal HA. It is indeed dynamic, &#xA;&gt; but I think the market is able to work it out.&#xA;&#xA;I&#39;m afraid this is going to immediately fall into a cargo cult of &#34;set the bit&#34; vs &#34;don&#39;t set the &#xA;bit&#34; and we&#39;ll never get useful data out of it. But you may be right.&#xA;&#xA;&gt;     Finally, I’m very dismayed at this direction in thinking on how ln should work - nodes should be&#xA;&gt;     measuring the network and routing over paths that it thinks are reliable for what it wants,&#xA;&gt;     *robustly over an unreliable network*. We should absolutely not be expecting the lightning&#xA;&gt;     network to be built out of high reliability nodes, that creates strong centralization pressure.&#xA;&gt;     To truly meet a “high availability” threshold, realistically, you’d need to be able to JIT 0conf&#xA;&gt;     splice-in, which would drive lightning to actually being a credit network.&#xA;&gt; &#xA;&gt; &#xA;&gt; Different people can have different opinions about how ln should work, that is fine. I see a &#xA;&gt; trade-off between the reliability of the network and the barrier of entry, and I don&#39;t think the &#xA;&gt; optimum is on one of the ends of the scale.&#xA;&#xA;My point wasn&#39;t that lightning should be unreliable, but rather a reliable network build on &#xA;unreliable hops. I&#39;m very confident we can accomplish that without falling back to forcing nodes to &#xA;establish credit to meet &#34;reliability requirements&#34;.&#xA;&#xA;&gt;     With reasonable volume, lightning today is very reliable and relatively fast, with few retries&#xA;&gt;     required. I don’t think we need to change anything to fix it. :)&#xA;&gt; &#xA;&gt; &#xA;&gt; How can you be sure about this? This isn&#39;t publicly visible data.&#xA;&#xA;Sure it is! https://river.com/learn/files/river-lightning-report.pdf&#xA;&#xA;I&#39;m also quite confident we can do substantially better than this.&#xA;&#xA;Matt</html></oembed>