From BIP 125:
A transaction is considered to have opted in to allowing replacement of itself if any of its inputs have an nSequence number less than (0xffffffff - 1).
The nSequence in a transaction is used for other things including locktimes so it is unlikely to ever be removed entirely.
In case consensus decided to ignore pro-zeroconf nodes (in case that is or can be a thing),
then what's the point of having the RBF bit in a transaction, if everything in the system is enforcing RBF (either explicitly or implicitly)?
"Ignoring pro zeroconf nodes" doesn't make much sense unless they are attempting to change the consensus rules or seeking to reject blocks with replace-by-fee transactions in them. In that case we would be in consensus rule "war" territory like with the block size wars but that would be a very strange route to take given altcoins like BCH already exist which aren't seeking to scale off-chain and are perhaps more open to prioritizing the zero conf use case. It is possible full nodes could preferentially peer with other nodes who have the -mempoolfullrbf
option turned on in future. However, in the Bitcoin Core 24.0 release it is off by default and there is no preferential peering based on this issue.
Would the RBF bit be then set for removal in a subsequent soft fork?
It wouldn't need a soft fork or a consensus change to simply ignore the transaction signaling for RBF by default in a Bitcoin implementation like Bitcoin Core. I very much doubt Bitcoin Core would ever make RBF a consensus issue, it is a mempool policy issue. It is possible Bitcoin Core could change policy defaults and policy options available to users in future. This is pure speculation of course though, I don't know what will happen in the future and no one can speak for Bitcoin Core, certainly not me.
And if that were the case, why not remove it the first moment pro-zeroconf nodes are ignored?
It is possible the default for the -mempoolfullrbf
option could be changed in future and it is also possible the -mempoolfullrbf
option could be removed in future. As I said, we're moving into speculating future changes in Bitcoin Core releases. Any future change would need to have a pull request opened, reviewed, merged and included in a release. As you stated this is in the realm of policy and not consensus so I highly doubt this would be relevant to a future soft fork but I guess there is a speculative element to that too as I can't envisage every possible future soft fork design.