<oembed><type>rich</type><version>1.0</version><author_name>npub1q86n5vtxkwerzwfqza3hwls8pl8764244464talfqy2vpj0qaz6q38qwta</author_name><author_url>https://nostr.ae/npub1q86n5vtxkwerzwfqza3hwls8pl8764244464talfqy2vpj0qaz6q38qwta</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2020-06-20&#xA;📝 Original message:&#xA;I am not steeped enough in Lightning Protocol issues to get the full design&#xA;space, but I&#39;m fairly certain BIP-119 Congestion Control trees would help&#xA;with this issue.&#xA;&#xA;You can bucket a tree by doing a histogram of HTLC size, so that all small&#xA;HTLCs live in a common CTV subtree and don&#39;t interfere with higher value&#xA;HTLCs. You can also play with sequencing to prevent those HTLCs from&#xA;getting longchains in the mempool until they&#39;re above a certain value.&#xA;--&#xA;@JeremyRubin &lt;https://twitter.com/JeremyRubin&gt;&#xA;&lt;https://twitter.com/JeremyRubin&gt;&#xA;&#xA;&#xA;On Thu, Jun 18, 2020 at 1:41 AM Antoine Riard &lt;antoine.riard at gmail.com&gt;&#xA;wrote:&#xA;&#xA;&gt; Hi Rene,&#xA;&gt;&#xA;&gt; Thanks for disclosing this vulnerability,&#xA;&gt;&#xA;&gt; I think this blackmail scenario holds but sadly there is a lower scenario.&#xA;&gt;&#xA;&gt; Both &#34;Flood &amp; Loot&#34; and your blackmail attack rely on `update_fee`&#xA;&gt; mechanism and unbounded commitment transaction size inflation. Though the&#xA;&gt; first to provoke block congestion and yours to lockdown in-flight fees as&#xA;&gt; funds hostage situation.&#xA;&gt;&#xA;&gt; &gt; 1. The current solution is to just not use up the max value of&#xA;&gt; htlc&#39;s. Eclaire and c-lightning by default only use up to 30 htlcs.&#xA;&gt;&#xA;&gt; As of today, yes I would recommend capping commitment size both for&#xA;&gt; ensuring competitive propagation/block selection and limiting HTLC exposure.&#xA;&gt;&#xA;&gt; &gt; 2. Probably the best fix (not sure if I understand the consequences&#xA;&gt; correctly) is coming from this PR to bitcoin core (c.f.&#xA;&gt; https://github.com/bitcoin/bitcoin/pull/15681 by @TheBlueMatt . If I get&#xA;&gt; it correctly with that we could always have low fees and ask the person who&#xA;&gt; want to claim their outputs to pay fees. This excludes overpayment and&#xA;&gt; could happen at a later stage when fees are not spiked. Still the victim&#xA;&gt; who offered the htlcs would have to spend those outputs at some time.&#xA;&gt;&#xA;&gt; It&#39;s a bit more complex, carve-out output, even combined with anchor&#xA;&gt; output support on the LN-side won&#39;t protect against different flavors of&#xA;&gt; pinning. I invite you to go through logs of past 2 LN dev meetings.&#xA;&gt;&#xA;&gt; &gt; 3. Don&#39;t overpay fees in commitment transactions. We can&#39;t foresee the&#xA;&gt; future anyway&#xA;&gt;&#xA;&gt; Once 2. is well-addressed we may deprecate `update_fee`.&#xA;&gt;&#xA;&gt; &gt; 4. Don&#39;t add htlcs for which the on chain fee is higher than the HTLCs&#xA;&gt; value (like we do with sub dust amounts and sub satoshi amounts. This would&#xA;&gt; at least make the attack expensive as the attacker would have to bind a lot&#xA;&gt; of liquidity.&#xA;&gt;&#xA;&gt; Ideally we want dust_limit to be dynamic, dust cap should be based on HTLC&#xA;&gt; economic value, feerate of its output, feerate of HTLC-transaction, feerate&#xA;&gt; estimation of any CPFP to bump it. I think that&#39;s kind of worthy to do once&#xA;&gt; we solved 3. and 4&#xA;&gt;&#xA;&gt; &gt; 5. Somehow be able to aggregate htlc&#39;s. In a world where we use payment&#xA;&gt; points instead of preimages we might be able to do so. It would be really&#xA;&gt; cool if separate HTLC&#39;s could be combined to 1 single output. I played&#xA;&gt; around a little bit but I have not come up with a scheme that is more&#xA;&gt; compact in all cases. Thus I just threw in the idea.&#xA;&gt;&#xA;&gt; Yes we may encode all HTLC in some Taproot tree in the future. There are&#xA;&gt; some wrinkles but for a high-level theoretical construction see my post on&#xA;&gt; CoinPool.&#xA;&gt;&#xA;&gt; &gt; 6. Split onchain fees differently (now the attacker would also lose fees&#xA;&gt; by conducting this attack) - No I don&#39;t want to start yet another fee&#xA;&gt; bikeshadding debate. (In particular I believe that a different split of&#xA;&gt; fees might make the Flood &amp; Loot attack economically more viable which&#xA;&gt; relies on the same principle)&#xA;&gt;&#xA;&gt; Likely a bit more of fee bikeshedding is something we have to do to make&#xA;&gt; LN secure... Switching fee from pre-committed ones to a single-party,&#xA;&gt; dynamic one.&#xA;&gt;&#xA;&gt; &gt; Independently I think we should have a hint in our readme file about&#xA;&gt; where and how people can disclose attacks and vulnerabilities.&#xA;&gt; Implementations have this but the BOLTs do not.&#xA;&gt;&#xA;&gt; I 100% agree, that&#39;s exactly&#xA;&gt; https://github.com/lightningnetwork/lightning-rfc/pull/772, waiting for&#xA;&gt; your feedback :)&#xA;&gt;&#xA;&gt; Cheers,&#xA;&gt;&#xA;&gt; Antoine&#xA;&gt;&#xA;&gt; Le mer. 17 juin 2020 à 09:41, ZmnSCPxj via Lightning-dev &lt;&#xA;&gt; lightning-dev at lists.linuxfoundation.org&gt; a écrit :&#xA;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; Good morning all,&#xA;&gt;&gt;&#xA;&gt;&gt; &gt;&#xA;&gt;&gt; &gt; Fee futures could help against this.&#xA;&gt;&gt; &gt; I remember writing about this some time ago but cannot find where (not&#xA;&gt;&gt; sure if it was in lightning-dev or bitcoin-dev).&#xA;&gt;&gt;&#xA;&gt;&gt; `harding` found it:&#xA;&gt;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-January/017601.html&#xA;&gt;&gt;&#xA;&gt;&gt; Regards,&#xA;&gt;&gt; ZmnSCPxj&#xA;&gt;&gt; _______________________________________________&#xA;&gt;&gt; Lightning-dev mailing list&#xA;&gt;&gt; Lightning-dev at lists.linuxfoundation.org&#xA;&gt;&gt; https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#xA;&gt;&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/20200620/3c0b6b52/attachment.html&gt;</html></oembed>