<oembed><type>rich</type><version>1.0</version><author_name>npub1vjzmc45k8dgujppapp2ue20h3l9apnsntgv4c0ukncvv549q64gsz4x8dd</author_name><author_url>https://nostr.ae/npub1vjzmc45k8dgujppapp2ue20h3l9apnsntgv4c0ukncvv549q64gsz4x8dd</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2022-06-13&#xA;📝 Original message:Hi list,&#xA;&#xA;Recent discussions among LN devs have brought back on the surface concerns&#xA;about the security of multi-party funded transactions (coinjoins,&#xA;dual-funded LN channels, on-chain DLCs, ...). It turns out there is a&#xA;low-fruit, naive DoS vector playable against the funding flow of any such&#xA;construction due to the lack of existent full-rbf transaction-relay&#xA;topology on today&#39;s p2p network [0] [1]. While it does not consist in a&#xA;direct loss of funds, if exploited well I think it&#39;s annoying enough to&#xA;inflict significant timevalue loss or fee-bumping waste&#xA;to the future providers or distributed swarm of users doing multi-party&#xA;funded transactions. Of course, it can be fixed one layer above by&#xA;introducing either fidelity bonds or a reliable centralized coordinator,&#xA;though at the price of an overhead per-participant ressources cost and loss&#xA;in system openness [1].&#xA;&#xA;For that reason, I believe it would be beneficial to the flourishing of&#xA;multi-party funded transactions to fix the Dos vector by seeing a subset of&#xA;the network running full-rbf and enabling propagation of honest multi-party&#xA;transactions to the interested miners, replacing potential non-signaling&#xA;double-spend from a malicious counterparty. Moving towards that direction,&#xA;I&#39;ve submitted a small patch against Bitcoin Core enabling it to turn on&#xA;full-rbf as a policy, still under review [3]. The default setting stays&#xA;**false**, i.e keeping opt-in RBF as a default replacement policy. I&#39;ve&#xA;started to run the patch on a public node at 146.190.224.15.&#xA;&#xA;If you&#39;re a node operator curious to play with full-rbf, feel free to&#xA;connect to this node or spawn up a toy, public node yourself. There is a&#xA;##uafrbf libera chat if you would like information on the settings or&#xA;looking for full-rbf friends (though that step could be automated in the&#xA;future by setting up a dedicated network bit and reserving a few outbound&#xA;slots for them).&#xA;&#xA;If you&#39;re a mining operator looking to increase your income, you might be&#xA;interested to experiment with full-rbf as a policy. Indeed, in the future I&#xA;believe the multi-party transactions issuers who need full-rbf to secure&#xA;their funding flow should connect by default to full-rbf peers. One can&#xA;conjecture that their transactions are likely to be more compelling in&#xA;their feerate as their liquidity needs are higher than the simple&#xA;transaction. For today, I think we have really few standards and bitcoin&#xA;softwares relying on multi-party funded transactions [4].&#xA;&#xA;If you&#39;re a Bitcoin user or business and you don&#39;t like full-rbf, please&#xA;express an opinion on how it might affect your software/operations. I&#39;m&#xA;always interested to learn more about mempool and transaction-relay&#xA;interactions with upper-layers and applications and to listen to feedback&#xA;in those areas, and I guess a lot of other Bitcoin researchers/devs too. I&#xA;know there have been a lot of concerns about full-rbf in the past, however&#xA;I believe the Bitcoin ecosystem has matured a lot since then.&#xA;&#xA;Any mistakes or missing context is my own.&#xA;&#xA;Cheers,&#xA;Antoine&#xA;&#xA;[0] For more info about replace-by-fee, see&#xA;https://bitcoinops.org/en/topics/replace-by-fee/&#xA;&#xA;[1] For more details about the DoS vector, see&#xA;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&#xA;&#xA;[2] E.g I think it does not affect the Lightning Pool service, as there is&#xA;a preliminary step where the participant funds are locked first in a 2-of-2&#xA;with the coordinator before being committed in the multi-party batch&#xA;transaction.&#xA;&#xA;[3] https://github.com/bitcoin/bitcoin/pull/25353&#xA;&#xA;[4] E.g DLCs :&#xA;https://github.com/discreetlogcontracts/dlcspecs/blob/master/Transactions.md&#xA;; Lightning dual-funded channel :&#xA;https://github.com/lightning/bolts/pull/851&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220613/1a047265/attachment.html&gt;</html></oembed>