<oembed><type>rich</type><version>1.0</version><author_name>npub17rld56k4365lfphyd8u8kwuejey5xcazdxptserx03wc4jc9g24stx9l2h</author_name><author_url>https://nostr.ae/npub17rld56k4365lfphyd8u8kwuejey5xcazdxptserx03wc4jc9g24stx9l2h</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2021-08-16&#xA;📝 Original message:&#xA;On Sun, Aug 15, 2021 at 10:21:52PM -0400, Matt Corallo wrote:&#xA;&gt; On 8/15/21 22:02, Anthony Towns wrote:&#xA;&gt; &gt; &gt; In&#xA;&gt; &gt; &gt; one particular class of applicable routing algorithms you could use for&#xA;&gt; &gt; &gt; lightning routing having a base fee makes the algorithm intractably slow,&#xA;&gt; &gt; I don&#39;t think of that as the problem, but rather as the base fee having&#xA;&gt; &gt; a multiplicative effect as you split payments.&#xA;&gt; Yes, matching the real-world costs of forwarding an HTLC.&#xA;&#xA;Actually, no, not at all. &#xA;&#xA;The base+proportional fees paid only on success roughly match the *value*&#xA;of forwarding an HTLC, they don&#39;t match the costs particularly well&#xA;at all.&#xA;&#xA;Why not? Because the costs are incurred on failed HTLCs as well, and&#xA;also depend on the time a HTLC lasts, and also vary heavily depending&#xA;on how many other simultaneous HTLCs there are.&#xA;&#xA;&gt; Yes. You have to pay the cost of a node. If we&#39;re really worried about this,&#xA;&gt; we should be talking about upfront fees and/or refunds on HTLC fulfillment,&#xA;&gt; not removing the fees entirely.&#xA;&#xA;(I don&#39;t believe either of those are the right approach, but based on&#xA;previous discussions, I don&#39;t think anyone&#39;s going to realise I&#39;m right&#xA;until I implement it and prove it, so *shrug*)&#xA;&#xA;&gt; &gt; Being denominated in sats, the base fee also changes in value as the&#xA;&gt; &gt; bitcoin price changes -- c-lightning dropped the base fee to 1sat (from&#xA;&gt; &gt; 546 sat!) in Jan 2018, but the value of 1sat has increased about 4x&#xA;&gt; &gt; since then, and it seems unlikely the fixed costs of a successful HTLC&#xA;&gt; &gt; payment have likewise increased 4x.  Proportional fees deal with this&#xA;&gt; &gt; factor automatically, of course.&#xA;&gt; This isn&#39;t a protocol issue, implementations can automate this without issue.&#xA;&#xA;I don&#39;t think anyone&#39;s proposing the protocol be changed; just that node&#xA;operators set an option to a particular value?&#xA;&#xA;Well, except that Lisa&#39;s maybe proposing that 0 not be allowed, and a&#xA;value &gt;= 0.001 sat be required? I&#39;m not quite sure.&#xA;&#xA;&gt; &gt; &gt; There&#39;s real cost to distorting the fee structures on the network away from&#xA;&gt; &gt; &gt; the costs of node operators,&#xA;&gt; &gt; That&#39;s precisely what the base fee is already doing.&#xA;&gt; Huh? For values much smaller than a node&#39;s liquidity, the cost for nodes is&#xA;&gt; (mostly) a function of HTLCs, not the value. &#xA;&#xA;Yes, the cost for nodes is a function of the requests that come in, not&#xA;how many succeed. The fees are proportional to how many succeed, which&#xA;is at best a distorted reflection of the number of requests that come in.&#xA;&#xA;&gt; The cost to nodes is largely [...]&#xA;&#xA;The cost to nodes is almost entirely the opportunity cost of not being&#xA;able to accept other txs that would come in afterwards and would pay&#xA;higher fees.&#xA;&#xA;And all those costs can be captured equally well (or badly) by just&#xA;setting a proportional fee and a minimum payment value. I don&#39;t know why&#xA;you keep ignoring that point.&#xA;&#xA;&gt; so I&#39;d argue for many HTLCs forwarded&#xA;&gt; today per-payment costs mirror the cost to a node much, much, much, much&#xA;&gt; better than some proportional fees?&#xA;&#xA;You&#39;re talking yourself into a *really* broken business model there.&#xA;&#xA;&gt; &gt; Additionally, I don&#39;t think HTLC slot usage needs to be kept as a&#xA;&gt; &gt; limitation after we switch to eltoo;&#xA;&gt; The HTLC slot limit is to keep transactions broadcastable. I don&#39;t see why&#xA;&gt; this would change, you still get an output for each HTLC on the latest&#xA;&gt; commitment in eltoo, AFAIU.&#xA;&#xA;eltoo gives us the ability to have channel factories, where we divide&#xA;the overall factory balance amongst different channels, all updated&#xA;off-chain. It seems likely we&#39;ll want to do factories from day one,&#xA;so that we don&#39;t implicitly limit either the lifetime of the channel&#xA;or its update rate (&gt;1 update/sec ~= &lt;4 year lifetime otherwise if I&#xA;did the maths right). Once we&#39;re doing factories, if we have more than&#xA;however many htlcs for a channel, we can re-divide the factory balance&#xA;and add a new channel. If the limit is 500 HTLCs per tx, you&#39;d have to&#xA;amortize 0.2% of the new tx across each HTLC, in addition to the cost&#xA;of the HTLC itself, but that seems trivial.&#xA;&#xA;&gt; &gt; and in the meantime, I think it can&#xA;&gt; &gt; be better managed via adjusting the min_htlc_amount -- at least for the&#xA;&gt; &gt; scenario where problems are being caused by legitimate payment attempts,&#xA;&gt; &gt; which is also the only place base fee can help.&#xA;&gt; Sure, we could also shift towards upfront fees or similar solutions,&#xA;&#xA;Upfront fees seem extremely vulnerable to attacks, and are certainly a&#xA;(pretty large) protocol change.&#xA;&#xA;&gt; &gt; &gt; Instead, we should investigate how we can&#xA;&gt; &gt; &gt; apply the ideas here with the more complicated fee structures we have.&#xA;&gt; &gt; Fee structures should be *simple* not complicated.&#xA;&gt; &gt; I mean, it&#39;s kind of great that we started off complicated -- if it&#xA;&gt; &gt; turns out base fee isn&#39;t necessary, it&#39;s easy to just set it to zero;&#xA;&gt; &gt; if we didn&#39;t have it, but needed it, it would be much more annoying to&#xA;&gt; &gt; add it in later.&#xA;&gt; Fee structures should also match reality, and allow node operators&#xA;&gt; sufficient flexibility to capture their costs. I think we have a design that&#xA;&gt; does so quite well - its pretty simple, there&#39;s only two knobs, but the two&#xA;&gt; knobs capture exactly the two broad categories of costs a node operator has.&#xA;&#xA;I don&#39;t know how you can think these &#34;exactly&#34; capture node operators&#39;&#xA;costs. They&#39;re missing the time factor, and don&#39;t capture any of the&#xA;costs due to failed payments.&#xA;&#xA;&gt; Sure, the great thing about today is because the protocol exposes decent&#xA;&gt; knobs operators can tune&#xA;&#xA;Knobs are great for experimenting; but they&#39;re also something to work&#xA;at reducing once the experiments have come up with some results. I&#xA;think #zerobasefee is more in the experiment stage: &#34;hey, this seems&#xA;like a great idea, let&#39;s set this knob to zero and focus on these other&#xA;ones instead&#34;.&#xA;&#xA;&gt; &gt; For an experimental plugin that aggressively splits payments up, I think&#xA;&gt; &gt; either ignoring channels with &gt;0 base fee entirely, or deciding that&#xA;&gt; &gt; you&#39;re happy to spend a total of X sats on base fees, and then ignoring&#xA;&gt; &gt; channels whose base fee is greater than X/paths/path-length sats is fine.&#xA;&gt; Sure, experimental plugins can do whatever they want!&#xA;&#xA;Is there any reason to think any of this would be something other than&#xA;node configuration options and experimental plugins any time soon?&#xA;&#xA;(By &#34;any time soon&#34; I mean, I could see software defaults changing if&#xA;over 50% of the network deliberately switched to zero base fees and found&#xA;it worked fine; and I could see deprecating non-zero fees if that ended&#xA;up with 90% of the network on zero base fees, no good reasons for node&#xA;operators wanting to stick with running non-zero base fees, and the&#xA;experimental algos that relied on zero base fees being significantly&#xA;easier to maintain or faster/better)&#xA;&#xA;&gt; &gt; But long term, I also think that the base fee is an entirely unhelpful&#xA;&gt; &gt; complication that will eventually just be hardcoded to zero by everyone,&#xA;&gt; &gt; and eventually channels that propose non-zero base fees won&#39;t even be&#xA;&gt; &gt; gossiped. I don&#39;t expect that to happen any time soon though.&#xA;&gt; I very strongly disagree, as discussed, and am left highly dubious&#xA;&gt; that it is a practical complication in any case.&#xA;&#xA;That&#39;s okay! Long term predictions would be pretty boring if everyone&#xA;agreed with them.&#xA;&#xA;Cheers,&#xA;aj</html></oembed>