Pages:
Author

Topic: why bitcoin transaction confirmation keep coming (Read 357 times)

legendary
Activity: 2268
Merit: 18748
so if I receive any BTC payment, after how many transactions I can say with confidence that its confirmed and cant be reversed.
The most common number you will see suggested is 6, which will take an hour on average since each block occurs 10 minutes after the last on average. Note that this can vary, as blocks don't occur exactly every 10 minutes, and at the extremes can vary from a few seconds to over an hour after the last block.

6 is an arbitrarily chosen number, though. If you want to be really secure you can wait for more, but realistically, you are safe with fewer than 6. Many exchanges wait for 6, but some will be happy with 3. You can play around with the numbers on this site: https://people.xiph.org/~greg/attack_success.html. If an attacker has 10% of the hashrate (proportion of 0.1), and you wait for 6 confirmations, then they only have a 0.02% chance of reversing a transaction.

Personally, it depends on the amount of bitcoin you are receiving. If I was sending or receiving a couple of bucks, I'd be happy after one or two confirmations, because if the transaction was reversed it's not a big deal. If, on the other hand, I was sending or receiving a few thousands dollars worth, then I'd be waiting for 6 confirmations. It's entirely dependent on what you think is acceptable risk.

jr. member
Activity: 41
Merit: 1
but I have seen that if you visit https://blockstream.info/ after few days, confirmation are still coming.
As long as miners are mining and bitcoin is still functioning, the number of confirmations on all transactions will increase forever.

Can someone why miners are confirming a transaction that is already verified by 5 miners. is it waster of resources and efforts?
They aren't, and it isn't wasting anything.

The process of mining a block requires certain pieces of information. One of those pieces of information comes from the previous block (technically speaking it is the hash of the previous block header) and if anything in the previous block was changed, so would that piece of information, rendering all blocks built upon it invalid. Therefore, when a block is mined, it also serves to verify the previous block (and, therefore, every block before it right back to the first block).

Lets say you make a transaction, and it gets mined and included in block 620,000. It now has one confirmation. The miner who mines the next block (620,001) doesn't include your transaction, doesn't care about your transaction, doesn't process it, might not even know it existed. All it cares about is this small piece of information from the last block. When block 620,001 is mined, it builds upon this piece of information which means that your transaction is now two blocks "deep". If somebody wanted to alter your transaction, they couldn't just alter the block it is in (620,000), because that would change the piece of information that block 620,001 is built on, rendering them both invalid, meaning an attacker would have to alter two blocks - hence two confirmations. Block 620,002 will build upon the information from block 620,001, which built upon the information from block 620,000. And so on. In this way, each block serves to "confirm" the blocks which came before, without wasting any resource or energy on the individual transactions.


extremely hand info. so if I receive any BTC payment, after how many transactions I can say with confidence that its confirmed and cant be reversed.
legendary
Activity: 2268
Merit: 18748
i sent a transaction  yesterday and it has about 100 confirmations. Sent from my wallet to an account of at a market, but still isn't showing up in my balance
If it has 100 confirmations then the bitcoin has been sent and received. Double check that you have sent it to the correct address. If the address is correct, then either there is a problem with the user interface or database of the marketplace, in which case you will need to contact their support, or you have been the victim of a scammer or fake website.
newbie
Activity: 1
Merit: 0
i sent a transaction  yesterday and it has about 100 confirmations. Sent from my wallet to an account of at a market, but still isn't showing up in my balance
legendary
Activity: 2268
Merit: 18748
that block only has information about the current transactions on it, and not about the past blocks.
That's not completely accurate though. You can see my post above for a simple explanation.

More technically, each block contains a number of pieces of information. Information regarding the current transactions makes up the vast bulk of the block, but there is additional information stored in the block header, such as the version, the time, the target, the nonce, the Merkle root, and a hash of the previous block header.

To create the Merkle root, the miner hashes together pairs of transactions, and then hashes together the results in pairs, and then hashes together those results in pairs, and so on, creating what is known as a Merkle tree. Once they reach a single final value, that is known as the Merkle root, and it is inserted in the block header. Changing any transaction in the block will change its hash, which will change the resulting Merkle root.

