Seit der Geburt von Bitcoin als elektronisches Peer-to-Peer-Geldsystem im Jahr 2008 sind nach und nach viele andere digitale Währungen entstanden, und jede digitale Währung verfügt über ihren eigenen spezifischen Mechanismus. Aber fast alle digitalen Währungen haben eines gemeinsam: die Kernarchitektur der Blockchain.

In den meisten Fällen sind Blockchains als dezentrale, elektronische Hauptbücher konzipiert, die von einem verteilten Netzwerk von Knotenpunkten verwaltet werden. Blockchain-Systeme ermöglichen daher die völlig transparente und zuverlässige Abwicklung von Finanztransaktionen ohne Zwischenhändler. Digitale Währungen ersetzen nach und nach traditionelle Bankzahlungssysteme, die eine hohe Vertrauenswürdigkeit erfordern.

Wie bei den meisten verteilten Computersystemen müssen die Teilnehmer eines digitalen Währungsnetzwerks regelmäßig den aktuellen Zustand der Blockchain diskutieren und sich darauf einigen. Dies nennen wir Konsens. Allerdings ist es keine leichte Aufgabe, in einem verteilten Netzwerk auf sichere und effiziente Weise einen Konsens zu erreichen.

Wie kann sich also ein verteiltes Netzwerk von Computerknoten auf Entscheidungen in Situationen einigen, in denen einige Knoten möglicherweise nicht richtig funktionieren oder sich unehrlich verhalten? Dies ist die Wurzel des sogenannten Problems der byzantinischen Generäle, aus dem das Konzept der byzantinischen Fehlertoleranz hervorging.


Was ist das Problem der byzantinischen Generäle?

Einfach ausgedrückt galt das Problem der byzantinischen Generäle im Jahr 1982 als logisches Dilemma, das die Kommunikationsprobleme veranschaulichte, die eine Gruppe byzantinischer Generäle haben könnte, wenn sie versuchte, sich auf eine einheitliche Meinung über ihren nächsten Schritt zu einigen.

Das Dilemma geht davon aus, dass jeder General über seine eigene Armee verfügt, die sich jeweils an einem anderen Ort in der Stadt befindet, die sie angreifen möchten. Diese Generäle müssen sich darüber einigen, ob sie angreifen oder sich zurückziehen. Dabei spielt es keine Rolle, ob es sich um einen Angriff oder einen Rückzug handelt, solange alle Generäle einen Konsens erzielen, sich also abstimmen und die gemeinsame Durchführung beschließen.

Daher können wir die folgenden Bedingungen berücksichtigen:

  • Jeder General muss eine Entscheidung treffen: Angriff oder Rückzug (ja oder nein);

  • Sobald eine Entscheidung getroffen wurde, kann sie nicht mehr geändert werden.

  • Alle Generäle müssen sich auf eine einheitliche Entscheidung einigen und diese gleichzeitig ausführen.


Das obige Kommunikationsproblem beruht auf der Tatsache, dass ein General mit einem anderen General nur über Nachrichten kommunizieren kann, die von Geheimdienstagenten gesendet werden. Daher besteht die zentrale Herausforderung des Problems der byzantinischen Generäle darin, dass Informationen auf irgendeine Weise verzögert, beschädigt oder verloren gehen können.

Selbst wenn die Nachricht erfolgreich zugestellt wurde, können sich darüber hinaus ein oder mehrere Generäle dafür entscheiden, böswillig zu handeln (aus irgendeinem Grund) und betrügerische Nachrichten zu senden, um andere Generäle zu verwirren, was dazu führt, dass die Operation fehlschlägt.

Wenn wir dieses Dilemma auf die Blockchain übertragen, stellt jeder General einen Netzwerkknoten dar und die Knoten müssen einen Konsens über den aktuellen Zustand des Systems erzielen. Mit anderen Worten: Eine Mehrheit der Teilnehmer in einem verteilten Netzwerk muss sich einigen und die gleichen Aktionen durchführen, um einen Ausfall zu vermeiden.

Daher besteht die einzige Möglichkeit, in solchen verteilten Systemen einen Konsens zu erreichen, darin, dass mindestens zwei Drittel der Netzwerkknoten zuverlässig und ehrlich sind. Dies bedeutet, dass das System anfällig für Ausfälle und Angriffe (z. B. 51 %-Angriffe) ist, wenn sich die Mehrheit der Knoten im Netzwerk für böswillige Handlungen entscheidet.


Byzantinische Fehlertoleranz (BFT)

Einfach ausgedrückt ist Byzantine Fault Tolerance (BFT) eine Systemeigenschaft, die einer Reihe von Fehlern widerstehen kann, die durch das Problem der byzantinischen Generäle verursacht werden. Dies bedeutet, dass ein byzantinisches fehlertolerantes System auch dann weiter betrieben werden kann, wenn einige Knoten ausfallen oder sich böswillig verhalten.

Es gibt viele mögliche Lösungen für das Problem der byzantinischen Generäle und daher gibt es viele Möglichkeiten, ein byzantinisches fehlertolerantes System aufzubauen. Ebenso bieten Blockchains verschiedene Möglichkeiten, um eine byzantinische Fehlertoleranz zu erreichen, die wir Konsensalgorithmen nennen.


Blockchain-Konsensalgorithmus

Wir können einen Konsensalgorithmus als den Mechanismus definieren, durch den ein Blockchain-Netzwerk einen Konsens erzielt. Die häufigsten Beispiele sind Proof of Work (PoW) und Proof of Stake (PoS). Hier nehmen wir Bitcoin als Beispiel.

Das Bitcoin-Protokoll legt die Hauptregeln des Systems fest, und der Proof-of-Work-Konsensalgorithmus erklärt, wie diese Regeln befolgt werden, um einen Konsens zu erzielen (z. B. bei der Verifizierung und Validierung von Transaktionen).

Obwohl das Konzept des Arbeitsnachweises älter als die digitale Währung war, modifizierte Satoshi Nakamoto die Originalversion und entwickelte einen verbesserten Arbeitsnachweis-Algorithmus, der Bitcoin als byzantinisches fehlertolerantes System generieren kann.

Bitte beachten Sie, dass dieser Proof-of-Work-Algorithmus nicht vollständig resistent gegen byzantinische Fehler ist. Aufgrund des kostenintensiven Mining-Prozesses und der zugrunde liegenden Verschlüsselungstechnologie hat sich Proof-of-Work jedoch als eine der sichersten und zuverlässigsten Methoden erwiesen Blockchain-Netzwerke. In diesem Sinne wird der von Satoshi Nakamoto entwickelte Proof-of-Work-Konsensalgorithmus von vielen als eine der ausgefeiltesten Lösungen für die byzantinische Fehlertoleranz angesehen.

abschließend

Das Problem der byzantinischen Generäle ist ein interessantes Dilemma, das letztendlich zur Entstehung byzantinischer fehlertoleranter Systeme führte, die in einer Vielzahl von Szenarien weit verbreitet sind. Einige Anwendungsfälle für byzantinische Fehlertoleranzsysteme umfassen neben der Blockchain-Industrie auch die Luft- und Raumfahrtindustrie sowie die Kernenergieindustrie.

Im Bereich der digitalen Währung sind eine effiziente Netzwerkkommunikation und ein guter Konsensmechanismus für jedes Blockchain-Ökosystem von entscheidender Bedeutung. Die Sicherung dieser Systeme erfordert kontinuierliche Anstrengungen und es gibt Einschränkungen (z. B. Skalierbarkeit), die bestehende Konsensalgorithmen nicht überwinden konnten. Dennoch sind Proof-of-Work und Proof-of-Stake wirksame Methoden für byzantinische fehlertolerante Systeme, und ihre potenziellen Anwendungen werden zu weiteren Innovationen anregen.