Author

Topic: How to cancel Bitcoin transaction? (Read 590 times)

legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
June 17, 2021, 01:47:32 AM
#35
True that unconfirmed transactions are highly risky in crypto trading. Recently I read an article about a dust attack through bitcoin funding. It’s actually a great post that helps to get an idea on how to avoid such unconfirmed transactions.
This discussion thread is totally different from dust attack discussion. This thread is about replace-by-fee and child-pay-for-parent transactions which can be used to unstuck unconfirmed transactions, also addressing the issue of enabling replace-by-fee while making transaction to be able to pump the fee during any stuck transactions. Dust attack transactions can be confirmed, and which is very important for the receiver to use coin control to freeze the dust coins, or using a mixer or CoinJoin wallet like Wasabi to avoid the negative effect of such dust transaction so that the attacker will not be able to trace the next transactions to you after been mixed or coinjoined.
newbie
Activity: 36
Merit: 0
June 16, 2021, 11:20:27 PM
#34
True that unconfirmed transactions are highly risky in crypto trading. Recently I read an article about a dust attack through bitcoin funding. It’s actually a great post that helps to get an idea on how to avoid such unconfirmed transactions.
legendary
Activity: 2212
Merit: 7064
June 01, 2021, 06:48:36 AM
#33
Although you will save on disk space, you will not save bandwidth if you run a pruned node. They use the same bandwidth as a full node.
Most of the people I know in western countries already have unlimited bandwidth for downloading and uploading so I really don't think that should be a problem, except if you live in some restrictive region or country with bad internet connection.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
April 02, 2021, 04:47:41 PM
#32
How about if you run Pruned Bitcoin node?

They perform almost exactly like a full node, you don't need to have complete copy of the blockchain stored on your hard drive and I believe you can also verify Bitcoin transactions.
You are right, a pruned node can relay blocks and transactions to other nodes, In this regard, a prune node can also still verify blocks and transactions. It is just an exeption, but pruned node is not entirely different from full node, as it is the continuation of a full blockchain (which means prunned node begins from previous full blockchain, and continue as a prunned node) which makes it just act like a full node in blocks and transactions validation.

I agree.

As far as I know, a pruned node validate/verify all transactions since the genesis block, but they do not keep the records of the full blockchain like a full node.

Quote
The pruned nodes, they are a type of node which performs almost all the functions of a full node. In fact, your only exception is that the pruned nodes do not have a complete copy of the blockchain. That is, the pruned nodes only maintain a substantial part of the blockchain, using it to carry out their verification processes like any other full node.
https://academy.bit2me.com/en/what-is-a-pruned-node/

Although you will save on disk space, you will not save bandwidth if you run a pruned node. They use the same bandwidth as a full node.
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
April 02, 2021, 07:27:01 AM
#31
How about if you run Pruned Bitcoin node?

They perform almost exactly like a full node, you don't need to have complete copy of the blockchain stored on your hard drive and I believe you can also verify Bitcoin transactions.
You are right, a pruned node can relay blocks and transactions to other nodes, In this regard, a prune node can also still verify blocks and transactions. It is just an exeption, but pruned node is not entirely different from full node, as it is the continuation of a full blockchain (which means prunned node begins from previous full blockchain, and continue as a prunned node) which makes it just act like a full node in blocks and transactions validation.
legendary
Activity: 2212
Merit: 7064
April 02, 2021, 06:49:06 AM
#30
Yes, that is correct.

SPV nodes, which are the nodes which doesn't have the full blockchain, are described in the whitepaper

How about if you run Pruned Bitcoin node?

They perform almost exactly like a full node, you don't need to have complete copy of the blockchain stored on your hard drive and I believe you can also verify Bitcoin transactions.
legendary
Activity: 2268
Merit: 18748
April 01, 2021, 01:24:48 PM
#29
Does this process involves transactions with much coins.
The amount of bitcoin being sent in the transaction is more or less irrelevant to whether or not it can be replaced.

Does it mean once a transaction is made and it is been sent to a wrong address it can be cancelled and resent to the correct wallet.
If the transaction has been flagged as opted in to RBF, and has not yet received any confirmations, then yes, the transaction can be redirected to the correct wallet.