When a miner comes to mine the next block, they include a hash of the previous block's header. As we've just said, if any of the transaction from the previous block were changed, their hashes would change, and so would the Merkle root, and so too, then, would the hash of the block header which is included in the next block (which would change the hash of its header which is to be included in the block after that, and so on).

By this process, each block contains information about previous blocks, and each block confirms that previous transactions haven't changed in any way due to including the hash of the previous block header.


legendary
Activity: 3346
Merit: 3125
normally when we send funds through bitcoin it requires 4 to 5 confirmation to get in done.
but I have seen that if you visit https://blockstream.info/ after few days, confirmation are still coming.
Can someone why miners are confirming a transaction that is already verified by 5 miners. is it waster of resources and efforts?
Let me know if my logic is correct or wrong.

Let me introduce to you the Blockchain, the name was supposed to describe itself but we can explain it for you. Bitcoin transactions are confirmed when the block gets confirmed, but that block gets inside the Chain, and as a chain who is growing all is now in the line. All the confirmed transactions get a new confirmation each time a new block gets confirmed, but isn't a waste of resources because that block only has information about the current transactions on it, and not about the past blocks.
legendary
Activity: 2268
Merit: 18748
Even if the transaction has just one confirmation it can still be spent
You can actually spend coins before they have any confirmations at all. If your secondary transaction is to be included in a block, then the primary transaction will automatically be included by the miner in question and they will both then confirm at the same time. This is utilized in what is known as "Child pays for parent" (CPFP) transactions. These can be used if a transaction has too low a fee and is taking a long time to confirm. Making a second transaction using one of the outputs of the first transaction, but with a higher fee, incentivizes miners to mine your second transaction, and they will then automatically mine your first (lower fee) transaction in the process.

Web wallets won't let you do this, and won't show your balance until after 3/5/6/whatever transactions, because when you are using a web wallet you don't own any bitcoin. The company who controls the web wallet owns all the bitcoin, and it simply showing you a balance.
sr. member
Activity: 2030
Merit: 323
Even if the transaction has just one confirmation it can still be spent, there are wallets that attempts to spend a money that has not even be confirmed yet. You will only have conditions when you’re making use of exchanges or platforms like Xapo, Coinbase, and other sites that offer some services that has to do with Bitcoin. If you’re making use of Xapo wallet you will notice that any money that’s sent to your wallet does not reflect and can’t be used until it has up to 5 to 6 confirmations.

But, if you’re making use of the Blockchain wallet there are no conditions as such, you can easily spend the money immediately it arrives your wallet. But those confirmation are needed to avoid double spending as others have said, it authenticates the transaction.
legendary
Activity: 2268
Merit: 18748
Transactions are very fast, and propagate around the network in a few seconds. What is slower is confirmations, but I reject the notion that transactions are too slow.

If we compare to a credit card payment with fiat, for example, the transaction is also broadcast within a few seconds, but it will take several days for the money to actually reach the recipient's account, and the transaction can still be reversed for many months after it has been made. Bitcoin achieves transaction finality in under an hour. If that still isn't enough for you, then you can use Lightning for instant confirmation.

As buwaytress has said, some altcoins have faster confirmations, but one altcoin confirmation is far less secure than one bitcoin confirmation. Even Ethereum takes several hours to reach the same level of security as bitcoin does in 6 confirmations, with other altcoins taking several days. See here for more info: https://howmanyconfs.com/
legendary
Activity: 2968
Merit: 3684
Join the world-leading crypto sportsbook NOW!
I am more interested in the question why has no one yet come up with a way to increase the speed of transactions?

Plenty of projects have. But the speed of transactions relies on a number of factors -- and as you will understand later, has little bearing on what the network will feel is adequate for it to be secure.

