When I receive bitcoins I see a certain number of "confirmations" in the client. What do these mean? Why do most sites make me wait for 6 "confirmations" before a purchase will go through?
3 Answers
Bitcoin confirmations represent the number of blocks in the block chain that have been accepted by the network since the block that includes the transaction.
In simpler terms it represents the difficulty of a double spend attack. With zero confirmations no proof of work has been done, so you can't tell if anyone considers the transaction valid. Even with a single transaction it is possible for an attacker to pre compute a single block.
With zero or even one confirmation a double spend is very possible since the next block that is solved may confirm a different block instead of the one that has the transaction. That different block my show the coins being spent elsewhere. The odds that a double spend has occurred gets exponentially smaller with each confirmation.
An attacker must match the power of the entire bitcoin network to keep up with block creation so as time goes by it becomes increasingly difficult to forge a transaction.
It is generally accepted for most transactions that 6 confirmations represent enough security to assure the transition is valid.
-
3Probably you should differentiate between "a 50/50 chance that a double spend is possible" and "a 50/50 chance that a double spend occurred" since many people might take the former to mean the latter. Commented Sep 8, 2011 at 0:34
-
2This answer could be improved be indicating the chance of a double spend is not 50/50. It is based on the % of hashing power the attacker has (assuming it is less than 50%). Thus if the attacker has 10% of hashing power he has a 10% chance of reversing one block. Roughly a 0.1^2 = 1% chance of reversing two blocks, etc. If the attacker has an 51% of hashing power then this doesn't apply as it requires an infinite number of blocks to ensure the transaction can't be reversed and thus alternative means are necessary to protect the block chain. Commented Nov 23, 2011 at 16:35
-
Most of this post succinctly answers the main question, but the 50/50 section is downright false. It would be great if that could be improved.– Murch ♦Commented Oct 22, 2014 at 11:22
-
@Murch the 50/50 comment intentionally leaves out hashing rate because it is an unknown variable. You DO NOT KNOW the hashing rate a *possible* attacker *may* be employing when considering confirmations, but I agree that isn't clearly explained so I will clarify the answer. It is not "downright false", just unclear. Commented Oct 23, 2014 at 10:32
-
@JoshuaKolden Sorry, "downright false" was indeed the wrong way to put it. What I meant was: Maybe the expression "50/50" is used differently colloquially, but reading "about a 50/50 chance" would to me imply equal chances (50%/50% out of 100%) for each case. To somebody at the knowledge stage of asking "What is a confirmation?" it would sound as if double-spending is frequent, as well as much more likely to succeed than it is in reality, and that one should always wait for six confirmations to securely receive payments. The paragraphs implies more accuracy than the described scenario allows.– Murch ♦Commented Oct 23, 2014 at 11:54
If you don't grasp the basic concept, imagine for a second that a network outage split the bitcoin network in half. I could send one transaction giving 30 bitcoins to Abel to one half and one transaction giving those same 30 bitcoins to Fred to the other. Each half would accept that transaction and until the two halves reconnected, you wouldn't know which transaction would be honored tomorrow.
Confirmations are simply blocks that have been generated after the block that contains your transaction. Because there is no central authority that can be consulted to be sure a transaction will be committed, recipients use the number of confirmations as a way of protecting against double-spend attacks.
The network is always trying to extend the longest chain, and eventually, some chain will win. The deeper the transaction is in the chain, the higher the chance it will win because the network tries very hard not to duplicate efforts. (Because miners want their coinbase transactions to win, they all try very hard to extend the chain most likely to win, which makes sure it does in fact win.)
Effectively, the more confirmations, the higher the likelihood that a transaction will remain forever in the public hash chain rather than a conflicting transaction if there was one. At 6 confirmations, it is perhaps one in a billion that a transaction won't be permanent -- and that's if the sender is attempting a double spend attack.
-
so if it take about 10 minutes for a new block to be mined, then 6 confirmations mean 60 minutes Commented Feb 2, 2022 at 11:37
Confirmations are a measure of how many times a Bitcoin transaction has been verified by the network. When you receive Bitcoin, you will see a number of confirmations in your client. The more confirmations a transaction has, the more secure it is. Most sites make you wait for 6 confirmations before a purchase will go through. This is because it takes 6 confirmations for a transaction to be considered irreversible.