Beschäftigt man sich näher mit der Funktionsweise und dem Nutzen von Kryptowährungen, im Speziellen dem Bitcoin, so trifft man zwangsläufig früher oder später auf den Begriff des “Byzantinischen Generalsproblems”. Was jedoch der Bitcoin mit Generälen aus dem alten Byzanz zu tun hat, wie das Problem der Generäle aussieht und warum Bitcoin (und einige andere Blockchains) dieses löst, möchte ich im Folgenden etwas genauer erläutern.
Das Problem
Das Problem der byzantinischen Generäle beruht natürlich nicht auf einer wahren Begebenheit, sondern ist viel mehr ein Gedankenexperiment, welches von Mathematikern und Informatikern dazu verwendet wird, den darunterliegenden Sachverhalt zu verdeutlichen.
Die Ausgangssituation des Problems besteht darin, dass eine Gruppe von byzantinischen Generälen plant von mehreren Seiten einen Angriff auf eine Stadt durchzuführen, welche von den Generälen und ihren Truppen umzingelt ist.
Die Generäle müssen jedoch irgendwie sicherstellen, dass all ihre Truppen gleichzeitig angreifen, da sonst der Plan fehlschlagen würde und die Stadt nicht erobert werden kann. Da es im alten Byzanz jedoch weder Email, SMS oder Instant Messaging Services gab, muss die Kommunikation der Generäle untereinander über berittene Boten stattfinden. Leider gibt es möglicherweise Verräter unter den Generälen, weshalb sichergestellt werden muss, dass diese Verräter den Plan nicht durchkreuzen können, zum Beispiel dadurch, dass sie den Boten Falschmeldungen mitteilen und sich in Wirklichkeit zurückziehen, anstatt anzugreifen. Vom Problem selbst gibt es verschiedene Varianten, etwa ob angegriffen wird oder nicht, zu welchem Zeitpunkt angegriffen wird und wie viele Generäle insgesamt beteiligt und wie viele davon bösartig sind. Das byzantinische General-Problem handelt also, grob gesagt, von Vertrauen und Konsensbildung.
Exkurs:Für 2 Generäle beziehungsweise mehr als 1/3 bösartiger Generäle gibt es mathematisch gesehen (noch) keine Lösung für das Problem.
Was hat der Bitcoin damit zu tun?
Das Problem der Generäle lässt sich auch auf die Probleme übertragen, die digitales Geld mit sich bringt, beziehungsweise bringen würde, wenn es keine zentrale Kontrollpartei gäbe. Wie kann man sicher sein, dass ein Teilnehmer in einem (Geld-)Netzwerk nicht mehr Geld versendet, als er tatsächlich besitzt und den gleichen digitalen Geldschein mehrmals versendet. Dies wird als sogenanntes “Double Spending” bezeichnet und ist eines von mehreren bekannten Angriffs- bzw. Scam-Szenarien einer Kryptowährung. Die Erklärung, warum der Bitcoin oder viel mehr “Proof-of-Work” eine Lösung für das byzantinische General-Problem darstellt, lieferte Satoshi Nakamoto höchstselbst bereits im Jahr 2008, in einer Email, in der er auf die Aussage eines gewissen James A. Donald antwortete.
Donald stellte damals fest:
Es reicht nicht aus, dass jeder die Nachricht “X” weiß. Es muss auch jeder wissen, dass jeder “X” weiß, und dass jeder weiß, dass jeder weiß, dass jeder “X” weiß – was als das Problem der byzantinisches Generäle das klassische harte Problem von distributiver Datenverarbeitung darstellt. – James A. Donald
Satoshi gab hierauf eine ausführliche Antwort, in der er das Problem der byzantinischen Generäle ebenfalls mit einbezog und auf eine etwas modernisierte Weise umschrieb:
Die “Proof-of-Work-Chain” ist die Lösung für das Problem der byzantinischen Generäle. Ich versuche, es für diesen Kontext etwas umzuformulieren.
Eine Anzahl von byzantinischen Generälen hat jeder einen Computer und will das Wi-Fi des Königs angreifen, indem es sein Passwort, von dem sie wissen, dass es eine bestimmte Anzahl an Zeichen lang ist, bruteforced [= Möglichst viele Passwortmöglichkeiten ausprobieren].
Wenn sie einmal ihr Netzwerk dazu bringen, ein Paket mit Passwörtern zu produzieren, haben sie nur eine begrenzte Zeit, um das Passwort zu knacken und alle Logfiles zu löschen, da sie andernfalls entdeckt werden und Ärger bekommen würden. Sie haben nur genügend CPU-Power, um das Passwort schnell genug zu knacken, wenn eine Mehrheit von ihnen zur selben Zeit angreift.
Sie interessieren sich nicht besonders dafür, wann der Angriff stattfindet, sondern nur dafür, dass sie alle übereinstimmen. Es wurde entschieden, dass jeder, der will, eine Zeit ankündigen kann und die Zeit, die zuerst gehört wurde, wird zur offiziellen Angriffszeit. Das Problem ist nun, dass das Netzwerk Informationen nicht sofort übermittelt, und wenn zwei Generäle verschiedene Zeitpunkte zu fast der selben Zeit ankündigen, die einen diese und die anderen jene zuerst hören werden. Um dieses Problem zu lösen benutzen sie eine Proof-of-Work-Chain.
Sobald jeder General die Angriffszeit erhält, die er zuerst gehört hat, lässt er seinen Computer ein extrem schweres Proof-of-Work Problem lösen, das den Angriffszeitpunkt in einem Hash beinhaltet.
Das Proof-of-Work ist so schwierig, dass es voraussichtlich 10 Minuten dauert, es zu lösen, wenn alle gemeinsam daran arbeiten. Sobald einer der Generäle eine Lösung findet, strahlt er sie im Netzwerk aus, und jeder ändert das Proof-of-Work, so dass es die Hash des gelösten Proof-of-Work enthält. Wenn jemand zuvor mit einem anderen Angriffszeitpunkt gearbeitet hat, ändert er diesen, da die Proof-of-Work-Kette nun länger ist.
Nach zwei Stunden sollte eine Angriffszeit durch eine Kette von 12 Proof-of-Works gehasht sein. Indem er die Schwierigkeit der Proof-of-Work-Chain verifiziert, kann jeder General sehen, wie viel parallele CPU-Power je Stunde für sie verwendet wurde und ob dafür die Mehrheit der Computer verwendet wurde. Sie müssen es alle gesehen haben, da der Proof-of-Work der Beweis ist, dass sie daran gearbeitet haben. Wenn die CPU-Power, die für die Proof-of-Work-Kette verwendet wurde, ausreichend ist, um das Passwort zu knacken, können sie zur vereinbarten Zeit sicher angreifen.
Die Proof-of-Work-Kette ist der Weg, wie all die Probleme mit der Synchronisierung, mit distributiven Datenbanken und globalen Sichtproblemen, über die du gesprochen hast, gelöst werden. – Satoshi Nakamoto
Kryptowährungen kannst du auf Binance*, Coinbase* oder eToro* kaufen. Hier geht es zu unserem ->Starterkit.
Verpass keine wichtigen Nachrichten mehr!
Folge uns auf Twitter, Instagram, Facebook, Steemit und tritt unserem Telegram News Kanal oder Newsletter bei.
Du würdest diesen Artikel gerne kommentieren? Dann tritt einfach unserer Telegram Diskussions-Gruppe bei.
*Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links. Wenn du über diesen Link etwas kaufst, bekommen wir eine Provision vom Händler. Der Preis verändert sich dabei für dich nicht.