Bitcoin-Konsensmechanismen erklärt: Byzantinische Fehlertoleranz

17. Februar 2020 Aus Von admin

Bitcoin-Konsensmechanismen erklärt: Byzantinische Fehlertoleranz

Lange Zeit haben die meisten Anwendungen traditionelle zentralisierte Datenbanken zur Verwaltung ihrer Daten verwendet. Anwendungen konnten eine bestimmte Datenbank lesen und schreiben, die von einer einzigen Einheit, einem Master, verwaltet wurde. Aber diese Systeme hatten einen großen Fehler: Die Abhängigkeit von einer einzigen Entität macht die Datenbank anfälliger für Ausfälle und Angriffe. Systeme, die eine echte Dezentralisierung anstreben, wie z.B. Blockketten, können laut Bitcoin Profit ein solches Modell nicht zur Aufrechterhaltung eines Wertnetzes nutzen. Stattdessen erforderten Blockketten die Schaffung von Nakamoto-Konsens, dem byzantinischen fehlertoleranten Konsens-Algorithmus, den Bitcoin verwendet.

Bitcoin Profit und die Blockketten

Byzantinische Fehlertoleranz

In verteilten Computersystemen muss es eine Möglichkeit geben, dass das System auch dann noch funktioniert, wenn verschiedene Einzelkomponenten des Systems ausfallen. Im Falle der byzantinischen Fehlertoleranz muss das verteilte System in der Lage sein, auch dann zu einer Einigung zu kommen, wenn bestimmte Komponenten ausfallen und nicht in der Lage sind, an den Prozessen zur Konsensfindung teilzunehmen.

Der Name leitet sich vom „Problem der byzantinischen Generäle“ ab, einem Problem, das folgende Idee untersucht: Es gibt eine gespaltene Armee mit den beiden Gruppen auf den gegenüberliegenden Seiten einer feindlichen Stadt. Wenn eine der beiden Gruppen die feindliche Stadt allein angreifen würde, könnte die feindliche Stadt sie überleben. Die einzige Möglichkeit für einen erfolgreichen Angriff besteht darin, dass beide Gruppen gleichzeitig angreifen.

Dazu müssen sich die beiden Generäle, die für die beiden gespaltenen Gruppen verantwortlich sind, auf einen Zeitpunkt für den Angriff auf die feindliche Stadt einigen, aber die einzige Möglichkeit für sie zu kommunizieren, ist die Entsendung eines Boten durch die feindliche Stadt. Da der Bote durch die feindliche Stadt reisen muss, kann keiner der beiden Generäle darauf vertrauen, dass ihre Botschaft dem anderen übermittelt wird; der Bote könnte gefangen genommen und durch einen anderen falschen Boten ersetzt werden, um den anderen General in die Irre zu führen.

Im Falle von Bitcoin werden die Generäle durch die verschiedenen Knotenpunkte ersetzt, die zu einer Einigung kommen müssen. Der Nakamoto-Konsens verwendet ein Proof-of-Work-System, um dieses Problem zu lösen.

Was ist ein Arbeitsnachweis?

Nehmen Sie das obige Problem und kennzeichnen Sie die beiden Armeegruppen, Gruppe A und Gruppe B. Der General der Gruppe A möchte eine Nachricht über den Zeitpunkt des Angriffs an die Gruppe B senden. Anstatt den Boten nur mit der Nachricht durch die Stadt zu schicken und zu hoffen, dass sie erfolgreich übermittelt wird, erstellt der General eine Nonce, eine willkürliche Zahl, und fügt sie der Nachricht bei.

Die kombinierte Botschaft wird dann zerlegt und an den anderen General geschickt. Wenn sich beide Generäle auf eine Komponente des Hashes einigen, z.B. dass der Hash mit einer bestimmten Anzahl von Zahlen beginnen muss, kann der General für Gruppe B überprüfen, ob die Nachricht nicht von der gegnerischen Stadt verändert wurde. Wenn die gegnerische Stadt die Nachricht ändern und die neue Nachricht hashen würde, hätte sie wahrscheinlich nicht die gleichen Komponenten des Hashes, auf die sich die beiden Generäle geeinigt haben. Tatsächlich verhindert dieses System, eine vereinfachte Erklärung des Arbeitsnachweis-Algorithmus, weitgehend, dass die feindliche Stadt in der Lage ist, die Nachricht künstlich zu verändern und zu einem fehlerhaften Angriff zu führen.

In Bitcoin arbeiten spezielle Knoten, die „Bergleute“ genannt werden, an der Lösung eines kryptographischen Rätsels, bei dem es darum geht, eine Nicht-Stelle zu finden, so dass der Inhalt des Blocks, wenn er mit der Nicht-Stelle gehackt wird, einer bestimmten Anforderung entspricht. Wenn die Nicht-Stelle gefunden wird, kann der Knoten den Block mit Transaktionen im Netzwerk veröffentlichen, damit er von den anderen Knoten überprüft und der Blockkette hinzugefügt werden kann. Der Hash jedes Blocks umfasst auch den Hash des vorherigen Blocks, so dass jeder Block in einer Kette verbunden ist (daher der Name Blockkette).

Um die Bergleute dazu zu veranlassen, diesen Prozess, der die Sicherheit des Netzwerks gewährleistet, durchzuführen, wird der erste Bergarbeiter, der die Nonce findet und den Block veröffentlicht, mit neu erstellter Bitcoin belohnt. Derzeit können Bergleute eine Belohnung von 12,5 BTC erhalten, aber im Mai 2020 wird die Belohnung auf 6,25 BTC sinken. Dies ist als Halbierung des Bitcoin-Blocks bekannt, die alle vier Jahre stattfindet.