Pages:
Author

Topic: spend twice more Bitcoins while waiting the block to be verified? (Read 466 times)

legendary
Activity: 2268
Merit: 18711
So does that mean if I have to get my transaction quickly confirmed when paying for a service with Bitcoin, I have to increase the fee from low to high?
You have to set a fee which is appropriate for the current mempool conditions. If the mempool is empty, then a fee of 3 sats/byte might be a high fee and get you confirmed in the next block. If the mempool is full, then a fee of 10 sats/byte might be a low fee and have you waiting several hours.

The two sites I use to observe the current mempool are:
https://mempool.space/
https://jochen-hoenicke.de/queue/#1,8h

If you want the easy route, then just take the number from the top left of mempool.space which corresponds to low/medium/high and use that. If you want a more in depth but more accurate approach, then take a look at the mempool bands yourself and place your transaction exactly where you want it to be from the tip of the mempool. If you've already made a transaction and discovered the fee is too low, then your only real options are either RBF or CPFP as discussed above.
legendary
Activity: 2380
Merit: 5213
Apart from that, it seems to me that I rarely see them on the list of those who find the block (only twice in the last 4 hours), but in the end it's all a matter of luck - RBF and mempool are always the best choice for me.
That's exactly what expected.
According to the information shown on their website, their hash rate is around 22 EH/s which is around 8.5% of the total hash power.
With that hashrate share, it's expected that they mine 1 block in every 12 blocks on average.
legendary
Activity: 3234
Merit: 5637
Blackjack.fun-Free Raffle-Join&Win $50🎲
@Charles-Tim, via still works as far as I know, but if you don't know exactly how to make it work it becomes a real waste of time. Apart from that, it seems to me that I rarely see them on the list of those who find the block (only twice in the last 4 hours), but in the end it's all a matter of luck - RBF and mempool are always the best choice for me.
legendary
Activity: 1512
Merit: 4795
Leading Crypto Sports Betting & Casino Platform
If your transaction hasn't been flagged as RBF, it's very very unlikely that you can replace your transaction with a new one, even if you pay a very high fee.
You are right.

The best is for transaction to support replace-by-fee. That is just one of the reasons I like Electrum, unlike most other wallets that make bitcoin transaction as final and inability to pump the fee. There are some situations CPFP can still be used. But if the mempool is congested and the person do not want to use CPFP, but the transaction fee is above 10 sat/byte, ViaBTC free accelerator can still be used, although it may be disappointing if the mempool is so congested as many people would want to make use of the free accelerator at the time.
legendary
Activity: 3234
Merit: 5637
Blackjack.fun-Free Raffle-Join&Win $50🎲
So does that mean if I have to get my transaction quickly confirmed when paying for a service with Bitcoin, I have to increase the fee from low to high?

In addition to what @hosseinimr93 wrote, my advice is to learn to interpret mempool correctly so that you can make the right decision at any time. All those who make transactions actually compete with each other, especially those who want confirmation in the next block. I would recommend you to look at this site (mempoolspace) where you can always see current information, and it is quite easy to understand the most basic things you need to determine the most optimal fee.
legendary
Activity: 2380
Merit: 5213
So does that mean if I have to get my transaction quickly confirmed when paying for a service with Bitcoin, I have to increase the fee from low to high?
If your transaction has been flagged as RBF, you can increase the fee rate, so it's confirmed faster. The fee rate you should set for getting a fast confirmation depends on the network status.
If your transaction hasn't been flagged as RBF, it's very very unlikely that you can replace your transaction with a new one, even if you pay a very high fee.

Note that with increasing the fee, you actually make a new transaction with a different hash. So, if the service you are paying to hasn't been coded properly, you may have to contact them and tell them about increase in the fee.
hero member
Activity: 770
Merit: 538
Leading Crypto Sports Betting & Casino Platform
If the mempool is particularly congested and you have set a particularly low fee, then rarely your transaction might not confirm.

So does that mean if I have to get my transaction quickly confirmed when paying for a service with Bitcoin, I have to increase the fee from low to high?
legendary
Activity: 2716
Merit: 1225
Once a man, twice a child!
~snipped~
They will be back in your wallet and you can simply use them to make another transaction (with a higher fee this time).
I haven't experienced that returned unconfirmed transactions with Bitcoin but it was almost a regular for me with ETH those days because of its crazy and exorbitant fees. I would deliberately choose a low fee thinking it was the same way with Bitcoin transactions but it would return after some days, staring me in the face in the wallet.

BTW, congrats on hitting the 10,000 merit threshold like LoyceV. 👍. At least, he won't be lonely in that apartment any more.
legendary
Activity: 2268
Merit: 18711
However, I learnt something from that experience and I was given to understand that no matter how long it took; a transaction must definitely confirm.
If the mempool is particularly congested and you have set a particularly low fee, then rarely your transaction might not confirm. There are two scenarios this can happen; either your transaction has been unconfirmed for so long that nodes start dropping it from their mempool, or the mempool becomes so full with higher paying transactions that it hits its maximum size limit and your transaction is pushed out the bottom. The default value for these two settings are 336 hours (14 days) and 300 megabytes, respectively.

There is still no reason to panic in either scenario, though. The worst case scenario is that your unconfirmed transaction disappears from nodes' mempools, which means the coins you tried to send never moved. They will be back in your wallet and you can simply use them to make another transaction (with a higher fee this time).

legendary
Activity: 2716
Merit: 1225
Once a man, twice a child!
I bet the book OP read won't tell us what happens whenever the mempool is congested and how long we have to wait for transactions to confirm. I've had to wait for over 72 hours (three days) for a transaction I did to confirm. Literally, my spirit nearly left my body while waiting for it. It was a moment of anxiety for me as that was my first experience of a long wait. Usually, before that incident, the longest wait for me was a day. However, I learnt something from that experience and I was given to understand that no matter how long it took; a transaction must definitely confirm. Otherwise, the blockchain will experience a gap or something. I can't remember the right word used then by veterans here. After I came out of that, I deliberately set a much lower fees for a few transactions of mine from one of my wallets to another to watch what happened. It actually worked. Now, I don't bother whenever I make transactions by thinking they won't confirm because of low fees. It's just to give it some time. Don't panic.
legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!
Thanks for the explanations. Not that I want (or I can) to try double-spend, it is just how I learn this complex topic. By asking dumb questions sometimes and questioning myself first of all. Anyway thanks

No problem and sorry if I was a bit harsh, it did sound to me like you want to insist into wrong direction, especially after getting so many answers covering the topic.
At least I am kinda sure now that you've got the point.
member
Activity: 143
Merit: 36


In theory you can try that, although in reality your wallet won't allow it (eg. if you try from the same wallet). But, since the seller will wait until the transaction is confirmed, he's safe. After one of the transactions in confirmed, the other one(s), trying to spend coins you don't have, will not be confirmed and will also be discarded.

This! So it is the wallet that makes sure that I won't be able to spend more than I have. But, what if I develop my own wallet that will not check my balances and eventually allow me spend more than I have?

I've explained it all, you chose to understand what you want.
The wallet helps you not make mistakes. The blockchain ensures you're not play smartass.

Thanks for the explanations. Not that I want (or I can) to try double-spend, it is just how I learn this complex topic. By asking dumb questions sometimes and questioning myself first of all. Anyway thanks
legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!


In theory you can try that, although in reality your wallet won't allow it (eg. if you try from the same wallet). But, since the seller will wait until the transaction is confirmed, he's safe. After one of the transactions in confirmed, the other one(s), trying to spend coins you don't have, will not be confirmed and will also be discarded.

This! So it is the wallet that makes sure that I won't be able to spend more than I have. But, what if I develop my own wallet that will not check my balances and eventually allow me spend more than I have?

I've explained it all, you chose to understand what you want.
The wallet helps you not make mistakes. The blockchain ensures you're not play smartass.
legendary
Activity: 2450
Merit: 4415
🔐BitcoinMessage.Tools🔑
This! So it is the wallet that makes sure that I won't be able to spend more than I have. But, what if I develop my own wallet that will not check my balances and eventually allow me spend more than I have?
Of course, you can modify your existing bitcoin wallet (provided it is fully open source) or develop your own software that will do whatever you programmed it to do. You also may want to modify the software of your own full node to equip it to accept the transactions from your modified software wallet. You also may want to connect to only those full nodes that run the modified software developed by you to avoid being rejected by non-modified full nodes. Essentially, to make your modified software work, you need to create your own ecosystem of modified clients, full nodes, miners, exchanges, merchants, etc. Then and only then will it be possible to double spend your bitcoin, but, oh wait, I forgot to mention that the name of your coin also needs to be renamed to avoid confusion. So, you will be running your own version of bitcoin if you try to go against consensus rules, but it is unlikely to last for long because no economically rational players would support your network of constant double spends.
legendary
Activity: 2268
Merit: 18711
So it is the wallet that makes sure that I won't be able to spend more than I have.
No, it is the network. The vast majority of nodes are configured to reject any transaction which double spends an input which is used in a transaction already in their mempool, unless the original transaction is flagged as RBF enabled. And if you were successful in broadcasting two competing transactions, then only one of them will ever get confirmed.

But, what if I develop my own wallet that will not check my balances and eventually allow me spend more than I have?
It won't. You can broadcast competing transactions as much as you want, and you can easily set up a wallet to let you do this, but the network will reject them. Most wallets simply prevent users from doing this so as to avoid confusion and because there is no point in endlessly broadcasting invalid transactions.
legendary
Activity: 2380
Merit: 5213
But, what if I develop my own wallet that will not check my balances and eventually allow me spend more than I have?
Then your transaction will be rejected by the nodes and it won't have any chance to be included in a block.
Once you broadcast a transaction to the network, your node sends it to other nodes. The nodes that receive your transaction check validity of your transaction and they send your transaction to other nodes only if it's valid.
member
Activity: 143
Merit: 36


In theory you can try that, although in reality your wallet won't allow it (eg. if you try from the same wallet). But, since the seller will wait until the transaction is confirmed, he's safe. After one of the transactions in confirmed, the other one(s), trying to spend coins you don't have, will not be confirmed and will also be discarded.

This! So it is the wallet that makes sure that I won't be able to spend more than I have. But, what if I develop my own wallet that will not check my balances and eventually allow me spend more than I have?
legendary
Activity: 2702
Merit: 3045
Top Crypto Casino
No, you can't spend more than you have. You can create a new transaction which spends the same inputs while the first one is still unconfirmed (known as double spending/replace by fee). The first transaction will become invalid and nodes will drop it from their mempools.
The terms "double spend" and "replace by fee", while related, are not synonymous. In an attempted double spend, the first transaction will only be dropped if it is flagged as RBF enabled. Otherwise, double spend attempts will be ignored by the vast majority of nodes, even if it pays a higher fee than the transaction already in their mempools.
Thank you clarifying this o_e_l_e_o Smiley Actually, am well aware of the difference between double spendind and replace by fee. Maybe I had to clarify that this is just how Electrum name it, sorry if that sound confusing.
As the name suggests, a transaction flagged as rbf can be replace by a transaction consuming at least one of the same inputs and paying higher fees. If the transaction isn't flagged as rbf, any other transaction consuming any of its inputs will be considered invalid and will be rejected by any node that has the first transaction in its mempool.
legendary
Activity: 1708
Merit: 1280
Top Crypto Casino
When making a transaction we are paying for the fees and the miners will make the transactions faster it depends on how much you are willing to speed up the process. If you don't hurry up too much you can make a slow to the normal transaction or if you hurry up and make a speed up you need to use the fast transactions. Is this worth it depends on whether you are willing to wait or not The number of people making a transaction the more it gets congested.
legendary
Activity: 2268
Merit: 18711
That makes sense, not much to add there. A new block was added on top of the one where your transaction was mined, and that increases your confirmations by 1.
For some nodes. For the nodes which had to discard Block B to accept Blocks A and A+1, then the confirmations would increase by 2, as the transaction jumped from unconfirmed to 2 confirmations.

The same thing is true if there is a longer waiting period between blocks B and B+1 and not all unconfirmed transactions can fit in the next block.
Absolutely, but the longer the period between Blocks B and B+1, then the more chance that Block A+1 is found first and the split is resolved in favor of the alternate chain.

No, you can't spend more than you have. You can create a new transaction which spends the same inputs while the first one is still unconfirmed (known as double spending/replace by fee). The first transaction will become invalid and nodes will drop it from their mempools.
The terms "double spend" and "replace by fee", while related, are not synonymous. In an attempted double spend, the first transaction will only be dropped if it is flagged as RBF enabled. Otherwise, double spend attempts will be ignored by the vast majority of nodes, even if it pays a higher fee than the transaction already in their mempools.
Pages:
Jump to: