<div dir="ltr">>  As developers, we have no<br>control over prevailing feerates, so this is a problem LN needs to deal<br>with regardless of Bitcoin Core's dust limit.<br><br>Right, as of today, we're going to trim-to-dust any commitment output of which the value is inferior to the transaction owner's `dust_limit_satoshis` plus the HTLC-claim (either success/timeout) fee at the agreed on feerate. So the feerate is the most significant variable in defining what's a LN *uneconomical output*.<br><br>IMO this approach presents annoying limitations. First, you still need to come with an agreement among channel operators on the mempools feerate. Such agreement might be problematic to find, as on one side you would like to let your counterparty free to pick up a feerate gauged as efficient for the confirmation of their transactions but at the same time not too high to burn to fees your low-values HTLCs that *your* fee-estimator judged as sane to claim.<br><br>Secondly, the trim-to-dust evaluation doesn't correctly match the lifetime of the HTLC. A HTLC might be considered as dust at block 100, at which mempools are full. Though its expiration only occurs at block 200, at which mempools are empty and this HTLC is fine to claim again. I think this inaccuracy will even become worse with a wider deployment of long-lived routed packets over LN, such as DLCs or hodl invoices.<br><br>All this to say, if for those reasons LN devs remove feerate negotiation from the trim-to-dust definition to a static feerate, it would likely put a higher pressure on the full-nodes operators, as the number of uneconomical outputs might increase.<br><br>(From a LN viewpoint, I would say we're trying to solve a price discovery issue, namely the cost to write on the UTXO set, in a distributed system, where any deviation from the "honest" price means you trust more your LN counterparty)<br><br>> They could also use trustless probabalistic payments, which have been<br>discussed in the context of LN for handling the problem of payments too<br>small to be represented onchain since early 2016:<br><a href="https://docs.google.com/presentation/d/1G4xchDGcO37DJ2lPC_XYyZIUkJc2khnLrCaZXgvDN0U/edit?pref=2&pli=1#slide=id.g85f425098">https://docs.google.com/presentation/d/1G4xchDGcO37DJ2lPC_XYyZIUkJc2khnLrCaZXgvDN0U/edit?pref=2&pli=1#slide=id.g85f425098</a><br><br>Thanks to bringing to the surface probabilistic payments, yes that's a worthy alternative approach for low-value payments to keep in mind.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mar. 10 août 2021 à 02:15, David A. Harding <<a href="mailto:dave@dtrt.org">dave@dtrt.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Aug 09, 2021 at 09:22:28AM -0400, Antoine Riard wrote:<br>
> I'm pretty conservative about increasing the standard dust limit in any<br>
> way. This would convert a higher percentage of LN channels capacity into<br>
> dust, which is coming with a lowering of funds safety [0]. <br>
<br>
I think that reasoning is incomplete.  There are two related things here:<br>
<br>
- **Uneconomical outputs:** outputs that would cost more to spend than<br>
  the value they contain.<br>
<br>
- **Dust limit:** an output amount below which Bitcoin Core (and other<br>
  nodes) will not relay the transaction containing that output.<br>
<br>
Although raising the dust limit can have the effect you describe, <br>
increases in the minimum necessary feerate to get a transaction<br>
confirmed in an appropriate amount of time also "converts a higher<br>
percentage of LN channel capacity into dust".  As developers, we have no<br>
control over prevailing feerates, so this is a problem LN needs to deal<br>
with regardless of Bitcoin Core's dust limit.<br>
<br>
(Related to your linked thread, that seems to be about the risk of<br>
"burning funds" by paying them to a miner who may be a party to the<br>
attack.  There's plenty of other alternative ways to burn funds that can<br>
change the risk profile.)<br>
<br>
> the standard dust limit [...] introduces a trust vector <br>
<br>
My point above is that any trust vector is introduced not by the dust<br>
limit but by the economics of outputs being worth less than they cost to<br>
spend.<br>
<br>
> LN node operators might be willingly to compensate this "dust" trust vector<br>
> by relying on side-trust model<br>
<br>
They could also use trustless probabalistic payments, which have been<br>
discussed in the context of LN for handling the problem of payments too<br>
small to be represented onchain since early 2016:<br>
<a href="https://docs.google.com/presentation/d/1G4xchDGcO37DJ2lPC_XYyZIUkJc2khnLrCaZXgvDN0U/edit?pref=2&pli=1#slide=id.g85f425098_0_178" rel="noreferrer" target="_blank">https://docs.google.com/presentation/d/1G4xchDGcO37DJ2lPC_XYyZIUkJc2khnLrCaZXgvDN0U/edit?pref=2&pli=1#slide=id.g85f425098_0_178</a><br>
<br>
(Probabalistic payments were discussed in the general context of Bitcoin<br>
well before LN was proposed, and Elements even includes an opcode for<br>
creating them.)<br>
<br>
> smarter engineering such as utreexo on the base-layer side <br>
<br>
Utreexo doesn't solve this problem.  Many nodes (such as miners) will<br>
still want to store the full UTXO set and access it quickly,  Utreexo<br>
proofs will grow in size with UTXO set size (though, at best, only<br>
log(n)), so full node operators will still not want their bandwidth<br>
wasted by people who create UTXOs they have no reason to spend.<br>
<br>
> I think the status quo is good enough for now<br>
<br>
I agree.<br>
<br>
-Dave<br>
</blockquote></div>