15

From the Bitcoin paper:

p = probability an honest node finds the next block
q = probability the attacker finds the next block
qz = probability the attacker will ever catch up from z blocks behind

qz = 1 if p ≤ q

In other words, when an attacker controls 50% or more the success rate of a double-spend attack is 100%.

Why is it referred to as 51% attack, and not 50% as 50% is also enough?

Am I missing something here?

28

The distinction is of theoretical importance only. But if the attacker controls exactly 50%, then it's true that the attacker will eventually catch up, but he won't stay caught up: the honest population will eventually overtake his chain, and we'll be in an unstable situation where control of the "best" chain will bounce back and forth between them forever.

If the attacker wants to eventually catch up and stay caught up, he needs to have strictly greater than half of the mining power. In this case, they might bounce back and forth for a while, but eventually there will come a time when the attacker takes the lead and never again loses it. We say "51%" informally to summarize this, though of course 50.1% or 50.000001% would also be sufficient.

  • 1
    50.000001% would sufficient in the mathematical sense, but for practical purposes, it would take a rather long time. – Acccumulation Jun 21 '18 at 18:55
  • I’m glad I found this answer, was also curious. Seemed to me “50 + epsilon attack” would be a fitting title – Prince M Jun 27 '18 at 3:25
  • So the 51% is to demonstrate that a simple majority is necessary, also I believe most people will understand the implication of this number: it is more than any other or all other 'nodes' combined and because of this controls 100% of the network. – J. Roibal - BlockchainEng Jul 17 '18 at 9:10
6

This is to impart the need for a higher hash rate than the rest of the (honest) miners. Mining success is probabilistic, however, so this 50% or 51% is an indication of the expected behaviour given an infinite number of attempts.

Using the scenario where an attacker tries to build their own chain to eventually replace the original one:

If the attacker has 50% of the network hash rate, the expected result is that the two chains will grow at the same pace, and the attacker's chain will never outpace the honest chain.

If the attacker has slightly over 50% of the network hash rate, the attacker's chain will outpace the honest chain, at a rate commensurate with how much over 50% the attacker controls.

If the attacker has less, then the attack chain will be left in the dust.

This is why it's called a 51% attack. 50% is the limit, but is not enough in this probabilistic model. Given the number is an integer, the next step up is 51. Calling it a 50.1% attack would be as wrong, and there's no quantum in real numbers that'd allow a 50.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001% attack to be used as a canonical term (you'd them get people asking why not a 50.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001% attack). Turns out humans have better things to do.

Now, the above is based on a model of the expected results given an infinite number of attempts. In practice, we never reach infinity, and so an attacker with 49% of the network hash rate may well succeed in getting ahead of the honest chain enough to replace theirs. So 49% is technically enough to get a short enough chain up some of the time. For similar reasons (after all, 48.5% is also enough some of the time), this number is also ignored in favour of the 51% memorable number. Humans remember them easier.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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