Was ist eine 51%-Attacke?

Heart beats cardiogram on the monitor.

Bitcoin ist, wie jedes System, nicht perfekt. In diesem Beitrag geht es um die 51%-Attacke: was ist sie, was kann sie und wie kann man sie verhindern.

Be your own bank!” – einer der bekanntesten Slogans der Bitcoin-Community. Als Freund dezentraler Organisation, der irgendwo zwischen Belloc und Hughes pendelt, hat mich der Slogan immer angesprochen. Zu oft hat man jedoch den Eindruck, dass man aus solchen Slogans gerne Floskeln Marke “Alles für alle und das umsonst” macht. Wenn wir wirklich das Bankensystem dezentralisieren wollen, müssen wir auch die Verantwortung, die in ihren Händen liegt, dezentralisieren. Und das bedeutet, dass wir nicht nur Nutzer sein können, sondern auch aufgeklärte, kritische Anwender sein müssen, die ein Auge auf die Blockchain haben. Wir müssen die Gefahren kennen, und wissen, was Signale für einen Angriff auf die Blockchain sind. Betrachten wir deshalb die 51%-Attacke.

Wie funktioniert eine 51%-Attacke ?

Die Bitcoin-Infrastruktur besteht, grob gesagt, aus den Nutzern (genauer gesagt ihren Wallets), unterschiedlichen User Interfaces, den Minern und den Nodes. Die Nodes sind dabei dafür verantwortlich, das Bitcoin-Netzwerk aufrecht zu erhalten und verwalten den Transaktionsverkehr. Nodes garantieren, dass alle Transaktionen den Regeln entsprechen. Die Aufgabe der Miner ist schließlich, Transaktionen zu Blöcken zusammen zu fassen und diese an die Blockchain anzuhängen.

Die berüchtigte 51%-Attacke ist nun folgendes Szenario: sagen wir mal, ein Angreifer würde es schaffen, über 50% der Miner zu stellen. Wenn wir einen Blick auf blockchain.info werfen, dann können wir schnell sehen, dass drei der großen Mining-Pools (Antpool, F2Pool und Btcc Pool) mehr als 50% der Hashrate aufbringen. Die Sorge ist also nicht nur rein hypothetisch, sondern durchaus real. Bei anderen Altcoins ist so etwas anscheinend schon mal passiert.

Sagen wir also, die drei genannten Mining-Pools tun sich, aus was für Gründen auch immer, zusammen. Was könnten sie dann tun?

Um das zu klären gehen wir mal zu den Roots, sprich zu Satoshi Nakamotos Paper zurück. Im Abschnitt 11 betrachtet er das Problem, wenn ein Angreifer falsche Blöcke in das System speisen will. Letztlich kann man errechnen, wie wahrscheinlich es ist, dass ein Angreifer “seine” Blockchain durchbekommt.

Rplot04

In obigen Abbildungen ist die Erfolgswahrscheinlichkeit dargestellt, links in Abhängigkeit der relativen Hash-Rate des Angreifers (bei einer Annahme von 6 Bestätigungen einer Transaktion) und rechts in Abhängigkeit der Anzahl an Transaktionen (bei Annahme einer relativen Hashrate von 26% auf Seiten des Angreifers).

Wir erkennen schnell, dass wenn die Hashrate des Angreifers größer oder gleich die des Gegners ist, die Wahrscheinlichkeit, Dinge zu ändern, gleich eins ist. Das bedeutet, dass jemand mit mehr als 50% der Hashrate auf seiner Seite unglaublich viel Macht hätte; obige Formel würde immer zu seinen Gunsten entschieden. Man sollte außerdem im Hinterkopf haben: Auch wenn die Attacke 51%-Attacke heißt und suggeriert, dass man mehr als fünfzig Prozent der Hashrate für die Attacke benötigt, kann man anhand der Formel von Nakamoto erkennen, dass bei einer geringeren Kontrolle die Wahrscheinlichkeit für den Erfolg eines Angriffes einfach kleiner ist. Sprich: man sollte sich nicht einfach an den 51% hochziehen, schon mit deutlich weniger kann ein Angriff erfolgreich umgesetzt werden.

Möglichkeiten der 51%-Attacke

Was könnte nun so ein Angreifer tun?

  • Solange er die Kontrolle hat, könnte er Double-Spending-Transactions durchführen. Genauer gesagt, könnte er Transaktionen umkehren und woanders hin transferieren. Das würde natürlich das Bitcoin-Ökosystem vollkommen durcheinander werfen.
  • Er könnte beliebig viele Transaktionen verhindern oder genauer gesagt, ihnen keine Bestätigungen zusichern. Der Angreifer könnte bspw. gezielt bestimmte Zahlungen sperren und damit einzelne Teilnehmer ausschalten.
  • Er könnte beliebig viele Miner davon abhalten, irgendwelche gültigen Blocks zu minen und die Rewards dafür selbst einheimsen.
    Das ist eine Menge! Dementsprechend sollte man die Gefahr durchaus ernst nehmen.

Was kann man dagegen tun?

Das schöne an der Blockchain ist, dass alles transparent ist. Wir können die Blockchain beobachten. Direkt auf Blockchain.info kann man erkennen, welche Mining-Pools welche Blocks gefunden haben. Das ist natürlich kein “Gegenmittel”, kann jedoch helfen zu erkennen, ob es Mining-Pools gibt, die signifikant häufig einen Block der Blockchain beisteuern.

Leider ist es ansonsten im Fall von Bitcoin schwer, als Einzelner was dagegen zu tun. Man kann nicht einfach dafür sorgen, dass die “guten” Miner insgesamt mehr Hashing-Power bekommen. Es wurde ansonsten vorgeschlagen, feindliche Miner durch gezielte DDoS-Attacken lahmzulegen, was aber auch nicht trivial ist.

Eine Sache jedoch, die auch ein Otto-Normal-Verbraucher in solch einem Krisenfall tun kann, ist, dass er die der Bestätigungen einer Transaktionszahl zur Abwehr von doppelten Transaktionen erhöht. Sollte ein Angreifer wirklich 50% oder mehr der Hashrate innehaben würde das nichts daran ändern, dass seine Blockchain-Version sich immer durchsetzen würde, aber es bringt Zeit. Bei Bitcoin wird es wahnsinnig teuer sein, die 51% der Hashrate aufrecht zu erhalten.

Schließlich kann man beruhigend hinnehmen, dass Gavin Andersen zwar das klassische Bonmot “That would be bad” hinsichtlich einer 51%-Attacke brachte, aber auch sagte, dass es recht einfach wäre, von einem Developer-Standpunkt her, sich dagegen zu verteidigen. Eine Idee wäre, dass der Angreifer letztlich nicht nur eine Menge an Hashrate, sondern auch eine Menge an Bitcoins aus der Zeit vor dem Angriff haben müsste (siehe hier). Insgesamt würde man dadurch nicht nur die 51%-Attacke ziemlich teuer machen, sondern auch dafür sorgen, dass der Angreifer schnell ausblutet.

Zusammenfassend lässt sich sagen, dass eine 51%-Attacke auf Bitcoin eine ernste Sache ist, die jedoch detektiert werden kann und wo wir Nutzer zumindest handeln können. Wichtig ist, wie schon in der Einleitung angesprochen, dass wir Bitcoin-Nutzer den Slogen “Be your own bank” ernst nehmen und das Netzwerk im Auge behalten.

BTC-ECHO

Bildquellen

  • Heart beats cardiogram on the monitor.: © portokalis - Fotolia.com