Because I have read in someother article that bitcoin sent to another address cannot be recovered or traced to the owner.
Even if a transaction has no confirmations but is not RBF enabled, then double spending those coins to a different address will be very difficulty. Once a transaction has one confirmation, the chances of reversing that transaction are essentially zero unless you operate a significant proportion of the network's hashing power.
sr. member
Activity: 966
Merit: 421
Bitcoindata.science
April 01, 2021, 01:11:53 PM
#28
I never knew transactions could be cancelled. Does this process involves transactions with much coins. Does it mean once a transaction is made and it is been sent to a wrong address it can be cancelled and resent to the correct wallet. Because I have read in someother article that bitcoin sent to another address cannot be recovered or traced to the owner. I need clearity
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
March 31, 2021, 02:54:13 PM
#27
SPV nodes, which are the nodes which doesn't have the full blockchain, are described in the whitepaper:
Pool mining nodes as I have explained earlier also do not have the full blockchain. Which means, it is also not a full node.

But I don't understand a little about the Cancel (double-spend) feature, will this feature return the bitcoin that we sent (unconfirmed) to the same address or to another address? Honestly, I haven't tried the Cancle (double-spend) feature so far. I need a little explanation on this. However, I do know that this feature can cancel the first transaction for a low fee.
In this case, like on electrum wallet, you can cancel the transaction if replace-by-fee is enabled, it is double spend because the original transaction which is unconfirmed will be diverted into another address entirely, the address will be the address on your wallet. But, I have heard cases that it is possible to also divert the unconfirmed transaction to another address on another wallet. This is why it is good to make sure bitcoin transaction is confirmed before accepting it as a valid transaction.
legendary
Activity: 2464
Merit: 2094
March 31, 2021, 11:55:38 AM
#26
So far, the RBF feature has been very helpful for bitcoin users and almost every transaction and I activate this feature to anticipate congestion. But I don't understand a little about the Cancel (double-spend) feature, will this feature return the bitcoin that we sent (unconfirmed) to the same address or to another address? Honestly, I haven't tried the Cancle (double-spend) feature so far. I need a little explanation on this. However, I do know that this feature can cancel the first transaction for a low fee.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
March 31, 2021, 09:44:16 AM
#25
CPFP might not work in every case though, even if you're receiving the change. If the minimum mempool fee is below the fee rates for that specific transaction, it'll be evicted from the mempool and thus making it an orphan transaction. It would probably not have very good propagation though in this case, the best course of action is to just resend the transaction and RBF won't be needed either. Two of the three options are not cancelling the transaction.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
March 31, 2021, 09:18:45 AM
#24
Well, nodes (full nodes) verify everything. Since the genesis block, they verify block information, headers, each block hash, each transaction and each UTXO and so on.
As you are referring to a full node, you are 100% correct. A full node verify all transactions and blocks.
But I don't think a node (I mean a non-full node) verify all transactions inside a block one by one. A non-full node relies on other full nodes instead of verifying all transactions one by one.

Am I right? Someone correct me if I'm wrong please.

Yes, that is correct.

SPV nodes, which are the nodes which doesn't have the full blockchain, are described in the whitepaper:

Quote
8. Simplified Payment Verification

It is possible to verify payments without running a full network node. A user only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in. He can't check the transaction for himself, but by linking it to a place in the chain, he can see that a network node has accepted it, and blocks added after it further confirm the network has accepted it.
https://bitcoin.org/bitcoin.pdf


It is important that full nodes verify all transactions since genesis block. So if a miner insert an invalid transaction all (full) nodes will instantly reject that block and the miner will waste all the processing power he spent.
legendary
Activity: 2380
Merit: 5213
March 31, 2021, 09:02:28 AM
#23
Well, nodes (full nodes) verify everything. Since the genesis block, they verify block information, headers, each block hash, each transaction and each UTXO and so on.
As you are referring to a full node, you are 100% correct. A full node verify all transactions and blocks.
But I don't think a node (I mean a non-full node) verify all transactions inside a block one by one. A non-full node relies on other full nodes instead of verifying all transactions one by one.

Am I right? Someone correct me if I'm wrong please.
hero member
Activity: 2268
Merit: 588
You own the pen
March 31, 2021, 08:22:30 AM
#22
Thanks for simplifying it for us I already know that canceling unconfirmed transactions is possible but I can't find any information on how it works. This is the most simple and yet easy-to-understand method I've come across. Especially when my transaction got stuck after I only pay a little number of transaction fees. This should be done to lessen the hassle of long confirmation some other people took some days to confirmed their transactions and with this method, they won't need to wait for that long anymore.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
March 31, 2021, 08:12:07 AM
#21
I think it should be like this: Transactions are not confirmed by nodes. They are confirmed by miners. Nodes only verify blocks and transactions.

