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?

HackFisher
  • 351
  • 1
  • 4
  • 9
  • Please refer [Why is 6 the number of confirms that is considered secure?](http://bitcoin.stackexchange.com/q/1170/3176) . – HackFisher Mar 14 '13 at 08:35

3 Answers3

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.

Stephen Gornick
  • 26,990
  • 12
  • 67
  • 141
  • >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?](http://bitcoin.stackexchange.com/q/1170/3176) . – HackFisher Mar 14 '13 at 08:34
  • @MeniRosenfeld can you provide some reference for these calculations? – Rupsingh Feb 19 '18 at 04: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.

o0'.
  • 5,240
  • 6
  • 38
  • 66