8

Replace by fee is a proposed mechanism for bitcoin (that has not been adopted) by which 0 confirmation transactions can be "undone" by submitting a transaction with a higher fee.

Technically, this isn't part of the consensus protocol, since 0 confirmation transactions aren't in the blocks, but miners and nodes will ignore replace-by-fee transactions.

Does Monero support replace-by-fee? If I submit a transaction that contradicts another transaction but has a higher fee, which will (probably) be mined?

11

There is no such system in Monero.

Now, miners will mine transactions that have the highest fee/byte ratio first. But once a miner accepted a transaction in its txpool, it will not accept another one that's conflicting. So the only way that can work is if the second one is sent right after the first, to another miner, and manages to be mined first (ie, the part of the network reached by the second miner finds a block first). This is essentially a double spending attack, but that's the only way you can replace a tx in Monero :)

2

I'm fairly certain it does not as RBF is a mechanism to get around the fact that it is crippled at 1MB, and there is a danger the transaction will never get included due to full blocks and being stuck in the memory pool for too long. As you say, it is not necessary for consensus. Miners could implement it at their discretion, but with a flexible blocksize there's almost zero incentive to do so.

I don't know for certain, but I'd be fairly certain that the first one will not be overridden by subsequent ones as the older should have a higher priority and be inclueded before newer, higher fee transactions as a default. That's a guess though as I haven't read the code myself, someone better read will have to confirm/clarify that.

  • 2
    Rbf also makes sure people don't think 0 confirm transactions are secure. – PyRulez Aug 5 '16 at 18:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.