<div dir="ltr"><div class="gmail_quote"><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">some additional answers/clarifications</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Question for Jeremy: would you also allow zero-value outputs?  Or would<br>
you just move the dust limit down to a fixed 1-sat?<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">I would remove it entirely -- i don't think there's a difference between the two realistically.</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
Allowing 0-value or 1-sat outputs minimizes the cost for polluting the<br>
UTXO set during periods of low feerates.<br>
<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">Maybe that incentivizes people to make better use of the low feerate periods to do more important work like consolidations so that others do not have the opportunity to pollute (therefore eliminating the low fee period ;)</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
If your stuff is going to slow down my node and possibly reduce my<br>
censorship resistance, how is that not my business?<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">You don't know that's what I'm doing, it's a guess as to my future behavior.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">If it weren't worth it to me, I wouldn't be doing it. Market will solve what is worth v.s. not worth.</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
> 2) dust outputs can be used in various authentication/delegation smart<br>
> contracts<br>
<br>
All of which can also use amounts that are economically rational to<br>
spend on their own.  If you're gonna use the chain for something besides<br>
value transfer, and you're already wiling to pay X in fees per onchain<br>
use, why is it not reasonable for us to ask you to put up something on<br>
the order of X as a bond that you'll actually clean up your mess when<br>
you're no longer interested in your thing?<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">These authentication/delegation smart contracts can be a part of value transfer e.g. some type of atomic swaps or other escrowed payment.</div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">A bond to clean it up is a fair reason; but perhaps in a protocol it might not make sense to clean up the utxo otherwise and so you're creating a cleanup transaction (potentially has to be presigned in a way it can't be done as a consolidation) and then some future consolidation to make the dusts+eps aggregately convenient to spend. So you'd be trading a decent amount more chainspace v.s. just ignoring the output and writing it to disk and maybe eventually into a utreexo (e.g. imagine utreexo where the last N years of outputs are held in memory, but eventually things get tree'd up) so the long term costs need not be entirely bourne in permanent storage.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
Nope, nothing is forced.  Any LN node can simply refuse to accept/route<br>
HTLCs below the dust limit.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">I'd love to hear some broad thoughts on the impact of this on routing (cc Tarun who thinks about these things a decent amount) as this means for things like multipath routes you have much stricter constraints on which nodes you can route payments through. The impact on capacity from every user's pov might be not insubstantial.</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
I also doubt your proposed solution fixes the problem.  Any LN node that<br>
accepts an uneconomic HTLC cannot recover that value, so the money is<br>
lost either way.  Any sane regulation would treat losing value to<br>
transaction fees the same as losing value to uneconomical conditions.<br>
<br>
Finally, if LN nodes start polluting the UTXO set with no economic way<br>
to clean up their mess, I think that's going to cause tension between<br>
full node operators and LN node operators.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div></div><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">My anticipation is that the LN operators would stick the uneconomic HTLCs aggregately into a fan out utxo and try to cooperate, but failing that only pollute the chain by O(1) for O(n) non economic HTLCs. There is a difference between losing money and knowing exactly where it is but not claiming it.</div><br></div><div><br></div></div></div>