Bitcoin Forum
October 31, 2024, 05:39:43 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Can RBF be utilised to bring undo functionality to wallets  (Read 130 times)
yoshirithm (OP)
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
January 31, 2022, 08:45:37 AM
 #1

One of the scariest part of bitcoin is the unknown of sending a transaction on the network. Double, triple and quadruple checking the address doesn't provide the best possible peace of mind or UX in my opinion. Most people as a result send 2 transactions. A small 'test' transaction, followed by the larger.

My question is, is it possible to utilise RBF (replace-by-fee) to bring undo functionality to Bitcoin wallets?

Below i have listed the steps of how i hypothetically see it working;

1. User broadcasts transaction selecting the 'peace of mind/slower' option.

2. Transaction differs by being broadcast 5 blocks into the future (can probably be 2-3 blocks into the future). My hope here is that a wallet can still see this transaction has been broadcast to their address despite it being pushed farther back.

3. User can then confirm that it’s correct address having seen the pre-confirmation transaction appear in the destination addresses wallet.

4. Now in the hypothetical scenario I have a typo in my address and I don’t see the pre-confirmation.

5. In this scenario I would then like to hit an ‘undo’ button. And RBF will replace the transaction with a small fee.


Potentially this has been raised before as part of a BIP, if so please disregard and point me to that.
BlackHatCoiner
Legendary
*
Offline Offline

Activity: 1694
Merit: 8318


Bitcoin is a royal fork


View Profile WWW
January 31, 2022, 08:50:13 AM
Merited by pooya87 (2), ABCbits (1)
 #2

Most people as a result send 2 transactions. A small 'test' transaction, followed by the larger.
What? Definitely, no. Most people just double-check their deposit address.

My question is, is it possible to utilise RBF (replace-by-fee) to bring undo functionality to Bitcoin wallets?
But, this undo functionality already exists. Broadcast a transaction opted in RBF and before it gets confirmed broadcast another where you double-spend your output to one of your addresses (with higher fee). The latter is likely to be confirmed first.

█▀▀▀











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











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
NeuroticFish
Legendary
*
Offline Offline

Activity: 3850
Merit: 6583


Looking for campaign manager? Contact icopress!


View Profile
January 31, 2022, 09:06:35 AM
Merited by ABCbits (1)
 #3

My question is, is it possible to utilise RBF (replace-by-fee) to bring undo functionality to Bitcoin wallets?

RBF already exists and can be used, no new BIP is necessary for that. Especially Electrum has it implemented pretty nicely.

Now, it worth mentioning that:
* replacing a transaction, even if it has RBF enabled, is no longer possible after it was confirmed
* RBF doesn't have 100% rate of success - but I think that the second transaction didn't propagate/reach the mempool of the miner in those rare cases

The topic of canceling transactions was discussed/asked in the past multiple times, like https://bitcointalk.org/index.php?topic=5324590.0
You may want to read the explanations from those relies too.

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18726


View Profile
January 31, 2022, 10:01:12 AM
 #4

2. Transaction differs by being broadcast 5 blocks into the future (can probably be 2-3 blocks into the future). My hope here is that a wallet can still see this transaction has been broadcast to their address despite it being pushed farther back.
This is not possible. If you choose not to broadcast the transaction, then the receiving wallet will simply not see it since the transaction has not propagated through the network. If you timelock the transaction for 5 blocks in the future, then you will not be able to broadcast it until that time and it will again just sit in your wallet and the receiving wallet will not see it. Your only option would be to broadcast the transaction with a low fee and hope it doesn't get confirmed before you have time to communicate with the owner of the receiving wallet and check it has showed up.

Still, I think this is massively over complicating the problem. It is near impossible to make a few typos in a bitcoin address and still produce a valid address which you can send coins to. If you have the wrong address pasted in to your wallet then it will be markedly different from the real one.
nc50lc
Legendary
*
Offline Offline

Activity: 2590
Merit: 6309


Self-proclaimed Genius


View Profile
January 31, 2022, 11:21:13 AM
Merited by vapourminer (3), NeuroticFish (2), n0nce (2)
 #5

Most people as a result send 2 transactions. A small 'test' transaction, followed by the larger.
-snip-
I only see people doing this if it's their first time sending to a newly installed wallet; and some for high value transactions.
I mean, "see" as I remember users included it in their description in some technical support threads.

Anyhow, as mentioned, Electrum has such feature, except the broadcasted transaction could be mined in the next block before you can send the "double-spend" txn it if it has enough fee rate.
But still, the average of 10-minutes per block offers enough time in case the receiver didn't see the unconfirmed transaction or if it was sent to the wrong address.
Non-custodial wallets should be able to see the broadcasted unconfirmed transaction right away, no need to implement "step2" if that's your concern.
|

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
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!