Bitcoin Forum
May 14, 2024, 01:46:17 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: RBF to fish buggy transactions from the memory pool  (Read 212 times)
vlc33 (OP)
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
August 17, 2019, 09:06:47 AM
 #1

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.
1715651177
Hero Member
*
Offline Offline

Posts: 1715651177

View Profile Personal Message (Offline)

Ignore
1715651177
Reply with quote  #2

1715651177
Report to moderator
1715651177
Hero Member
*
Offline Offline

Posts: 1715651177

View Profile Personal Message (Offline)

Ignore
1715651177
Reply with quote  #2

1715651177
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715651177
Hero Member
*
Offline Offline

Posts: 1715651177

View Profile Personal Message (Offline)

Ignore
1715651177
Reply with quote  #2

1715651177
Report to moderator
1715651177
Hero Member
*
Offline Offline

Posts: 1715651177

View Profile Personal Message (Offline)

Ignore
1715651177
Reply with quote  #2

1715651177
Report to moderator
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18515


View Profile
August 17, 2019, 04:10:39 PM
 #2

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.
jackg
Copper Member
Legendary
*
Offline Offline

Activity: 2856
Merit: 3071


https://bit.ly/387FXHi lightning theory


View Profile
August 17, 2019, 09:27:02 PM
 #3

It's possible. I did it when testing double spends...

What are you planning to use this for though?
Abdussamad
Legendary
*
Offline Offline

Activity: 3612
Merit: 1564



View Profile
August 18, 2019, 12:27:55 AM
 #4

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.
jackg
Copper Member
Legendary
*
Offline Offline

Activity: 2856
Merit: 3071


https://bit.ly/387FXHi lightning theory


View Profile
August 18, 2019, 03:57:41 PM
 #5

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.
Rath_
aka BitCryptex
Legendary
*
Offline Offline

Activity: 1876
Merit: 3131



View Profile
August 18, 2019, 05:53:16 PM
 #6

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.
jackg
Copper Member
Legendary
*
Offline Offline

Activity: 2856
Merit: 3071


https://bit.ly/387FXHi lightning theory


View Profile
August 18, 2019, 06:33:03 PM
 #7

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).

Abdussamad
Legendary
*
Offline Offline

Activity: 3612
Merit: 1564



View Profile
August 19, 2019, 03:21:07 AM
 #8

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.
jackg
Copper Member
Legendary
*
Offline Offline

Activity: 2856
Merit: 3071


https://bit.ly/387FXHi lightning theory


View Profile
August 19, 2019, 03:18:37 PM
 #9

There's a "delete from history" function on android as far as I can remember... Maybe it got removed at some point...
nc50lc
Legendary
*
Offline Offline

Activity: 2408
Merit: 5601


Self-proclaimed Genius


View Profile
August 20, 2019, 04:43:50 AM
 #10

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.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!