14
$\begingroup$

In many sources, included Wikipedia, we read:

Any pool that achieves 51% hashing power can effectively overturn network transactions, resulting in double-spending.

My question is: Why do we talk about 51% attack?

If my understanding is correct, we could also say 50.1% attack or 50.01% attack.

More simply, wouldn't it be wiser to use "50% attack" idiom?

$\endgroup$
4
  • 2
    $\begingroup$ I've come across "51%" in other contexts, mostly for voting matters in organisations, where the number of voters is fairly small. But a quick web search gives more examples, especially in the realm of rules and regulations: eaa.org/eaa/aircraft-building/builderresources/getting-started/… ; texas.public.law/statutes/tex._gov't_code_section_411.204 ; ffcfc.com/SBA-504-Q-A-504-Loan-Occupancy-Requirements $\endgroup$
    – Jasmijn
    Dec 20, 2021 at 21:45
  • $\begingroup$ This is really just a matter of terminology, as has been mentioned already. There are many contexts in cryptography and distributed systems where you can prove that "everything will be secure/correct/good" as long as an attacker does not control a majority of the participants. In many cases this doesn't even need to be a strict majority! That is, if there are $n$ participants and $t$ of them collude together to break the given construction, it is typically the case that they succeed if $t\geq n/2$, that is, if there is a corrupt coalition of least 50% parties. $\endgroup$
    – Daniel
    Dec 20, 2021 at 23:28
  • 2
    $\begingroup$ It should be 50% + 1. $\endgroup$ Dec 22, 2021 at 10:47
  • $\begingroup$ @OlegV.Volkov Agreed. Personally, I think the question should have been asked on the English stack exchanges as a semantics question. $\endgroup$ Dec 22, 2021 at 15:51

1 Answer 1

26
$\begingroup$

From Bitcoin Wiki;

A majority attack (usually labeled 51% attack or >50% attack) is an attack on the network.

It is also called consensus attacks.

It is only to demonstrate that one needs the majority. The majority is simply $\geq n/2$ where there are $n$ participants. If we normalize it to 100 we can say $>50\%$

51% sounds better than 50.1% and is easy to hear.

  • Fifty-one percent, or
  • Fifty point one percent.

One might even ask why not 50.00000001%? Any value $> 50$ is correct. 51% easy to get the notion.

Actually, it is shown that one may need just over 30% (need a real ref than below)

This is from Antonopoulos's book; Mastering Bitcoin

Security research groups have used statistical modeling to claim that various types of consensus attacks are possible with as little as 30% of the hashing power

Unfortunately, there is no reference for this in the book. With a little search;

From cloudsecurityalliance

Name of weakness Description
Consensus 34% Attack 34% Attack against BFT network, a specific instance of Consensus Majority Attack
Consensus 51% Attack 51% Attack against DLT network, a specific instance of Consensus Majority Attack
  • BTF : Byzantine Fault Tolerant
  • DLT : Distributed Ledger Technology


A nice website from MIT's digital currency initiative: 51% attacks

And note that this attack can only be used for double-spending, private keys are safe!

$\endgroup$
9
  • 2
    $\begingroup$ The "20% attack" and presumably the "34% attack" are short-term attacks: that is, they create a double-spend that will persist for a few hours or days, but which will eventually be corrected. $\endgroup$
    – Mark
    Dec 20, 2021 at 22:38
  • 1
    $\begingroup$ @kelalaka If peering is sufficient, that won't happen. $\endgroup$
    – wizzwizz4
    Dec 21, 2021 at 12:12
  • 1
    $\begingroup$ What if we said "50%+1" attack? We really only need 1 more than half of all votes to be in favor of the attacker. $\endgroup$ Dec 21, 2021 at 20:45
  • 1
    $\begingroup$ @MontanaBurr If you have infinite patience, yes. However, the more over 50%, the easier the attack; it's not practical with 50.001%. $\endgroup$
    – wizzwizz4
    Dec 22, 2021 at 10:18
  • 1
    $\begingroup$ It is worth pointing out that several attacks do not require a strict majority, that is, even if an attacker controls exactly 50% of the parties, problems can appear. For instance, protocols (either from distributed systems, or secure multiparty computation) may only be able to proceed if certain strict majority agrees on something, which is not possible if the adversary is controlling exactly half of the parties. $\endgroup$
    – Daniel
    Dec 22, 2021 at 19:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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