Transaction confirmation is needed to prevent double-spending of the same money. One of the main advantages of bitcoin is that it avoids the problem of double-spending, i.e. the risk that a digital currency token may be copied and spent more than once. In spite of having no central authority to verify that its tokens are not being duplicated, bitcoin successfully avoids double-spending through a system of decentralized transaction confirmation, based on the consensus of its users.
How it works
A transaction is a transfer of value between Bitcoin wallets that gets included in the block chain. Bitcoin transactions are not immediate. When a user wishes to send bitcoins, information is broadcast from her wallet to the (users in the) network, who verify that she has enough coins, and that they have never been spent before. Once validated, miners will include this transaction – along with others – in a new block in the blockchain. This is called a transaction confirmation. The transaction is now said to be “0/unconfirmed”
Each time a new block is added to the chain (every ten minutes), the transaction is said to be confirmed again. As a consensus, many users wait for a transaction to be confirmed six times (after roughly sixty minutes) before accepting it as payment, to avoid double-spending. Users will usually show a transaction as “n/unconfirmed” until it is six blocks deep.
Number of confirmations
The deeper a transaction is buried, the harder it will be to manipulate. Although 0/unconfirmed transactions could be reversed via Finney attack, race attack, or 51% attack, small amounts of money will not be worth the trouble. Larger sums are worth protecting under more confirmations. The number six is just an arbitrary limit, beyond which the feasibility of an attacker being able to amass more than 10% of the network’s hashrate for purposes of a transaction falsification becomes negligible (a risk lower than 0.1%).
Although six confirmations is the consensus, merchants and exchanges that accept bitcoin as payment for their products and services should set their own standard of confirmations they require before accepting payment.
Freshly-minted bitcoins can only be used after 100 confirmations, to prevent coins from orphan blocks being spent. Older bitcoin client will not use newly-earned coins until they have 120 confirmations.