Author

Topic: RBF to fish buggy transactions from the memory pool (Read 238 times)

legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
There's a "delete from history" function on android as far as I can remember... Maybe it got removed at some point...
It's only possible with "local transactions", the ones that you've saved by importing signed TX hex.
Because you haven't sent them to the network yet.

Unconfirmed/Confirmed TXs can't be deleted, AFAIK.
copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory
There's a "delete from history" function on android as far as I can remember... Maybe it got removed at some point...
legendary
Activity: 3682
Merit: 1580
You can request the feature on github issues: https://github.com/spesmilo/electrum/issues . I for one think it is a valid use case for rbf transactions.

I thought you could just delete it from your local history and then make a new transaction to broadcast?

I've normally done it with an intention to double spend it straight afterwards so I've had 2 computers and signed it on both... But it's probably helpful for when you get the address wrong.

So you're talking about deleting the transaction from the wallet file manually and then using coin control to spend the specific outputs? There's no easy way to do it via the gui which is what would make it accessible to a larger audience.
copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory
I've normally done it with an intention to double spend it straight afterwards so I've had 2 computers and signed it on both... But it's probably helpful for when you get the address wrong.

When did you do it? Electrum enabled RBF by default a few updates ago, so that's why you might have been able to do it.

Couple of weeks ago, I got bored and got an address from Jet Cash so I could test it (it adds more of an incentive when you send it to someone else to try to get it back and it worked with RBF enabled - doesn't work without RBF it's helpful to know if someone sends you a transaction as you can check if there's a 1 or a 0 which would work for some services that require only one confirmation).

legendary
Activity: 1876
Merit: 3132
I've normally done it with an intention to double spend it straight afterwards so I've had 2 computers and signed it on both... But it's probably helpful for when you get the address wrong.

When did you do it? Electrum enabled RBF by default a few updates ago, so that's why you might have been able to do it.

While full-RBF does allow users to "undo" transactions after they have been sent, the ability of decentralized wallets to protect users from double-spends has proven to be near-zero

Without RBF enabled, I think that it would look a bit different. Once a transaction propagated among well-connected nodes, they should reject future double-spend attempts because of the first-seen rule.
copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory
You can request the feature on github issues: https://github.com/spesmilo/electrum/issues . I for one think it is a valid use case for rbf transactions.

I thought you could just delete it from your local history and then make a new transaction to broadcast?

I've normally done it with an intention to double spend it straight afterwards so I've had 2 computers and signed it on both... But it's probably helpful for when you get the address wrong.
legendary
Activity: 3682
Merit: 1580
You can request the feature on github issues: https://github.com/spesmilo/electrum/issues . I for one think it is a valid use case for rbf transactions.
copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory
It's possible. I did it when testing double spends...

What are you planning to use this for though?
legendary
Activity: 2268
Merit: 18748
Now what about an option to modify a transaction (already sent to the memory pool and pending) sending a new one changing the outputs and increasing the fees so the original transaction is replaced by the newly crafted one, so the funds can go back to the wallet or just go to someone else.
What you are describing already exists, and is known as double spending. It is generally something to be avoided rather than encouraged, as it is a way to steal from someone you are trading with.

Let's say I craft a transaction which sends 1 BTC to you with a low fee. You see the transaction in the mempool, but with zero confirmations, and release whatever goods or coins I was buying from you. As soon as you do so, I craft a new transaction which instead sends the same 1 BTC back to me with a much higher fee. My second transaction (with the higher fee) is likely to confirm first, and so I end up with my own 1 BTC back again, as well as having the goods or coins you sent me. I have now successfully stolen from you.

Many nodes will automatically reject a transaction if they detect it is a double spend.
newbie
Activity: 2
Merit: 0
Hello I think I know how to use 'Replace by fee', to accelerate a transaction increasing the fee. This option is already running in the GUI of Electrum as far as I know.

Now what about an option to modify a transaction (already sent to the memory pool and pending) sending a new one changing the outputs and increasing the fees so the original transaction is replaced by the newly crafted one, so the funds can go back to the wallet or just go to someone else.

Actually a new transaction with higger fee canot be crafted as funds are verified to be already spent (penfing).

This option could be the last line of defense for buggy transactions just sent to the Memory Pool.

Thank You.
Jump to: