Einführung
Seit der Einführung von Bitcoin als elektronisches Bargeldsystem im Jahr 2008; Später wurden viele andere Währungen geschaffen, jede mit ihren eigenen einzigartigen Mechanismen. Eines haben jedoch fast alle digitalen Währungen gemeinsam: Ihr grundlegendes architektonisches Element, nämlich die Blockchain-Technologie.
Mit wenigen Ausnahmen ist die Blockchain dezentral konzipiert und fungiert als digitales Hauptbuch, das von einem dezentralen Netzwerk von Computerknoten verwaltet wird. Aus diesem Grund ermöglicht die Blockchain-Technologie die Schaffung eines vertrauenswürdigen Wirtschaftssystems, in dem Transparenz und Zuverlässigkeit von Finanztransaktionen ohne die Notwendigkeit eines Mittelsmanns gewährleistet werden können. Digitale Währungen werden als Zahlungsalternative eingeführt und ersetzen Banken und traditionelle Zahlungssysteme, die stark auf Vertrauen angewiesen sind.
Wie bei den meisten verteilten Computersystemen müssen sich die Teilnehmer eines digitalen Währungsnetzwerks regelmäßig auf den aktuellen Status der Blockchain einigen, und das nennen wir Konsens erzielen. Allerdings ist es sehr schwierig, in einem verteilten Netzwerk auf ehrliche und sichere Weise einen Konsens zu erreichen.
Wie kann man sich also in einem Netzwerk verteilter Computerknoten auf eine Entscheidung einigen? Können einige Knoten ausfallen oder sich unehrlich verhalten? Dies ist eine grundlegende Frage, die als allgemeines byzantinisches Problem bekannt ist und aus der ein Konzept namens Byzantinische Fehlertoleranz hervorgegangen ist.
Ist das ein häufiges byzantinisches Problem?
Kurz gesagt, das byzantinische Generalproblem entstand 1982 als logisches Dilemma, das veranschaulichte, wie eine Gruppe byzantinischer Generäle Schwierigkeiten haben konnte, sich über ihren nächsten Schritt zu verständigen.
Dieses Dilemma geht davon aus, dass jeder General seine eigene Armee hat und jede Gruppe an einem anderen Ort in der Stadt platziert ist, die sie angreifen möchte. Die Generäle mussten sich darüber einigen, ob sie angreifen oder sich zurückziehen würden. Es kam nicht darauf an, ob sie angreifen oder sich zurückziehen würden, solange die Generäle einen Konsens erzielten, zum Beispiel: sich auf eine Entscheidung einigen, die gemäß den Befehlen ausgeführt werden würde.
Daher sind mehrere Dinge zu klären:
Jeder General muss entscheiden; ob man angreift oder sich zurückzieht (ja oder nein);
Sobald eine Entscheidung getroffen wurde, kann sie nicht mehr geändert werden.
Jeder General muss derselben Entscheidung zustimmen und sie gleichzeitig im Rahmen der festgelegten Regeln ausführen.
Die oben beschriebenen Kommunikationsprobleme hängen damit zusammen, dass ein General mit einem anderen nur über Nachrichten kommunizieren kann, die per Kurier verschickt werden. Das Gleiche stellt das Allgemeine Byzantinische Problem in Frage, so dass die Übermittlung der Nachricht leicht behindert wird, zerstört werden kann oder verloren geht.
Selbst wenn die Nachricht erfolgreich gesendet wurde, können sich darüber hinaus ein oder mehrere Generäle (aus welchen Gründen auch immer) dafür entscheiden, böswillig zu handeln und eine Antwort zu senden, die die anderen Generäle verwirren soll, was zum Scheitern des Angriffs führen könnte.
Wenn wir dieses Dilemma auf einen Blockchain-Kontext anwenden, stellt jeder General einen Netzwerkknoten dar und dieser Knoten muss einen Konsens über den aktuellen Zustand des Systems erzielen. Mit anderen Worten: Die Mehrheit der Teilnehmer in einem verteilten Netzwerk muss sich darauf einigen und die gleiche Aktion ausführen, um einen Totalausfall zu vermeiden.
Daher besteht die einzige Möglichkeit, einen Konsens für diese Art von verteiltem System zu erzielen, darin, ⅔ oder mehr der Netzwerkknoten ehrlich und zuverlässig zu haben. Dies kann auch bedeuten, dass das System sehr anfällig für Ausfälle und Angriffe ist (z. B. einen 51-Prozent-Angriff), wenn sich die Mehrheit der Netzwerkteilnehmer für böswilliges Handeln entscheidet.
Byzantinische Fehlertoleranz (BFT)
Mit anderen Worten: Byzantinische Fehlertoleranz ist die Eigenschaft eines Systems, das Fehler abwehren kann, die durch das byzantinische Common-Problem-Dilemma verursacht werden. Dies kann auch bedeuten, dass das BFT-System auch dann weiterarbeiten kann, wenn einige Knoten ausfallen oder sich falsch verhalten.
Es gibt mehrere Lösungen für das allgemeine byzantinische Problem und es gibt auch mehrere Möglichkeiten, ein BFT-System aufzubauen. Darüber hinaus gibt es mehrere Blockchain-Ansätze, die BFT erreichen können, und dies wird uns zu Konsensalgorithmen führen.
Algoritma Konsensus Blockchain
Wir können einen Konsensalgorithmus als einen Mechanismus definieren, durch den ein Blockchain-Netzwerk einen Konsens erzielt. Die häufigsten Implementierungen sind Proof of Work (PoW) und Proof of Stake (PoS). Aber nehmen wir Bitcoin als Beispiel.
Das Bitcoin-Protokoll definiert die Hauptregeln für das Bitcoin-System, und es ist der PoW-Konsensalgorithmus, der bestimmt, wie diese Regeln befolgt werden, um einen Konsens zu erzielen (z. B. bei der Überprüfung und Validierung von Transaktionen).
Obwohl das Proof-of-Work-Konzept älter ist als andere digitale Währungen, hat Satoshi Nakamoto eine modifizierte Version als Algorithmus entwickelt, der es ermöglicht, den Bitcoin-Erstellungsprozess als BFT-System zu nutzen.
Es ist zu beachten, dass der PoW-Algorithmus nicht zu 100 % byzantinische Fehler tolerant ist, aber aufgrund eines sehr teuren Mining-Prozesses und der zugrunde liegenden kryptografischen Techniken hat sich PoW als die sicherste und zuverlässigste Blockchain-Netzwerkimplementierung erwiesen. In diesem Fall wird der von Satoshi Nakamoto entwickelte Proof-of-Work-Konsensalgorithmus von vielen Menschen als geniale Lösung für den byzantinischen Fehler angesehen.
Abschluss
Das byzantinische allgemeine Problem ist ein interessantes Dilemma, das letztendlich zur Entstehung des BFT-Systems führte, das in vielen Szenarien umfassend angewendet wird. Neben der Blockchain-Industrie werden BFT-Systeme auch in vielen anderen Branchen eingesetzt, beispielsweise in der Luft-, Raumfahrt- und Kernenergieindustrie.
Im Zusammenhang mit digitalen Währungen ist eine effiziente Netzwerkkommunikation zusammen mit einem guten Konsensmechanismus für jedes Blockchain-Ökosystem von entscheidender Bedeutung. Die Sicherung dieser Systeme ist ein nie endendes Unterfangen, und aktuelle Konsensalgorithmen müssen einige ihrer noch bestehenden Einschränkungen (z. B. Skalierung) noch überwinden. Allerdings sind PoW und PoS Ansätze, die nicht weniger interessant sind als BFT-Systeme, und ihre potenziellen Anwendungen inspirieren weitreichende Innovationen.
