Pages:
Author

Topic: How to cancel Bitcoin transaction? - page 2. (Read 603 times)

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: 3130
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: 2254
Merit: 2406
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: 3130
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
Pages:
Jump to: