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, daß 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, daß wir nicht nur Nutzer sein können, sondern aufgeklärte, kritische Nutzer sein müssen, die ein Auge auf der 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 (bzw, 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, daß 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 auf blockchain.info schauen können wir schnell sehen, daß 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. In anderen Altcoins ist sowas anscheinend schon mal passiert.

Sagen wir also, die drei genannten Mining Pools tun sich aus was für Gründen 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, daß ein Angreifer “seine” Blockchain durchbekommt.

Rplot04

In obigen Abbildungen ist diese 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 Hash-Rate von 26% auf Seiten des Angreifers).

Wir erkennen schnell, daß wenn die Hashrate des Angreifers größer oder gleich die des Gegners ist, die Wahrscheinlichkeit, Dinge zu ändern, gleich eins ist. Das bedeutet, daß 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, daß man mehr als fünfzig Prozent der Hashrate für die Attacke benötigt, kann man anhand der Formel von Nakamoto erkennen, daß 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 man ne Menge Mist bauen.

Möglichkeiten der 51%-Attacke

Was könnte nun so ein Angreifer tun?

  • Solange er die Kontrolle hat könnte er double-spent transactions durchführen. Genauer gesagt könnte er Transaktionen umkehren und woanderhin 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 Firmen 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, daß 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, daß 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, daß 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, daß seine Blockchain-Version sich immer durchsetzen würde, aber es bringt Zeit. Bitcoin wird es wahnsinnig teuer sein, die 51% der Hashrate aufrecht zu erhalten. Man kann also damit den Angreifer ausbluten.

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

Zusammenfassend läßt sich sagen, daß 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, daß 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