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