One of the current RBF acceptance criteria is the prohibition of new unconfirmed inputs in the replacement transaction. That means that all replacement inputs must either be confirmed, or have unconfirmed spends that would get evicted.
However, that limitation is trivially circumvented. If one wanted to spend an unconfirmed UTXO in the replacement transaction, all one would need to do is create a temporary, independent low-fee-rate transaction that spends that input, and then simply add that transaction to the replacement’s eviction set. @glozow has documented that here back in early 2022, and I imagine there’s other literature out there documenting this same phenomenon.
One interesting thing to note with this approach of circumventing rule 2 is that the broadcasting of the temporary transaction and the broadcasting of the actually intended replacement transaction ought to be staggered, lest some nodes see only the final replacement transaction and reject it. I think it’s fair to say that that makes the propagation somewhat nondeterministic. Given that any motivated actor can trivially craft such a dummy transaction and then simply wait 30 seconds (maybe less?) before broadcasting the replacement, removing the pretense of rule 2 would reduce network traffic for this scenario.
In light of all the work on the cluster mempool that’s been ongoing recently, a question for this PR might be: “why now?” My answer would be that due to the easy circumvention of rule 2, and it therefore arguably not being a “real” rule, removing it is somewhat independent of future, even near-term, mempool policy improvements.
All that being said, the basis of this PR might be due to a glaring misunderstanding on my part of how bitcoin works, in which case feel free to close it, and my apologies for the noise.