<oembed><type>rich</type><version>1.0</version><author_name>npub1sprhp66c693av0c0n9had046hcdcckp2th25fnmphwstc5e4wg9qxs64t2</author_name><author_url>https://nostr.ae/npub1sprhp66c693av0c0n9had046hcdcckp2th25fnmphwstc5e4wg9qxs64t2</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;The field of economics has done much work over the past few decades&#xA;demonstrating that “Free” is problematic in practice because humans will go&#xA;out of their way to externalize costs elsewhere (e.g. time, in the case of&#xA;lightning), given the promise of freedom. In other words, actors often act&#xA;irrationally to get a free deal.&#xA;&#xA;As protocol designers, it would be remiss to ignore this (repeatedly&#xA;demonstrated) truth.&#xA;&#xA;To avoid this, we’ve been suggesting setting a min_htlc_value requirement.&#xA;The problem with zbf + a min_htlc size requirement is that it makes tiny&#xA;payments impossible over lightning, which was one of the original design&#xA;goals of the system, and is an important feature to keep/support as&#xA;lightning grows into poorer economic bases and the bitcoin market price&#xA;continues to rise.&#xA;&#xA;My suggestion would be that, as a compromise, we set a network wide minimum&#xA;fee at the protocol level of 1msat. Naively, this seems it should be easy&#xA;to add to calculations using single-dimension optimization (or trivial&#xA;enough to ignore entirely), it removes the “free lunch” irrationality&#xA;honeypot zbf opens, and it provides a way forward for the continued use of&#xA;micropayments.&#xA;&#xA;The result is that micropayments have a different payment regime than&#xA;“non-micropayments”, (which may still incentive almost irrational behavior)&#xA;but at least there’s no *loss* felt by node operators for&#xA;handling/supporting low value payments. 10k micropayments is worth 10sats.&#xA;&#xA;It’s also simple to implement and seems rather obvious in retrospect.&#xA;&#xA;The only confounding future change that I can see us making would be the&#xA;introduction of negative fees, which are useful as a way to induce payments&#xA;to rebalance channels passively. This seems like something we can revisit&#xA;once a proposal for negative fees is being seriously considered, however.&#xA;&#xA;On Sun, Aug 15, 2021 at 05:59 ZmnSCPxj via Lightning-dev &lt;&#xA;lightning-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&#xA;&gt; Good morning aj, et al.&#xA;&gt;&#xA;&gt; &gt; Hey *,&#xA;&gt; &gt;&#xA;&gt; &gt; There&#39;s been discussions on twitter and elsewhere advocating for&#xA;&gt; &gt; setting the BOLT#7 fee_base_msat value [0] to zero. I&#39;m just writing&#xA;&gt; &gt; this to summarise my understanding in a place that&#39;s able to easily be&#xA;&gt; &gt; referenced later.&#xA;&gt; &gt;&#xA;&gt; &gt; Setting the base fee to zero has a couple of benefits:&#xA;&gt; &gt;&#xA;&gt; &gt; -   it means you only have one value to optimise when trying to collect&#xA;&gt; &gt;     the most fees, and one-dimensional optimisation problems are&#xA;&gt; &gt;     obviously easier to write code for than two-dimensional optimisation&#xA;&gt; &gt;     problems&#xA;&gt;&#xA;&gt; Indeed, this is a good point regarding this.&#xA;&gt;&#xA;&gt;&#xA;&gt; &gt; -   when finding a route, if all the fees on all the channels are&#xA;&gt; &gt;     proportional only, you&#39;ll never have to worry about paying more fees&#xA;&gt; &gt;     just as a result of splitting a payment; that makes routing easier&#xA;&gt; &gt;     (see [1])&#xA;&gt;&#xA;&gt; If we neglect roundoff errors.&#xA;&gt;&#xA;&gt; On the other hand, roundoff errors involved are &lt;1msat per split, so it&#xA;&gt; probably will not matter to most people.&#xA;&gt;&#xA;&gt; &gt;     So what&#39;s the cost? The cost is that there&#39;s no longer a fixed&#xA;&gt; minimum&#xA;&gt; &gt;     fee -- so if you try sending a 1sat payment you&#39;ll pay 0.1% of the&#xA;&gt; fee&#xA;&gt; &gt;     to send a 1000sat payment, and there may be fixed costs that you have&#xA;&gt; &gt;     in routing payments that you&#39;d like to be compensated for (eg, the&#xA;&gt; &gt;     computational work to update channel state, the bandwith to forward&#xA;&gt; the&#xA;&gt; &gt;     tx, or the opportunity cost for not being able to accept another&#xA;&gt; htlc if&#xA;&gt; &gt;     you&#39;ve hit your max htlcs per channel limit).&#xA;&gt; &gt;&#xA;&gt; &gt;     But there&#39;s no need to explicitly separate those costs the way we do&#xA;&gt; &gt;     now; instead of charging 1sat base fee and 0.02% proportional fee,&#xA;&gt; &gt;     you can instead just set the 0.02% proportional fee and have a&#xA;&gt; minimum&#xA;&gt; &gt;     payment size of 5000 sats (htlc_minimum_msat=5e6, ~$2), since 0.02%&#xA;&gt; &gt;     of that is 1sat. Nobody will be asking you to route without offering&#xA;&gt; a&#xA;&gt; &gt;     fee of at least 1sat, but all the optimisation steps are easier.&#xA;&gt;&#xA;&gt; Should this minimum a node will be willing to forward be part of gossip,&#xA;&gt; and how does this affect routing algorithms?&#xA;&gt;&#xA;&gt; &gt;     You could go a step further, and have the node side accept smaller&#xA;&gt; &gt;     payments despite the htlc minimum setting: eg, accept a 3000 sat&#xA;&gt; payment&#xA;&gt; &gt;     provided it pays the same fee that a 5000 sat payment would have.&#xA;&gt; That is,&#xA;&gt; &gt;     treat the setting as minimum_fee=1sat, rather than&#xA;&gt; minimum_amount=5000sat;&#xA;&gt; &gt;     so the advertised value is just calculated from the real settings,&#xA;&gt; &gt;     and that nodes that want to send very small values despite having to&#xA;&gt; &gt;     pay high rates can just invert the calculation.&#xA;&gt;&#xA;&gt; I like this idea, as I think it matches more what the incentives are.&#xA;&gt; But it requires a change in gossip and in routing algorithms, and more&#xA;&gt; importantly it requires routing algorithms to support two different fee&#xA;&gt; schemes (base + proportional vs min + proportional).&#xA;&gt;&#xA;&gt; On the other hand, this still is a two-dimensional optimization algorithm,&#xA;&gt; with `minimum_fee` and `proportional_fee_millionths` as the two dimensions.&#xA;&gt; So maybe just have a single proportional-fee mechanism...&#xA;&gt;&#xA;&gt; &gt;&#xA;&gt; &gt;     I think something like this approach also makes sense when your&#xA;&gt; channel&#xA;&gt; &gt;     becomes overloaded; eg if you have x HTLC slots available, and y&#xA;&gt; channel&#xA;&gt; &gt;     capacity available, setting a minimum payment size of something like&#xA;&gt; &gt;     y/2/x**2 allows you to accept small payments (good for the network)&#xA;&gt; &gt;     when you&#39;re channel is not busy, but reserves the last slots for&#xA;&gt; larger&#xA;&gt; &gt;     payments so that you don&#39;t end up missing out on profits because you&#xA;&gt; &gt;     ran out of capacity due to low value spam.&#xA;&gt; &gt;&#xA;&gt; &gt;     Two other aspects related to this:&#xA;&gt; &gt;&#xA;&gt; &gt;     At present, I think all the fixed costs are also incurred even when&#xA;&gt; &gt;     a htlc fails, so until we have some way of charging failing txs for&#xA;&gt; &gt;     incurring those costs, it seems a bit backwards to penalise&#xA;&gt; successful&#xA;&gt; &gt;     txs who at least pay a proportional fee for the same thing. Until&#xA;&gt; we&#39;ve&#xA;&gt; &gt;     got a way of handling that, having zero base fee seems at least fair.&#xA;&gt;&#xA;&gt; Yes, the dreaded mechanism against payment lockup, which as far as I&#xA;&gt; understand has a lot of thought already sunk into it without any&#xA;&gt; widely-accepted solution, sigh.&#xA;&gt;&#xA;&gt;&#xA;&gt; Regards,&#xA;&gt; ZmnSCPxj&#xA;&gt;&#xA;&gt; _______________________________________________&#xA;&gt; Lightning-dev mailing list&#xA;&gt; Lightning-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20210815/cb1c33c6/attachment.html&gt;</html></oembed>