18

This question already has an answer here:

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?

marked as duplicate by Stephen Gornick, Nick ODell, o0'., cdecker, BinaryMage Apr 5 '13 at 10:57

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

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.