trezor / trezor-suite

Trezor Suite Monorepo
https://trezor.io/trezor-suite
Other
724 stars 251 forks source link

Feature: Cancel Transaction via RBF #6810

Open prusnak opened 2 years ago

prusnak commented 2 years ago

Currently there are two options what an user can do with a RBF transaction:

See https://trezor.io/learn/a/rbf-in-trezor-suite-app for more details

Originally, were considering adding a third option:

In the end, we haven't added it, since this would provide an easy way for a user to fool merchants accepting 0-conf TXs via a double spend.

However, it seems the cat is out of the bag and other wallets have already added it, so we might want to add it as well:

gubatron commented 2 years ago

If you think that the "Cancel transaction" feature should be implemented, let us know in the GitHub issue

Yes please!

prusnak commented 2 years ago

Good point from Stephan Livera:

The feature name can confuse some users if they attempt it and it fails. Maybe something like 'Attempt to cancel'?

danielkonecny commented 2 years ago

I also think this would be a good functionality. It improves usability of bitcoin and also motivates merchants to use LN for smaller transactions (and non-0-conf for larger). Definitely a better practice than 0-conf relying on trust in the customer.

alicercedigital commented 1 year ago

The absence of this functionality is a significant flaw in Trezor.

To fix pending transactions that do not have 200% of the funds, we need to use another wallet such as Metamask. This, however, could make my wallet insecure, and thus make the Trezor ineffective.

This issue needs to be addressed, as it is causing problems for many Trezor users. A quick search for "not enough funds bump fee trezor" reveals a significant number of users who have suffered losses or other issues that could have been prevented with this functionality.

Zerebokep commented 1 year ago

Please implement this.

spazcoin commented 1 year ago

Yes please implement this. My use-case: Interlay wraps BTC into iBTC on the Polkadot network. But they have a 12 hour window for BTC transactions to be confirmed. If not confirmed within 12 hours the Interlay protocol will mark that Interlay transaction as not having been satisfied and will mark it as "cancelled". I've asked them several times and their XCLAIM protocol can't proof a transaction in the mempool and can only generate a proof for a confirmed transaction. So now once the delayed Bitcoin transaction is finally processed, the original destination BTC accounts will receive funds but no Interlay iBTC tokens will be generated. But since Trezor doesn't support double-spend transactions, I have no way to force the original (non-confirmed) transaction to fail now.