To make blockchain a bit easier for us humans, we should think about adding an "undo" option for transactions.
This undo feature could be activated within 5 blocks of the original transaction. After that, you can't reverse it anymore.
For Bitcoin, this means users would have about 50 minutes to trigger the undo. Once the original transaction gets its 6th confirmation, you're out of luck if you didn't get the undo into the 2nd, 3rd, 4th, 5th, or 6th block after the first one.
Sounds like a useless waste of time and effort. If I hand you a $10 bill and you walk away, is there an undo for that?
What if the person issuing the undo makes a mistake? Should we allow another 5 blocks to undo the undo?
5 confirmations, then you can undo the transaction?
I think that's impossible. I don't think there's any wallet that can do this except for transactions with 0 confirmation. Electrum can cancel the transaction, but the process is by replacing the old transaction to send BTC back to your wallet with a higher TX fee.
First clarification is 50minutes doesnt mean your transaction will be in the 5th block already. Yes the average time to mine a block is ten minutes but that is not constant and it varies, you can still be have one single block mined in whole 50 minutes.
Now base on your question, I think undo transaction can lead to double spending which will be a very bad flaw if a blockchain has it, take for example bitcoin Been treated as means for payment and when the payment is done imagine the sender going behind to double spend such transaction what happens to the seller who got double played will they use bitcoin as means of payment again? Even traditional banks dont release wrong transactions immediately they check to see if it was genuine mistake before they process the reversal. So undo transaction isnt a good move to me
When you read the whitepaper and study Bitcoin more you realize that one of the principles which is the central idea behind Bitcoin was its irreversibility. It is actually addressing an existing problem with previous payment systems (eg. PayPal) where the transactions can be reversed very easily and the problems such a feature creates for its users specifically the merchants (receiving payments).
What you are suggesting goes against that principle.
50 minutes and an "undo" option? That doesnt seem like something the community would support.
Bitcoins whole purpose is to scale and provide fast, irreversible transactions. A 50-minute wait time and the ability to cancel transactions go completely against that purpose. It would make things messy, like following the model of some fiat digital wallets.
In our country, one of the wallet providers actually introduced something similar, and while it may work for fiat, it feels out of place for Bitcoin.
Some users like it, but we are not fiat, we are bitcoin,, so we don't follow their style.
This is not currently possible and probably never will be in the foreseeable future because of the simple reason of once you send a transaction to another address, you no longer have the private keys to spend that sent BTC.
So any proposal that implements an "undo" transaction will not work out because then anybody could do chargebacks, and normal people would no longer be able to trust that untrustworthy actors have sent their BTC and won't try to take it back fraudulently.
I like it! OP could even patch one of the open source wallets to do this for him. I won't use it though: it'll just be annoyingly slow. Waiting for 1 confirmation already feels slow when I order something.
Scammers will love this feature!
As usual, i see you make unique suggestion/idea on technical board. I can't wait coffee shop require 6 (5 + 1) confirmation and exchange require 11 (5 + 6) confirmation, once your idea implemented on Bitcoin network.
Jokes aside, people already can "undo" or "cancel" their unconfirmed transaction thanks to existence of RBF and full-RBF. They just need to use wallet which support such feature, such as Electrum.
Don't you think that if this is implemented in the bitcoin network, it will give some people the room to malicious undo transactions which can pave way for double spending and hence create confusion in the network.
You are trying to destroy one of the unique attributes of bitcoin as I learnt, i.e irreversibility. This feature makes bitcoin fit for ai and machine integration in the future.
Edit: Just noticing that pooya87 has said similar thing above.
You can undo the TX with RBF, the difference is, it's possible only with zero confirmations. Adding 5 blocks doesn't solve the problem at all but just elongate the waiting time period for confirmation. Let's see if user can undo TX on or before 5 confirmations then it's obvious that people will accept only TX with 6 or more confirmations.
If you don't want to make mistake then don't do mistakes just as simple as that.
My idea of RBF is when your transaction is unconfirmed after a long time of being initiated, maybe miners dropped it because of low transaction fee, you can initiate another transaction with a higher fee to replace the former. If this happens, it means the later transaction is still going to be broadcasted in the network. How then do we replace the former and ensure that the later is also not processed in the network.
Sorry if my question appears amateur. Last week I read about RBF (Replace by Fee) and CPFP (Child Pay for Parent).
Even Protonmail has an "Undo" option now after sending. You can't undo email to external providers, so all this means is they've added an extra time delay before really sending the email. More and more services are doing that, and all it does is make email slower.
Your wallet could add a delay before broadcasting, but that's just moving the "you should check it"-part and makes your transaction slower.
If you want to ensure both former (1st) and later (2nd) transaction never confirmed, you justneed to create 3rd transaction using RBF or full-RBF feature.
Some people already complain their transaction isn't confirmed fast enough, so i doubt wallet provider would do that. IMO it's more likely wallet provider either add more warning or more detailed transaction preview.
Adding more warnings will just make people click through it without reading. Any warning that you see many times, gets ignored. I like the Linux CLI default of never asking for confirmation. If you're not sure about something, don't tell your computer to do it.
Bitcoin Core lets me wait about 3 seconds before I can click the final button, and that feels kinda slow
There's a bigger problem with this: "if you design something to be foolproof, the universe will create a a bigger fool" (I don't know who originally came up with this quote). More disclaimers and warnings just lead to dumber people who don't think, because they expect to be protected everywhere. I'd much rather see people think before they do something.
Thanks, I'll read about full-RBF feature, else I will be tempted to ask how the 3rd transaction will not enter the network.
I just imagined a world without noobs where everyone is an expert. There's no room for errors because experts will likely behave like machines. Even experts atimes makes errors or dramatically changes their mind. A 3 second delay could be infinitesimal.
It's not about not making mistakes, it's about thinking before doing something. If you need more than 3 seconds, think for more than 3 seconds. If you can't do that, no amount of popups is going to stop you.
Bitcoin is not for human errors, there was no place for it when it was created but later some things changed and at some point, it's forgiving to human errors. For example, there was no Replace By Fee and now, with Replace By Fee option, you can increase the transaction fee in case it doesn't get confirmed and you can also reverse the transaction before it gets confirmed in the next block. i.e. if you aren't unlucky and your transaction doesn't get confirmed immediately, you have some time to reverse transaction by paying a little higher fee.
What you describe is the problem that Bitcoin tried to solve (double spend). So, that can't be implemented in Bitcoin. It doesn't work like that, it doesn't count minutes, it counts confirmation and also by following your idea, it will take lots of time to get Bitcoin transactions confirmed but majority of people want to get it confirmed ASAP, so many businesses that offer instant deposit, won't be able to show you deposit for at least 50 minutes.