For Bitcoin, block time is fixed at an average of once every 10 minutes. But because the amount of computing power securing the network, along with the diversity of nodes, is so great, that most people will accept 1 confirmation as secure enough (in fact, I myself accept 0 confirmations even, as long as I feel there is little to risk in terms of double spend and I trust the person enough).

But with faster blockchains, the risk of double spending also increases, and many other risks... so you'll end up with faster confirmation times, but more confirmations required, as in the case of LTC or even ETH. End game? You end up waiting the same time for confirmations.
jr. member
Activity: 82
Merit: 1
I am more interested in the question why has no one yet come up with a way to increase the speed of transactions?
legendary
Activity: 2268
Merit: 18748
So, when a chain split is detected, nodes "disassemble" the blocks and put the transactions back in their mempool, right?
Essentially yes, the stale block's transactions are returned to the individual node's mempool. There's a good explanation from Pieter Wuille about this here: https://bitcoin.stackexchange.com/a/50071

Also, is this limited up to certain block depth or is there no such limit?
There is theoretically no limit. The longest chain reorganization that I am aware of is 53 blocks in August 2010 caused by the value overflow bug, but chain reorganizations which occur organically without an attack or a bug are very rarely more than a single block.
legendary
Activity: 3024
Merit: 2148
That's not quite accurate. If blocks are orphaned*, the transactions contained within them simply return to the mempool and are ready to be included in subsequent blocks. They aren't erased.

So, when a chain split is detected, nodes "disassemble" the blocks and put the transactions back in their mempool, right? Or do they just keep included transactions in mempool for some time after they were included in a block? Also, is this limited up to certain block depth or is there no such limit?
legendary
Activity: 2268
Merit: 18748
but transactions can be erased as if they never existed if a fork occurs
That's not quite accurate. If blocks are orphaned*, the transactions contained within them simply return to the mempool and are ready to be included in subsequent blocks. They aren't erased.

On practice it's (almost?) never happens
It actually happens not infrequently to a single block. The most recent example I am aware was at height 619,970, which was only a few days ago on March 3rd. Here is the accepted block at height 619,970, and here is the stale block at the same height. The stale block was mined 4 seconds after the accepted block. There were 10 transactions in the stale block which weren't include in the accepted block, so these transactions could potentially have shown up as going from 1 confirmation back to zero confirmations, depending on which node or block explorer was being used to view them. All 10 of these were included in block 619,971, however.



*The term orphan is a misnomer, and these should really be called stale blocks. Orphan implies blocks which have no known parent, when in actual fact, these blocks have a known parent, but have been rejected in favor of a longer chain with more proof of work.
legendary
Activity: 3024
Merit: 2148
So basically if we have 6 confirmations then it becomes impossible to forge (I think thats most suited as per my little knowledge) the transactions.

You can't forge Bitcoin transactions, because they are built on strong cryptography, but transactions can be erased as if they never existed if a fork occurs - this means a transactions was included in a block, but then a different chain was mined on top of some earlier block, and that chain got more proof-of-work then the current chain, so it overtook it. On practice it's (almost?) never happens, but still the risk is there, and the more confirmations you have, the more costly it would be to erase that transaction.
jr. member
Activity: 41
Merit: 1
but I have seen that if you visit https://blockstream.info/ after few days, confirmation are still coming.
As long as miners are mining and bitcoin is still functioning, the number of confirmations on all transactions will increase forever.

Can someone why miners are confirming a transaction that is already verified by 5 miners. is it waster of resources and efforts?
They aren't, and it isn't wasting anything.

The process of mining a block requires certain pieces of information. One of those pieces of information comes from the previous block (technically speaking it is the hash of the previous block header) and if anything in the previous block was changed, so would that piece of information, rendering all blocks built upon it invalid. Therefore, when a block is mined, it also serves to verify the previous block (and, therefore, every block before it right back to the first block).