Well, nodes (full nodes) verify everything. Since the genesis block, they verify block information, headers, each block hash, each transaction and each UTXO and so on.

There is no "only" here. That's my point. They verify everything, as they have a copy of everything that goes into the blockchain.

They cannot confirm transactions, because a transaction is only confirmed when a block is mined. Nodes do not mine blocks, but they verify/validate each one of the transactions that goes inside it and also the ones in the mempool.
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
March 31, 2021, 04:20:55 AM
#20
Any transaction can be included in a CPFP transaction. It is not like RBF where the transaction must be marked as opted-in before it being made. Any unconfirmed output can be included as an input in a new transaction with or without additional inputs and used to make a CPFP transaction. As you say, it might be that the person who made the first transaction cannot make a CPFP since all the outputs from the first transaction are to other people and there is no change output, but that does not mean the transaction itself does not support CPFP.
I get the point now, thanks. Although, there are some situations the sender can not be able to use CPFP due to not having change address in previous transaction, but this should not be considered that not all situation is a transaction not supporting CPFP because CPFP can still be used by the receiver so far he can spend unconfirmed transaction. You are absolutely correct.
legendary
Activity: 2268
Merit: 18748
March 31, 2021, 03:27:19 AM
#19
About child-pays-for -parent (CPFP), bitcoin users needs to really know the reason why a transaction can support CPFP, because not all transactions can support CPFP.
Any transaction can be included in a CPFP transaction. It is not like RBF where the transaction must be marked as opted-in before it being made. Any unconfirmed output can be included as an input in a new transaction with or without additional inputs and used to make a CPFP transaction. As you say, it might be that the person who made the first transaction cannot make a CPFP since all the outputs from the first transaction are to other people and there is no change output, but that does not mean the transaction itself does not support CPFP.

CPFP also doesn't fit in the topic of "cancelling" a transaction. Only RBF allows you to change the outputs of an unconfirmed transaction and reroute the coins back to yourself. CPFP only allows you to speed up an unconfirmed transaction.
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
March 31, 2021, 02:35:49 AM
#18
<...>
Transactions are not confirmed by nodes. They are confirmed by miners. Nodes only verify blocks.
I think it should be like this: Transactions are not confirmed by nodes. They are confirmed by miners. Nodes only verify blocks and transactions.



Full nodes does not necessarily need to have the whole four nodes (wallet, full blockchain, mining and routing), a full node can just have two of the nodes, but it will has the full blockchain as the other node. Even the node necessary for solo miners (just as an example) do not contain wallet node. I am not implying that you are not right, but just for clearer view about full node. So far nodes contain full blockchain, it is called full nodes, and used to verify blocks and trrasactions.
hero member
Activity: 1442
Merit: 775
March 30, 2021, 08:18:51 PM
#17
Nodes not only verify blocks, they also verify/validate transactions that go into the mempool and at every block.
Transactions are validated by all nodes. The network more decentralized than it looks like at first.
Antonopoulos describes more about bitcoin nodes in Chapter 8 of Mastering Bitcoin.

Miners can have their own full nodes or just SPV nodes/ lightweight nodes and they have to rely on the pools they are participate in to mine bitcoin for data of the full blockchain.

More information about RBF can be found on Bitcoin Core website
Electrum wallet has a document for Replace-by-Fee
My transaction has been unconfirmed for a long time. What can I do?

If you have made a transaction that is unconfirmed, you can:
  • Wait for a long time. Eventually, your transaction will either be confirmed or cancelled. This might take several days.
  • Increase the transaction fee. This is only possible for “replaceable” transactions. To create this type of transaction, you must have checked “Replaceable” on the send tab before sending the transaction. If you’re not seeing the “Replaceable” option on the send tab go to Tools menu > Preferences > Fees tab and set “Propose Replace-By-Fee” to “Always”. Transactions that are replaceable have the word “Replaceable” in the date column on the history tab. To increase the fee of a replaceable transaction right click on its entry on the history tab and choose “Increase Fee”. Set an appropriate fee and click on “OK”. A window will popup with the unsigned transaction. Click on “Sign” and then “Broadcast”.
  • Create a “Child Pays for Parent” transaction. A CPFP is a new transaction that pays a high fee in order to compensate for the small fee of its parent transaction. It can be done by the recipient of the funds, or by the sender, if the transaction has a change output. To create a CPFP transaction right click on the unconfirmed transaction on the history tab and choose “Child pays for parent”. Set an appropriate fee and click on “OK”. A window will popup with the unsigned transaction. Click on “Sign” and then “Broadcast”.
legendary
Activity: 2380
Merit: 5213
March 30, 2021, 07:19:58 PM
#16
I guess you are not getting something as well... he said that nodes do not verify transactions and only miners verify them. That's not correct. Then I explained that full node verify transactions, and they are not miners.
I didn't say nodes don't verify transactions. I said that nodes don't confirm transactions.
I didn't say only miners verify transactions. I said that only miners confirm transactions.

"Verify" is different from "confirm".
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
March 30, 2021, 07:06:09 PM
#15
Try to check this very well, you are getting something not right, that hosseinimr93 post that I quoted along is absolutely correct, because only full nodes validate blocks and transactions, but not all nodes are full nodes.

I guess you are not getting something as well... he said that nodes do not verify transactions and only miners verify them. That's not correct. Then I explained that full node verify transactions, and they are not miners. The discussion was about that, not about node x full node validation. Saying that a full node is not a node makes no sense to me...

But yes, not all nodes verify transactions, only full nodes do.

Transactions are not confirmed by nodes. They are confirmed by miners. Nodes only verify blocks.
sr. member
Activity: 2506
Merit: 368
March 30, 2021, 06:59:03 PM
#14
Good thread, OP very informative and I hope this will guide more newbies who are just starting to use new wallets such as electrum.
I've rarely use RBF before but when the market starting to get congested due to massive traders when Bitcoin hits a new ATH last month it took me long enough to wait for my transaction to get at least one confirmation from the miners. And also they can use mempool.space as a reference for what transaction they have to pay before sending.
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
March 30, 2021, 06:47:29 PM
#13
Nodes not only verify blocks, they also verify/validate transactions that go into the mempool and at every block.
Transactions are validated by all nodes. The network more decentralized than it looks like at first.
Not all nodes validate transactions.
Transactions are validated only by full nodes.


Well, and what is a full node?
A full node doesn't have to mine...
Not all full nodes have to mine, full nodes are nodes that have the full blockchain, example of such nodes are Bitcoin Core, full blockchain node and solo mining node, all has the full blockchain and they can validate blocks and transactions and relay it to other nodes for further verification. But still, only full nodes can validate transactions, and yet not all nodes are full nodes, which means not all nodes can validate transactions. Example of nodes that do not have the full blockchain (that are not full nodes) and can not validate blocks and transactions are lightweight wallet and mining nodes (not solo mining nodes) that relay block and transactions mined to full nodes.

Try to check this very well, you are getting something not right, that hosseinimr93 post that I quoted along is absolutely correct, because only full nodes validate blocks and transactions, but not all nodes are full nodes.
legendary
Activity: 3346
Merit: 3125
March 30, 2021, 05:59:25 PM
#12
But the problem about this comes when the transaction confirms really fast, is about luck but it happens sometimes. And once the transaction is confirmed there is no step back.
Fast transaction confirmation is not really about luck, but it depends on the feerate paid and also the state of the network when the transaction was broadcasted, in such situations where the transaction gets confirmed quickly, it's almost impossible to reverse. (If you're the recipient for larger transactions, it's better to wait for 3 or 6 confirmations).

You're right that a transaction cannot be canceled, but can only be replaced, however, in the context it is used, it essentially means the initial transaction would be overridden by one with a higher fee (if it's not confirmed yet)

i say it's about luck because sometimes we have 3 blocks in less than 5 minutes, and sometimes we have to wait like 40 minutes for a block. In theory, bitcoin have transactions every 10 minutes, but that's in theory, isn't a constant, and for me is about luck to see a new block.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
March 30, 2021, 05:52:55 PM
#11
Nodes not only verify blocks, they also verify/validate transactions that go into the mempool and at every block.
Transactions are validated by all nodes. The network more decentralized than it looks like at first.
Not all nodes validate transactions.
Transactions are validated only by full nodes.


Well, and what is a full node?
A full node doesn't have to mine.

Quote
A bitcoin wallet application that runs as a full-node client actually contains a copy of every unspent output from every transaction in the blockchain. This allows a wallet to construct transaction inputs as well as quickly verify incoming transactions as having correct inputs.


And what isn't a full node? A "lightweight" clients, such as basically any wallet (electrum for example)
Quote
However, because a full-node client takes up a lot of disk space, most user wallets run "lightweight" clients that track only the user’s own unspent outputs.


MOre here:
Quote
https://medium.com/avado-node/what-is-a-blockchain-node-334dc90a0ca0
Andreas Antonopoulos, a well-known Bitcoin evangelist, explains it even better and in more detail, than I could, so perhaps I’ll let him speak instead:
“A node is a computer that is participating in the global peer-to-peer Bitcoin network. They propagate transactions and blocks everywhere. Full nodes act independently as authoritative verifiers. Onion routing. Double-spending protection. Levels of isolation for untrustworthy nodes. Why would you run one? To be in control of your money — your keys, your money. You don’t trust anyone else to tell you what the truth is, you cross-check every claim yourself. Be part of the revolution in money. #RunYourOwnNode”
https://www.youtube.com/watch?v=fNk7nYxTOyQ

Mining is not even mentioned. Full nodes don't have to mine. They have a different role to play in the network: decentralization.
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
March 30, 2021, 05:41:26 PM
#10
Nodes not only verify blocks, they also verify/validate transactions that go into the mempool and at every block.
Transactions are validated by all nodes. The network more decentralized than it looks like at first.
Blocks are mined and transactions are confirmed by miners, miners are also the first to verify/validate transactions as miners run a full node. The block and transactions verified by a miner will be passed on to another full node which will also verify the block and transactions and pass it on to another full node and so on. Also, only nodes that has the full blockchain which are called full node are the ones that can continue to verify block mined and transactions confirmed by miners. Nodes that do not have the full blockchain can not verify transactions.

legendary
Activity: 2380
Merit: 5213
March 30, 2021, 05:18:02 PM
#9
Fast transaction confirmation is not really about luck,
It depends on luck as well.
Even if you pay a very high fee, you may have to wait hours for the next block to be found.

The next block may be found in a few seconds, or it may not be found even after an hour.


Nodes not only verify blocks, they also verify/validate transactions that go into the mempool and at every block.
Transactions are validated by all nodes. The network more decentralized than it looks like at first.
Not all nodes validate transactions.
Transactions are validated only by full nodes.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
March 30, 2021, 05:03:07 PM
#8
When you send Bitcoin from your wallet to some other address it needs some time for transaction confirmation by nodes in the blockchain,.........
Just a small correction:
Transactions are not confirmed by nodes. They are confirmed by miners. Nodes only verify blocks.

Nodes not only verify blocks, they also verify/validate transactions that go into the mempool and at every block.
Transactions are validated by all nodes. The network more decentralized than it looks like at first.

source: Mastering bitcoin

Quote
Transaction Outputs and Inputs (https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch06.asciidoc#transaction-outputs-and-inputs)

The fundamental building block of a bitcoin transaction is a transaction output. Transaction outputs are indivisible chunks of bitcoin currency, recorded on the blockchain, and recognized as valid by the entire network. Bitcoin full nodes track all available and spendable outputs, known as unspent transaction outputs, or UTXO. The collection of all UTXO is known as the UTXO set and currently numbers in the millions of UTXO.

...


It’s not just Alice’s wallet that needs to retrieve UTXO referenced in the inputs. Once this transaction is broadcast to the network, every validating node will also need to retrieve the UTXO referenced in the transaction inputs in order to validate the transaction.

legendary
Activity: 2114
Merit: 2248
Playgram - The Telegram Casino
March 30, 2021, 03:48:44 PM
#7
But the problem about this comes when the transaction confirms really fast, is about luck but it happens sometimes. And once the transaction is confirmed there is no step back.
Fast transaction confirmation is not really about luck, but it depends on the feerate paid and also the state of the network when the transaction was broadcasted, in such situations where the transaction gets confirmed quickly, it's almost impossible to reverse. (If you're the recipient for larger transactions, it's better to wait for 3 or 6 confirmations).

You're right that a transaction cannot be canceled, but can only be replaced, however, in the context it is used, it essentially means the initial transaction would be overridden by one with a higher fee (if it's not confirmed yet)
legendary
Activity: 3346
Merit: 3125
March 30, 2021, 03:42:05 PM
#6
Nice post, but i'm not sure that 'cancel' is the right word... With your method, you are replacing a transaction with a new one, and the old transaction will never confirm. But the problem about this comes when the transaction confirms really fast, is about luck but it happens sometimes. And once the transaction is confirmed there is no step back.

Some months ago I create a thread talking about how the RBF could be more effective than the transactions accelerator.
legendary
Activity: 2380
Merit: 5213
March 30, 2021, 02:27:49 PM
#5
When you send Bitcoin from your wallet to some other address it needs some time for transaction confirmation by nodes in the blockchain,.........
Just a small correction:
Transactions are not confirmed by nodes. They are confirmed by miners. Nodes only verify blocks.
legendary
Activity: 2212
Merit: 7064
March 30, 2021, 02:15:36 PM
#4
An unconfirmed transaction is basically a promise: it may be confirmed or not.

Most services are not accepting unconfirmed transactions if they have rbf flags, and regular users should always wait for minimum one confirmation before they engage in any exchange with sender.

I like using RBF option when I want to pay smallest possible fee and I am not in a hurry but I want to have the option to bump it up whenever I want.
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
March 30, 2021, 01:40:39 PM
#3
This is a nice article by the OP. If someone is having a stuck transaction, replace-by-fee can be used, which is even more advisable for not to spend more on fee, but like it is said above, people should make sure the replace-by-fee is 'ON' on the wallet used (, like electrum wallet) before making the transaction

About child-pays-for -parent (CPFP), bitcoin users needs to really know the reason why a transaction can support CPFP, because not all transactions can support CPFP.

For example, if address A send to address B, if there is no change address in the transaction, that means CPFP can not be used by wallet A that has the address A. But, the address that wallet A transfer bitcoin to and yet unconfirmed (address B), can be used. In this case, all wallet B needs is to generate another address from his wallet (wallet B), or maybe he wants to send bitcoin to another address entirely, he just only need to make use of coin control to make sure he spend the unconfirmed bitcoin, or included some certain amount of the unconfirmed bitcoin in his transaction, but he will need to almost pay as twice as normal fee that will cover fee for both child and parent transactions.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
March 30, 2021, 01:28:51 PM
#2
Nice post.

This is a nice representation of why it is risky to accept an unconfirmed transaction,  specially for high values.

An unconfirmed transaction is basically a promise: it may be confirmed or not.

If you are dealing with a scammer, he can just send you a transaction with a low fee and you pay him. After he receives what he wants, he can just use any of these methods to "revert" the transaction to an address he controls.
legendary
Activity: 2212
Merit: 7064
March 30, 2021, 01:12:44 PM
#1
When you send Bitcoin from your wallet to some other address it needs some time for transaction confirmation in the blockchain, and after confirmation it's impossible to cancel any transaction and they are irreversible.

It would be wise to double check and make sure you are sending correct amount of coins to the right address before clicking send button, and make sure you used correct fee for transaction.

If transaction is unconfirmed and you made some mistake or used lower fee than you may still be able to cancel your Bitcoin transaction.

How to cancel unconfirmed Bitcoin transaction?

There are few ways you can use to cancel and replace your transaction and for that purpose you should use wallets like Electrum and enable RBF option before sending your transaction.

Replace-By-Fee (RBF)

RBF means that you will pay higher fees to get transaction confirmed faster by replacing your transaction with new one.

Open your Electrum (or other wallet supporting RBF), go to Tools-Preferences-Transactions, make sure you enable and check option Use Replace-By-Fee, and now your transactions are flagged as replaceable until confirmed.

You will now be able to replace your original transaction with new one with higher transaction fee, if you right click on your unconfirmed transaction and click option Increase Fee





Double spend with higher fee

Double spending with higher fee works in similar way but you are sending transaction to yourself with a higher transaction fee.
In Electrum wallet you can go to your unconfirmed transaction and right click will give you option Cancel (double-spend)



Child Pays For Parent (CPFP)

This is mostly used by miners when receiver pays the higher fee by incentivizing miners and you can enable it in Electrum with right clicking on your unconfirmed transaction and click option Child Pays For Parent.





Wallets supporting RBF Replace-By-Fee:


More information about RBF can be found on Bitcoin Core website
Jump to: