Was ist das Problem der byzantinischen Generäle?

Einsteiger11/21/2022, 8:35:02 AM
Das Problem der byzantinischen Generäle ist eine Situationsbeschreibung des verteilten Konsensproblems.

Einführung

Das Problem der byzantinischen Generäle, auch bekannt als das Problem der zwei Generäle, wurde 1982 in Leslie Lamberts Artikel über die Fehlertoleranz der verteilten Peer-to-Peer-Netzwerkkommunikation vorgeschlagen. Bei der Kommunikation des verteilten Systems können einige lokale Probleme dazu führen, dass der Computer Fehlermeldungen sendet und die Konsistenz des Systems zerstört. Daher ist das Problem der byzantinischen Generäle im Wesentlichen ein Konsensproblem in der Punkt-zu-Punkt-Kommunikation.

Herkunft

Das Problem der byzantinischen Generäle entstand im Mittelalter. Aufgrund des riesigen Territoriums von Byzanz kann sich die Kommunikation zwischen den Armeen nur auf Boten verlassen. Wenn es einen Verräter gibt, der die Informationen der Armeeführer absichtlich falsch darstellt, wird dies zu inkonsistenten Operationsplänen führen, was zu den „byzantinischen Misserfolgen“ führt.

Um dieses Problem zu lösen, gibt es zwei Lösungen: Die eine besteht darin, sich gegenseitig Boten durch mündliche Vereinbarung zu schicken und mit einfacher Mehrheit einen Konsens zu erzielen, aber es ist schwierig, potenzielle Verräter zu unterscheiden; Die zweite besteht darin, Boten in Form von schriftlichen Vereinbarungen zur Übermittlung schriftlicher Nachrichten mit exklusiven Unterschriften zu senden, die von jeder Armee abgeordnet werden sollten, aber wenn die Übertragung zu langsam ist, können die Unterschriften verloren gehen. Da beide Lösungen nur einen Teil des Problems lösen können und es zu viel Zeit und Ressourcen kostet, einen Konsens zu erzielen, sind sie nicht sinnvoll.

Problem der byzantinischen Generäle im Internet

Das Problem der byzantinischen Generäle im Internet bedeutet, dass es im Prozess der Kanalübertragung für einige Knoten aufgrund übermäßiger Arbeitsbelastung oder einiger böswilliger Angriffe schwierig sein kann, eine Informationssynchronisierung zu erreichen. 1999 schlugen Miguel Castro und Barbara Liskov die Byzantinische Fehlertoleranz (BFT) vor. Sie glaubten, dass die Konsistenz und Korrektheit des Systems garantiert werden könnte, wenn zwei Drittel der Knoten im System normal funktionieren würden. Später schlug Satoshi Nakamoto den Proof-of-Work-Mechanismus (PoW) und den asymmetrischen kryptografischen Algorithmus von Bitcoin vor, der eine neue Lösung für das Problem der byzantinischen Generäle bot.

Byzantinische Fehlertoleranz

Angenommen, es gibt n Generäle und t Verräter. Sagen wir n=3, t=1, also ist einer von A, B und C ein Verräter. Wenn A den Befehl [Angriff] erteilt, aber Verräter B C auffordert, sich [zurückzuziehen], dann kann C kein Urteil fällen; Wenn Verräter B den Befehl [Angriff] an A und den Befehl [Rückzug] an C sendet, können A und C keine Einigung erzielen. Wenn daher die Anzahl der Verräter größer oder gleich 1/3 ist, kann das Problem der byzantinischen Generäle nicht gelöst werden.

Unter der Annahme, dass die Gesamtzahl der Netzwerkknoten N und die Anzahl der böswilligen Knoten T ist, kann das Problem in ähnlicher Weise nur gelöst werden, wenn N>=3T+1, d. h. die Anzahl der normalen Knoten im Netzwerk mindestens ( 2/3) N, um die Konsistenz der Informationen zu gewährleisten. Bei einer zuverlässigen Netzwerkkommunikation kann Byzantine Fault Tolerance das Problem des Knotenausfalls bis zu einem gewissen Grad lösen, sodass das System einen Konsens erreichen kann.

Proof of Work (PoW)-Mechanismus

Angenommen, General A erteilt zuerst den Befehl [Angriff] und fügt seine Unterschrift hinzu. Wenn andere Generäle nach Erhalt auch angreifen wollen, folgen sie dem Befehl [Angriff] und seiner Unterschrift nach dem Befehl von General A. Wenn A den Befehl [Angriff] nicht ausführt, nachdem A ihn gesendet hat, können andere Generäle A als Verräter beurteilen und ihn verwenden, um die richtigen Informationen zu unterscheiden.

In ähnlicher Weise erhalten mehrere teilnehmende Knoten durch eine Reihe von Arbeiten ein Ergebnis, und der erste Knoten, der das Ergebnis erhält, sendet es an das gesamte Netzwerk. Wenn das Ergebnis korrekt ist, werden andere Nodes das Ergebnis zu ihren eigenen Ledgern hinzufügen, um die Berechnung vorzubereiten, um das Recht zu erlangen, Transaktionen in der Blockchain aufzuzeichnen.

Ein Hacker muss über mehr als 51 % Rechenleistung verfügen, um die Netzwerksicherheit zu zerstören oder gefälschte Blöcke zu veröffentlichen. Die Kosten sind weitaus höher als die Rendite. Daher kann dieser Mechanismus die Möglichkeit falscher Informationen verringern und das System schneller einen Konsens erzielen lassen.

Algorithmen mit asymmetrischem Schlüssel

Die Verschlüsselung und Entschlüsselung der Algorithmen mit asymmetrischem Schlüssel benötigen zwei separate geheime Schlüssel – den öffentlichen Schlüssel und den privaten Schlüssel, die normalerweise paarweise auftreten. Wenn A eine Nachricht an B senden möchte, benötigt A den öffentlichen Schlüssel von B, um die Informationen zu verschlüsseln, und B benötigt seinen eigenen privaten Schlüssel, um die Informationen zu entschlüsseln. Wenn B seine Identität zeigen möchte, kann er den privaten Schlüssel signieren, einen „Signaturtext“ schreiben und senden. Andere können seine/ihre Identität gemäß dem öffentlichen Schlüssel von B verifizieren.

Da Identität und Signatur nicht gefälscht werden können, gewährleisten die asymmetrischen Schlüsselalgorithmen die Vertraulichkeit der Übertragung und der vertrauenswürdigen Signatur.

Autor: Jiji
Übersetzer: Joy
Rezensent(en): Hugo, Cecilia, Ashley
* Die Informationen sind nicht als Finanzberatung gedacht und stellen auch keine Empfehlung irgendeiner Art dar, die von Gate.io angeboten oder unterstützt wird.
* Dieser Artikel darf ohne Bezugnahme auf Gate.io nicht reproduziert, übertragen oder kopiert werden. Zuwiderhandlung ist eine Verletzung des Urheberrechtsgesetzes und kann gerichtlich verfolgt werden.

Was ist das Problem der byzantinischen Generäle?

Einsteiger11/21/2022, 8:35:02 AM
Das Problem der byzantinischen Generäle ist eine Situationsbeschreibung des verteilten Konsensproblems.

Einführung

Das Problem der byzantinischen Generäle, auch bekannt als das Problem der zwei Generäle, wurde 1982 in Leslie Lamberts Artikel über die Fehlertoleranz der verteilten Peer-to-Peer-Netzwerkkommunikation vorgeschlagen. Bei der Kommunikation des verteilten Systems können einige lokale Probleme dazu führen, dass der Computer Fehlermeldungen sendet und die Konsistenz des Systems zerstört. Daher ist das Problem der byzantinischen Generäle im Wesentlichen ein Konsensproblem in der Punkt-zu-Punkt-Kommunikation.

Herkunft

Das Problem der byzantinischen Generäle entstand im Mittelalter. Aufgrund des riesigen Territoriums von Byzanz kann sich die Kommunikation zwischen den Armeen nur auf Boten verlassen. Wenn es einen Verräter gibt, der die Informationen der Armeeführer absichtlich falsch darstellt, wird dies zu inkonsistenten Operationsplänen führen, was zu den „byzantinischen Misserfolgen“ führt.

Um dieses Problem zu lösen, gibt es zwei Lösungen: Die eine besteht darin, sich gegenseitig Boten durch mündliche Vereinbarung zu schicken und mit einfacher Mehrheit einen Konsens zu erzielen, aber es ist schwierig, potenzielle Verräter zu unterscheiden; Die zweite besteht darin, Boten in Form von schriftlichen Vereinbarungen zur Übermittlung schriftlicher Nachrichten mit exklusiven Unterschriften zu senden, die von jeder Armee abgeordnet werden sollten, aber wenn die Übertragung zu langsam ist, können die Unterschriften verloren gehen. Da beide Lösungen nur einen Teil des Problems lösen können und es zu viel Zeit und Ressourcen kostet, einen Konsens zu erzielen, sind sie nicht sinnvoll.

Problem der byzantinischen Generäle im Internet

Das Problem der byzantinischen Generäle im Internet bedeutet, dass es im Prozess der Kanalübertragung für einige Knoten aufgrund übermäßiger Arbeitsbelastung oder einiger böswilliger Angriffe schwierig sein kann, eine Informationssynchronisierung zu erreichen. 1999 schlugen Miguel Castro und Barbara Liskov die Byzantinische Fehlertoleranz (BFT) vor. Sie glaubten, dass die Konsistenz und Korrektheit des Systems garantiert werden könnte, wenn zwei Drittel der Knoten im System normal funktionieren würden. Später schlug Satoshi Nakamoto den Proof-of-Work-Mechanismus (PoW) und den asymmetrischen kryptografischen Algorithmus von Bitcoin vor, der eine neue Lösung für das Problem der byzantinischen Generäle bot.

Byzantinische Fehlertoleranz

Angenommen, es gibt n Generäle und t Verräter. Sagen wir n=3, t=1, also ist einer von A, B und C ein Verräter. Wenn A den Befehl [Angriff] erteilt, aber Verräter B C auffordert, sich [zurückzuziehen], dann kann C kein Urteil fällen; Wenn Verräter B den Befehl [Angriff] an A und den Befehl [Rückzug] an C sendet, können A und C keine Einigung erzielen. Wenn daher die Anzahl der Verräter größer oder gleich 1/3 ist, kann das Problem der byzantinischen Generäle nicht gelöst werden.

Unter der Annahme, dass die Gesamtzahl der Netzwerkknoten N und die Anzahl der böswilligen Knoten T ist, kann das Problem in ähnlicher Weise nur gelöst werden, wenn N>=3T+1, d. h. die Anzahl der normalen Knoten im Netzwerk mindestens ( 2/3) N, um die Konsistenz der Informationen zu gewährleisten. Bei einer zuverlässigen Netzwerkkommunikation kann Byzantine Fault Tolerance das Problem des Knotenausfalls bis zu einem gewissen Grad lösen, sodass das System einen Konsens erreichen kann.

Proof of Work (PoW)-Mechanismus

Angenommen, General A erteilt zuerst den Befehl [Angriff] und fügt seine Unterschrift hinzu. Wenn andere Generäle nach Erhalt auch angreifen wollen, folgen sie dem Befehl [Angriff] und seiner Unterschrift nach dem Befehl von General A. Wenn A den Befehl [Angriff] nicht ausführt, nachdem A ihn gesendet hat, können andere Generäle A als Verräter beurteilen und ihn verwenden, um die richtigen Informationen zu unterscheiden.

In ähnlicher Weise erhalten mehrere teilnehmende Knoten durch eine Reihe von Arbeiten ein Ergebnis, und der erste Knoten, der das Ergebnis erhält, sendet es an das gesamte Netzwerk. Wenn das Ergebnis korrekt ist, werden andere Nodes das Ergebnis zu ihren eigenen Ledgern hinzufügen, um die Berechnung vorzubereiten, um das Recht zu erlangen, Transaktionen in der Blockchain aufzuzeichnen.

Ein Hacker muss über mehr als 51 % Rechenleistung verfügen, um die Netzwerksicherheit zu zerstören oder gefälschte Blöcke zu veröffentlichen. Die Kosten sind weitaus höher als die Rendite. Daher kann dieser Mechanismus die Möglichkeit falscher Informationen verringern und das System schneller einen Konsens erzielen lassen.

Algorithmen mit asymmetrischem Schlüssel

Die Verschlüsselung und Entschlüsselung der Algorithmen mit asymmetrischem Schlüssel benötigen zwei separate geheime Schlüssel – den öffentlichen Schlüssel und den privaten Schlüssel, die normalerweise paarweise auftreten. Wenn A eine Nachricht an B senden möchte, benötigt A den öffentlichen Schlüssel von B, um die Informationen zu verschlüsseln, und B benötigt seinen eigenen privaten Schlüssel, um die Informationen zu entschlüsseln. Wenn B seine Identität zeigen möchte, kann er den privaten Schlüssel signieren, einen „Signaturtext“ schreiben und senden. Andere können seine/ihre Identität gemäß dem öffentlichen Schlüssel von B verifizieren.

Da Identität und Signatur nicht gefälscht werden können, gewährleisten die asymmetrischen Schlüsselalgorithmen die Vertraulichkeit der Übertragung und der vertrauenswürdigen Signatur.

Autor: Jiji
Übersetzer: Joy
Rezensent(en): Hugo, Cecilia, Ashley
* Die Informationen sind nicht als Finanzberatung gedacht und stellen auch keine Empfehlung irgendeiner Art dar, die von Gate.io angeboten oder unterstützt wird.
* Dieser Artikel darf ohne Bezugnahme auf Gate.io nicht reproduziert, übertragen oder kopiert werden. Zuwiderhandlung ist eine Verletzung des Urheberrechtsgesetzes und kann gerichtlich verfolgt werden.
Jetzt anfangen
Registrieren Sie sich und erhalten Sie einen
100
-Euro-Gutschein!