Playing with full-rbf peers for fun and L2s security



Summary:

The security of multi-party funded transactions (such as coinjoins, dual-funded LN channels, and on-chain DLCs) has been a topic of concern recently. A naive denial-of-service (DoS) vector can be played against the funding flow of any such construction due to the lack of existent full-replace-by-fee (RBF) transaction-relay topology on today's peer-to-peer (p2p) network. Antoine Riard believes it would be beneficial to fix the DoS vector by seeing a subset of the network running full-RBF and enabling propagation of honest multi-party transactions to interested miners, replacing potential non-signaling double-spend from a malicious counterparty. Riard submitted a small patch against Bitcoin Core enabling it to turn on full-RBF as a policy, still under review, with the default setting staying false, i.e keeping opt-in RBF as a default replacement policy. The patch is running on a public node at 146.190.224.15. Riard invites node operators curious to play with full-RBF to connect to his node or spawn up a toy, public node yourself. If mining operators are looking to increase their income, they might be interested to experiment with full-RBF as a policy. There are concerns about how many people RBF being sufficient or not is, but the idea that we should only build robust systems after the broken ones are attacked is not a serious argument. Full-RBF is a simple, obvious, incentive-compatible step to getting closer to more robust layer two systems, but fixing the rest of the holes is for future proposals which are a bit more involved and definitely less mature. However, some users do not like full-RBF. They suggest trying Bitcoin Knots instead which already has an option to disable all RBF policies if required, opt-in, and full RBF policy. Developers should provide basic RBF policy options rather than attempting to define what constitutes a good policy and removing the ability to disable something when necessary.


Updated on: 2023-06-15T21:59:55.058189+00:00