What can an attacker with 51% of hash power do?

Actually, it's very easy to do damage to the network once you have 51%; just build your own chain faster than the network, and broadcast it whenever you like. If you send some of your coins to a new address in your own chain, all the transactions issued in the live network by spending those same coins will be reversed at the moment the longer chain is broadcast.

Right from the bitcoin wiki (probably proof-read by many pairs of eyes) :

An attacker that controls more than 50% of the network's computing power can, for the time that he is in control, exclude and modify the ordering of transactions. This allows him to:
  • Reverse transactions that he sends while he's in control
  • Prevent some or all transactions from gaining any confirmations
  • Prevent some or all other generators from getting any generations
The attacker can't:
  • Reverse other people's transactions
  • Prevent transactions from being sent at all (they'll show as 0/unconfirmed)
  • Change the number of coins generated per block
  • Create coins out of thin air
  • Send coins that never belonged to him
It's much more difficult to change historical blocks, and it becomes exponentially more difficult the further back you go. As above, changing historical blocks only allows you to exclude and change the ordering of transactions. It's impossible to change blocks created before the last checkpoint.
Since this attack doesn't permit all that much power over the network, it is expected that no one will attempt it. A profit-seeking person will always gain more by just following the rules, and even someone trying to destroy the system will probably find other attacks more attractive. However, if this attack is successfully executed, it will be difficult or impossible to "untangle" the mess created — any changes the attacker makes might become permanent.

Subscribe to Farath Shba

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe