Bitcoin Forum

Bitcoin => Electrum => Topic started by: squarepeg on November 23, 2017, 12:27:03 PM



Title: Why does blockchain.info flag Electrum replace-by-fee as double spend?
Post by: squarepeg on November 23, 2017, 12:27:03 PM
I thought the whole point of replace-by-fee was so that it wouldn't be classified as a double spend.


Title: Re: Why does blockchain.info flag Electrum replace-by-fee as double spend?
Post by: squarepeg on November 23, 2017, 01:45:35 PM
Looks like the double spend warning went away after a while.  I guess it just took time for the first transaction to get totally cleared from all the mempools.


Title: Re: Why does blockchain.info flag Electrum replace-by-fee as double spend?
Post by: pooya87 on November 24, 2017, 04:33:25 AM
because replace by fee is not supported by the whole network.

the way replace by fee works is that first you make a transaction in a way that you tell everyone that you may replace this transaction by increasing its fee. it is like a flag on your tx.
but when you increase the fee, in reality you are creating a new transaction, signing it again, and even get a new and different hash (tx id).

as i said some nodes still do not support it, which means when you send your new tx some of them see it as a double spend and ignore that "flag" so they keep the old one. some of them that support RBF, see that flag, drop the old one and place the new tx in their mempool.

now we have some nodes not supporting RBF which have your old tx, and some nodes that do support RBF which have your new tx. a block explorer should list all these transactions not just one. so they do and their system recognizes this as a double spend just because there are two different transactions.


Title: Re: Why does blockchain.info flag Electrum replace-by-fee as double spend?
Post by: Abdussamad on November 24, 2017, 09:10:08 AM
I thought the whole point of replace-by-fee was so that it wouldn't be classified as a double spend.

It actually marks a transaction as double spendable! All unconfirmed transactions are double spendable. This just explicitly marks them as non-final so that the recipient knows that another transaction spending the same outputs maybe crafted to replace this one. So don't accept this transaction until it has been confirmed.