18

As a regular user of Bitcoin, I often send bitcoins to other, or receive BTC from others, sometimes this might be a trade or deposit. Some traders require at least 6 confirmation, some require at least 3.

I want to how many confirmation is enough to ensure the transaction is successful?

18

It depends on your risk model.

If you can trust the person paying you, you can accept payment on 0/unconfirmed if you want.

As a merchant or trader, you want to use the configuration that is more secure (no incoming connections permitted, explicity connect to well-connected nodes).

With zero confirmations you are vulnerable to the race attack and the Finney attack, as well as the 51% attack.

With one confirmation you are vulnerable to the 51% attack. There could also be a miner with a lot of hashing power who could get a couple blocks in a row, so three confirmations removes most of them.

With six confirmations it is essentially mathematically impossible for an attacker with less than 51% of all mining capacity to get six blocks in a row. and still surpass the longest block chain. With 51% or a lot more than 51% the attacker can get six confirmations by creating a parallel blockchain in which only transactions approved by the attacker get included in blocks.

A merchant like a retailer can likely accept even on 0/unconfirmed in most instances (e.g., purchases up to $100 worth). A merchant that ships e-commerce might hold off until the transaction has three confirmations.

A cash, face-to-face cash trade will probably be best if three confirmations for a large amount, maybe one confirmation for small amounts.

Any recommendation would need to come only after determining which risks are deemed acceptible.

  • >50% hashrate isn't required to double-spend 6 confirmations. 20% hashrate is enough to have 1% chance, 40% hashrate is enough to have 50% chance. – Meni Rosenfeld Mar 13 '13 at 13:30
  • I choose this as correct, but I found that there is already a question discussed this a lot. Please refer Why is 6 the number of confirms that is considered secure? . – HackFisher Mar 14 '13 at 8:34
  • @MeniRosenfeld can you provide some reference for these calculations? – Rupsingh Feb 19 '18 at 4:54
4

The lesson of the recent v0.7/v0.8 fork issue is that simply waiting for 6 or more confirmations is insufficient. You also need to satisfy yourself that there are no competing blockchain forks

e.g. this thread discusses a double spend proof-of-concept that was executed during the chain fork: https://bitcointalk.org/index.php?topic=152348.0

0

With 6 confirmations you are safe from double spends and the like.

For low-value transactions, 1 or 2 are likely enough.

Not the answer you're looking for? Browse other questions tagged or ask your own question.