# 100% double spending attack probability

When we plot the attacker's computational power against the probability of double spending with a number of blocks equal to zero, we always get a chance of 100%.

This plot is based on the original white paper that models the probability of success as a Poisson distribution.

Is this correct?

Shouldn't the probability of success then be related to the computational power the attacker possesses?

• Can you point to the specific calculation in the paper which you are talking about? I suspect it's essentially the trivial fact that an attacker who's 0 blocks behind is already caught up. – Nate Eldredge Sep 28 '17 at 2:48
• @NateEldredge Yes, looking at the values: at q=0.1, z=0 P=1.0000000 and at q=0.3, z=0 P=1.0000000, it doesn't make sense to me that if there are zero blocks the attacker has 100% chance of winning the attack. Unless we assume that at zero blocks the transaction is incomplete/unconfirmed, we cannot say the probability of success is 100%. I even believe if the transaction is incomplete/unconfirmed, the probability of success is not 100%. – user1 Sep 28 '17 at 13:46
• Which line on which page? – Nate Eldredge Sep 28 '17 at 13:58
• These are the numerical results are on page 8. If you simulate the results yourself by modeling the probability of success as the Poisson distribution you'll get these values. – user1 Sep 28 '17 at 14:02

It is implicitly assumed that the attacker performs a Finney attack, and hence gets a block for free. If the merchant accepts a 0-conf tx, the attacker will proceed immediately to release a double-spending block he has already computed, and thus succeed.

In any case, Satoshi's analysis is approximate, see https://bitcoil.co.il/Doublespend.pdf for a more accurate one (which makes a similar assumption).

The probability of success is related to the computational hashing power of the attacker in comparison to the total hashing power of the network.

If the attacker has 10% of the total hashing power (imagine one of the bigger mining pools) then he has 10% chance of getting the next block. And 10% chance of getting the following one; and 10% of getting the one after that.

So the chance that attacker will get the next block is

``````BLOCK NUMBER      CHANCE
1                 .1
2                 .01
3                 .001
4                 .0001
5                 .00001
6                 .000001
``````

As you can see, after an hour the chance of an attacker maintaining the longest block is small (and extraordinarily expensive).

• I'm looking for an answer from the probability side. I mean if you try to model this with the Poisson distribution or negative binomial distribution you dont get 10% with 1 block and so on. – user1 Sep 27 '17 at 19:55
• This doesn't look correct to me. If I have 49.99999% of hashpower, it ought to be pretty much a coin flip for me to reverse a transaction 10 blocks back, not a 1 in 1000 chance. – Nick ODell Oct 27 '17 at 20:15
• My example was with 10% of the hashing power. If you have 50% of the hashing power you're correct it's pretty much a coin toss that you would have to win several times in a row. It would be you versus the rest the world. And, if you were identified as the founder of a 51% attack you would probably have to get a lot more than 2 or 3 blocks ahead before people gave up. You would be putting in an awful lot of money and effort reversing one transaction. And, you would break the trust in BTC. – Mayo Oct 31 '17 at 12:54