Author: Dario Sneidermanis 2022-10-07 16:20:49
Published on: 2022-10-07T16:20:49+00:00
Muun wallet, a non-custodial mobile bitcoin wallet, has reviewed the latest bitcoin core release candidate and found troubling facts related to the opt-in full-RBF deployment. The opt-in full-RBF proposal was announced on the mailing list last June to close the gap between the protocol's relay policies and miner incentives. However, when reviewing the 24.0 release candidate just a few days ago, Muun realized that zero-conf apps must immediately turn off their zero-conf features. This means that zero-conf applications are receiving incoming on-chain transactions for which they don't control the inputs, making them susceptible to attacks from anyone who can perform an attack with an easy-to-use interface. Full-RBF adoption works on three different layers: the transaction application layer, the transaction relaying layer, and the transaction mining layer. An application cannot control whether a replacement to an incoming transaction is relayed via full-RBF. As soon as a single application can generate replacements easily via full-RBF, all other applications have to assume that any incoming transaction from an untrusted party might be replaced via full-RBF. This means for the application layer, this is a forced upgrade. Muun has suggested an alternative, going straight to an opt-out deployment locked by code at a certain height in the future to give time to everyone and avoid a huge mempool divergence event. While it's clear how full-RBF breaks zero-conf applications, other more subtle things break in many wallets, including Muun. For example, most wallets with support for on-chain payments use the transaction view of a block explorer as a shareable payment receipt, but explorers currently don't track payment replacements and, more importantly, don't warn users that unconfirmed funds are not theirs (yet).
Updated on: 2023-06-16T00:45:31.061358+00:00