Other people have made good points. But one thing I think hasn't been discussed is incentives to attack Bitcoin: because zeroconf transactions rely on the P2P network, both merchants trying to rely on them, and attackers trying to double spend, have incentives to attack the P2P network.
The latter is more obvious: if you sybil attack the network, DoS miner's nodes, etc. you can break the very weak consensus that zeroconf is relying on. We don't want people to have a profit motive to attack Bitcoin nodes, so full-rbf is desirable by taking away that profit motive.
The latter is less obvious: merchants trying to do "risk management" of zeroconf transactions inevitably find they have to try to measure propagation of transactions. But because Bitcoin has decent privacy protections, the only way to do that is for the merchants to perform sybil attacks against the P2P network! While this is a mild attack per merchant, it adds up: eventually the whole network will run out of connection slots. Again, we don't want this incentive to exist. And of course, since only a small number of merchants can successfully do this, it's very centralized.
Finally, in the past we've seen merchants try to make deals with miners to make zeroconf more reliable. This is really ugly at the end stage, because the only really effective way to guarantee zeroconf txs get mined is to get miners to do 51% attacks on miners who don't mine the "right" transactions that "came first". Due to the P2P attacks, and the general lack of consensus in the mempool, it is impossible for smaller, non-anonymous, miners to always mine the "right" txs.
So yeah, when v24.0 is released, please set mempoolfullrbf=1 on your home nodes, and mining nodes. It's better for everyone if we get rid of this opt-in-rbf/zeroconf nonsense.
It's better for everyone if we get rid of this opt-in-rbf/zeroconf nonsense.
This.
reply
Please don't activate mempoolfullrbf, if you're not 100% confident you understand what you're doing here.
reply
It's a node setting. If people choosing to relay replacements makes that big of a difference to people relying on unconfirmed transactions... that says a lot about how utterly broken relying on unconfirmed transactions is!
reply
What are the drawbacks? Why shouldn't I activate it?
reply
It removes functionality.
reply