<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-15&#xA;📝 Original message:&#xA;On Sun, Aug 15, 2021 at 07:19:01AM -0500, lisa neigut wrote:&#xA;&gt; My suggestion would be that, as a compromise, we set a network wide minimum fee&#xA;&gt; at the protocol level of 1msat.&#xA;&#xA;Is that different in any meaningful way to just saying &#34;fees get rounded&#xA;up to the nearest msat&#34; ? If the fee is 999.999msat, expecting to get&#xA;away with paying less than 1sat seems kinda buggy to me.&#xA;&#xA;On Sun, Aug 15, 2021 at 08:04:52PM -0400, Matt Corallo wrote:&#xA;&gt; I&#39;m frankly still very confused why we&#39;re having these conversations now.&#xA;&#xA;Because it&#39;s what people are thinking about. The bar for having a&#xA;conversation about something is very low...&#xA;&#xA;&gt; In&#xA;&gt; one particular class of applicable routing algorithms you could use for&#xA;&gt; lightning routing having a base fee makes the algorithm intractably slow,&#xA;&#xA;I don&#39;t think of that as the problem, but rather as the base fee having&#xA;a multiplicative effect as you split payments.&#xA;&#xA;If every channel has the same (base,proportional) fee pair, and send a&#xA;payment along a single path, you&#39;re paying n*(base+k*proportional). If&#xA;you split the payment, and send half of it one way, and half the other&#xA;way, you&#39;re paying n*(2*base+k*proportional). If you split the payment&#xA;four ways, you&#39;re paying n*(4*base+k*proportional). Where&#39;s the value&#xA;to the network in penalising payment splitting?&#xA;&#xA;Being denominated in sats, the base fee also changes in value as the&#xA;bitcoin price changes -- c-lightning dropped the base fee to 1sat (from&#xA;546 sat!) in Jan 2018, but the value of 1sat has increased about 4x&#xA;since then, and it seems unlikely the fixed costs of a successful HTLC&#xA;payment have likewise increased 4x.  Proportional fees deal with this&#xA;factor automatically, of course.&#xA;&#xA;&gt; There&#39;s real cost to distorting the fee structures on the network away from&#xA;&gt; the costs of node operators, &#xA;&#xA;That&#39;s precisely what the base fee is already doing. Yes, we need some&#xA;other way of charging fees to prevent using up too many slots or having&#xA;transactions not fail in a timely manner, but the base fee does not&#xA;do that.&#xA;&#xA;&gt; Imagine we find some great way to address HTLC slot flooding/DoS attacks (or&#xA;&gt; just chose to do it in a not-great way) by charging for HTLC slot usage, now&#xA;&gt; we can&#39;t fix a critical DoS issue because the routing algorithms we deployed&#xA;&gt; can&#39;t handle the new costing.&#xA;&#xA;I don&#39;t think that&#39;s true. The two things we don&#39;t charge for that can&#xA;be abused by probing spam are HTLC slot usage and channel balance usage;&#xA;both are problems only in proportion to the amount of time they&#39;re held&#xA;open, and the latter is also only a problem proportional to the value&#xA;being reserved. [0]&#xA;&#xA;Additionally, I don&#39;t think HTLC slot usage needs to be kept as a&#xA;limitation after we switch to eltoo; and in the meantime, I think it can&#xA;be better managed via adjusting the min_htlc_amount -- at least for the&#xA;scenario where problems are being caused by legitimate payment attempts,&#xA;which is also the only place base fee can help.&#xA;&#xA;[0] (Well, ln-penalty&#39;s requirement to permanently store HTLC information&#xA;     in order to apply the penalty is in some sense a constant&#xA;     cost, however the impact is also proportional to value, and for&#xA;     sufficiently low value HTLCs can be ignored entirely if the HTLC&#xA;     isn&#39;t included in the channel commitment)&#xA;&#xA;&gt; Instead, we should investigate how we can&#xA;&gt; apply the ideas here with the more complicated fee structures we have.&#xA;&#xA;Fee structures should be *simple* not complicated.&#xA;&#xA;I mean, it&#39;s kind of great that we started off complicated -- if it&#xA;turns out base fee isn&#39;t necessary, it&#39;s easy to just set it to zero;&#xA;if we didn&#39;t have it, but needed it, it would be much more annoying to&#xA;add it in later.&#xA;&#xA;&gt; Color me an optimist, but I&#39;m quite confident with sufficient elbow grease&#xA;&gt; and heuristics we can get 95% of the way there. We can and should revisit&#xA;&gt; these conversations if such exploration is done and we find that its not&#xA;&gt; possible, but until then this all feels incredibly premature.&#xA;&#xA;Depends; I don&#39;t think it makes sense to try to ban nodes that don&#39;t have&#xA;a base fee of zero or anything, but random people on twitter advocating&#xA;that node operators should set it to zero and just worry about optimising&#xA;via the proportional fee and the min htlc amount seems fine.&#xA;&#xA;For an experimental plugin that aggressively splits payments up, I think&#xA;either ignoring channels with &gt;0 base fee entirely, or deciding that&#xA;you&#39;re happy to spend a total of X sats on base fees, and then ignoring&#xA;channels whose base fee is greater than X/paths/path-length sats is fine.&#xA;&#xA;But long term, I also think that the base fee is an entirely unhelpful&#xA;complication that will eventually just be hardcoded to zero by everyone,&#xA;and eventually channels that propose non-zero base fees won&#39;t even be&#xA;gossiped. I don&#39;t expect that to happen any time soon though.&#xA;&#xA;Cheers,&#xA;aj</html></oembed>