Hey everyone in the Bitcoin forum,
Do you think that allowing users who sent out transaction which is unconfirmed is able to cancel that transaction is a good thing?
No. (And if you ask a yes-or-no question...)
i personally think that bitcoin should implement this Feature, like if you sent out an transaction to the wrong address you can quickly cancel it before it gets confirmed which will save lots of trouble for some.
Let me know what do you guys think about this feature?
It’s not technically feasible, and it would be bad if it were.
Nodes “broadcast” transactions; and that word is used for a reason. After the transaction has been passed along to other nodes, you have no way of knowing at any particular moment how many nodes have received it, or which. You also have no way of knowing whether a miner is working it into a block. All the same would apply as for a hypothetical “cancel” command. Thus some nodes might get the transaction, some might get the cancellation, some might get neither, some might get both. Over time, the situation would approach that last—but you have no way of knowing when.
Similar applies for RBF, but not the same: Miners have an incentive to accept the replacement, due to the higher fee. Nodes which never get the original but get the RBF have more or less simply received a transaction. But RBF is not guaranteed; a miner could work the original into a block, and then the replacement would be rejected as a double-spend.
And all this is this way, because...
I think something like this could be as simple as broadcasting a request to remove a transaction from the mempool.
There is no such thing as
the mempool. Each node has its own mempool; there can be and often are significant differences between them. (
You probably know this; but most people don’t, and it’s easy to forget.)
How do you reliably give the cancellation to all the nodes who received the transaction?
And why would a miner accept a cancellation, and throw away the fee? Unless the cancellation is itself a transaction which pays a fee; if RBF rules were different, an RBF replacement with zero outputs other than coinbase (fees) would
de facto operate this way.
OP: When a transaction is sent to the network, from this standpoint (if not others), it should be considered already irrevocable.