Satoshi über das Problem der byzantinischen Generäle
Wer sein Verständnis für den Bitcoin demonstrieren will, sagt gerne, Bitcoin sei die Lösung für das Problem der byzantinischen Generäle. Was aber bedeutet das? Eine der besten Erklärungen hierfür hat Satoshi Nakamoto himself geliefert.
In den wenigen Texten, die von Satoshi Nakamoto existieren, findet man die eine oder andere Perle. Noch bevor er den Genesis-Block gefunden und damit die Blockchain gestartet hat, hat Satoshi Nakamoto mit James A. Donald über das Problem der byzantinischen Generäle diskutiert. Wer schon immer wissen wollte, worum es sich bei diesem Problem handelt und warum der Bitcoin die Lösung dafür ist, hat nun die Gelegenheit, es von Satoshi selbst zu erfahren.
James A. Donald fragte:
Es reicht nicht aus, dass jeder 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.
Satoshi antwortete:
Die Proof-of-Work-Kette ist die Lösung für das Problem der byzantinischen Generäle. Ich versuche, es für diese Kontext umzuformulieren.
Eine Anzahl von byzantinischen Generälen hat jeder einen Computer und will das Wi-Fi des Königs angreifen, indem es sein Passwort bruteforced, von dem sie wissen, dass es eine bestimmte Anzahl an Zeichen lang ist. Wenn sie einmal ihr Netzwerk dazu bringen, ein Paket mit Passwörtern zu produzieren, haben sie nur eine begrenzte Zeit, um das Passwort zu brechen und alle Logfiles zu löschen, da sie ansonsten entdeckt werden und Ärger bekommen. 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 erselben 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-Kette. 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 einer 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
—
Dieser Post ist ein Auszug aus dem E-Book: “Das Buch Satoshi”, in dem ich zahlreiche Zitate von Satoshi Nakamoto gesammelt, ins Deutsche übersetzt und kommentiert habe. Es ist sowohl für Anfänger als auch Fortgeschrittene extrem hilfreich, um zu verstehen, wie Bitcoin wirklich funktioniert. Außerdem ist es ein historisches Dokument, das die Frühzeit des Bitcoins beleuchtet. Wer es komplett lesen möchte, kann es für 0,004 Bitcoin unter diesem Link herunterladen.
Sehr interessanter Artikel, vielen Dank!
Kann man solche Artikel künftig als kompliziert kennzeichnen, damit dumme Leute wie ich erst garnicht versuchen zu kapieren um was es geht? 😉
Nein, es ist nur furchtbar kompliziert erklärt und schlecht übersetzt.