Lets say you make a transaction, and it gets mined and included in block 620,000. It now has one confirmation. The miner who mines the next block (620,001) doesn't include your transaction, doesn't care about your transaction, doesn't process it, might not even know it existed. All it cares about is this small piece of information from the last block. When block 620,001 is mined, it builds upon this piece of information which means that your transaction is now two blocks "deep". If somebody wanted to alter your transaction, they couldn't just alter the block it is in (620,000), because that would change the piece of information that block 620,001 is built on, rendering them both invalid, meaning an attacker would have to alter two blocks - hence two confirmations. Block 620,002 will build upon the information from block 620,001, which built upon the information from block 620,000. And so on. In this way, each block serves to "confirm" the blocks which came before, without wasting any resource or energy on the individual transactions.

that clarifies the whole problem.
confirmation that are coming are not for current transactions but for next transaction.
thanks.
legendary
Activity: 2268
Merit: 18748
but I have seen that if you visit https://blockstream.info/ after few days, confirmation are still coming.
As long as miners are mining and bitcoin is still functioning, the number of confirmations on all transactions will increase forever.

Can someone why miners are confirming a transaction that is already verified by 5 miners. is it waster of resources and efforts?
They aren't, and it isn't wasting anything.

The process of mining a block requires certain pieces of information. One of those pieces of information comes from the previous block (technically speaking it is the hash of the previous block header) and if anything in the previous block was changed, so would that piece of information, rendering all blocks built upon it invalid. Therefore, when a block is mined, it also serves to verify the previous block (and, therefore, every block before it right back to the first block).

Lets say you make a transaction, and it gets mined and included in block 620,000. It now has one confirmation. The miner who mines the next block (620,001) doesn't include your transaction, doesn't care about your transaction, doesn't process it, might not even know it existed. All it cares about is this small piece of information from the last block. When block 620,001 is mined, it builds upon this piece of information which means that your transaction is now two blocks "deep". If somebody wanted to alter your transaction, they couldn't just alter the block it is in (620,000), because that would change the piece of information that block 620,001 is built on, rendering them both invalid, meaning an attacker would have to alter two blocks - hence two confirmations. Block 620,002 will build upon the information from block 620,001, which built upon the information from block 620,000. And so on. In this way, each block serves to "confirm" the blocks which came before, without wasting any resource or energy on the individual transactions.
legendary
Activity: 2170
Merit: 1789
Can someone why miners are confirming a transaction that is already verified by 5 miners. is it waster of resources and efforts?

They're not 'reconfirming' it. Confirmation does not indicate how many miners verify that block afaik. It indicates how 'deep' your tx is on the whole blockchain. Check https://en.bitcoin.it/wiki/Confirmation again, it's explained there.
full member
Activity: 756
Merit: 231

<~~~>

So basically if we have 6 confirmations then it becomes impossible to forge (I think thats most suited as per my little knowledge) the transactions.

Yes, with 6 confirmation the transaction has been recorded on the Blockchain. In simple terms, with 6 confirmation there's a clearance already.

Quote
Lets make it 20, why doing confirmations for days. I received a payment and its confirmation is still coming 144 so far.

Believe me, that transaction has been confirmed and ready to be spend.

Quote
If we restrict confirmation to some limited figures we can sort out the scalability issue.

Practically I see no reason to that because, at 6 confirmation we're ready to spend the recharge.

Take a look at this but has been spent


out of darkness movie summary
sr. member
Activity: 1372
Merit: 322
So basically if we have 6 confirmations then it becomes impossible to forge (I think thats most suited as per my little knowledge) the transactions. Lets make it 20, why doing confirmations for days. I received a payment and its confirmation is still coming 144 so far.
If we restrict confirmation to some limited figures we can sort out the scalability issue.
I think you are looking for this- https://bitcoin.stackexchange.com/questions/37582/why-are-there-so-many-confirmations
Quote
The number of confirmations indicates under how many blocks your transaction is buried. The more the confirmations, the more your transaction is secure from double-spending attacks. So the confirmations will continue growing forever - this is normal behavior.
Although it's impossible to reverse a transaction, the confirmations are securing your transactions more so that no one can reverse it. The more blocks are generated, the more confirmation each and every previous transaction get.
Pages:
Jump to: