Satoshi und die byzantinischen Generäle — von Craig Wright

Von Craig Wright | 24. März 2020 | English Original

Bevor ich Bitcoin startete, hatte ich darüber diskutiert, wie das vorgeschlagene System funktionieren würde. [1]

Viele Leute haben mein White Paper nicht gelesen und sind davon ausgegangen, dass Bitcoin ein Abstimmungssystem ist, das Regeln durch Konsens erlaubt, bei denen jeder Einzelne eine Stimme hat. Das White Paper sagt:

Wenn die Mehrheit auf der Basis von einer IP-Adresse – einer Stimme – basieren würde, könnte sie von jedem untergraben werden, der in der Lage ist, viele IPs zuzuweisen. Proof of Work bedeutet im Kern: 1x CPU = 1x Stimme (one-CPU-one-vote).

Es heißt nicht “Ein-Computer-eine-Stimme”, da jede CPU keine Einzelperson darstellt. Sie repräsentiert keine Knoten, die als Benutzer im Netzwerk laufen. Die Verwirrung rührt von einem radikal falschen Verständnis des Problems der byzantinischen Generäle her.

Bitcoin gibt nicht jedem “Benutzerknoten” im Netzwerk eine Stimme. Bitcoin-Knoten sind Generäle. Generäle bilden eine kleine Gruppe von Personen, die leicht zu erkennen sind und deren Handlungen leicht zugeschrieben werden können. Generäle sind keine Privatpersonen. Für jeden General im Netzwerk gibt es potenziell Millionen von Privatpersonen. Mit anderen Worten, für jeden Knoten im Netzwerk wird es potenziell Millionen von Benutzern geben. Die einzige Möglichkeit, ein Knoten im Bitcoin-Netzwerk zu werden, besteht im Lösen von Block-Puzzles. Es zählt nicht der Versuch, Block-Puzzles zu lösen, sondern nur das aktive Suchen der Lösung von Block-Puzzles. Wenn Sie ein Raspberry-Pi-Benutzer sind und nie Block-Puzzles lösen, sind Sie kein Knotenpunkt im Bitcoin-Netzwerk. Bitcoin und die Forks von Bitcoin (BTC-, BCH- und andere Systeme) [2] werden alle durch die Aktionen von höchstens 10 Minern gesteuert, die die Knotenpunkte sind. Wenn ein Miner mehrere Zugangs- und Austrittspunkte hat, bleiben sie als ein einziger Knotenpunkt bestehen.

Wenn also ein Miner mehrere Ein- und Ausstiegspunkte betreibt, sind diese nur ein einziger Knotenpunkt. Ich habe das in den frühen Jahren von Bitcoin erklärt:

Das derzeitige System, bei dem jeder Benutzer ein Netzwerkknoten ist, ist nicht die beabsichtigte Konfiguration für den großen Maßstab. Das wäre so, als würde jeder Usenet-Benutzer seinen eigenen NNTP-Server betreiben. Das Design unterstützt es, Benutzer einfach nur Benutzer sein zu lassen. Je aufwändiger es ist, einen Knoten zu betreiben, desto weniger Knoten gibt es. Diese wenigen Knoten werden große Serverfarmen sein. Der Rest werden Client-Knoten sein, die nur Transaktionen durchführen und nicht generieren. [3]

Um sicherzustellen, dass es keine Missverständnisse gibt, was ich gesagt habe, beachten Sie, dass es die Entstehung von Server-Farmen ist, die das Netzwerk bedienen werden. Eine Gruppe kommerzieller Knotenpunkte, die Ein- und Ausgangspunkte haben können, die eine interne verteilte Knotenstruktur speisen und sogar weltweit dezentralisiert sein können, ist in diesem Sinne Eigentum eines Unternehmens und agiert als ein einziger Knotenpunkt. Mit der Zeit werden sie die zukünftigen digitalen Verarbeitungseinrichtungen für Banken und kommerzielle Aktivitäten auf der ganzen Welt sein. Es mag weltweit nur 100 Miner geben, d.h. 100 Knotenpunkte, aber sie können Millionen von Maschinen haben:

Bei Equilibrium-Größe werden viele Knoten Serverfarmen mit einem oder zwei Netzwerkknoten sein, die den Rest der Farm über ein LAN versorgen. [4]

Und so kommt es, dass die Miner, oder Nodes Generäle sind. Die Benutzer können das Netzwerk mit Hilfe der vereinfachten Zahlungsüberprüfung SPV (simplified payment verification) nutzen und haben so die Möglichkeit, Transaktionen über das Netzwerk zu überprüfen und zu validieren. Sie benötigen nur die Kopfzeile von jedem Block. Zum Glück hat niemand verstanden, was ich gesagt habe, so dass ich die einzige Möglichkeit, Bitcoin zu skalieren, patentieren konnte:

Das Design skizziert einen leichtgewichtigen Client, der nicht die gesamte Blockchain benötigt. In der PDF-Datei des Entwurfs heißt  es: “simplified payment verification”. Der leichte Client kann Transaktionen senden und empfangen, er kann nur keine Blöcke erzeugen. Er muss keinem Knoten vertrauen, um Zahlungen zu verifizieren, er kann sie trotzdem selbst verifizieren. [4]

Was ist ein General?

Wenn wir zurückgehen und uns das ursprüngliche Problem der chinesischen Generäle ansehen, werden Sie feststellen, dass es nicht auf die Anzahl der Computer ankommt, sondern auf die gebündelte Computerleistung, die von einer einzigen Einheit kontrolliert wird, die sich mit anderen Einheiten koordinieren muss. Jeder General kontrolliert eine Armee in dem Konsens und Verteilungsproblem. Der Fehler im Verständnis, den viele Menschen haben, liegt darin, dass sie jeden General als gleichwertig behandeln, als hätte jeder von ihnen eine Stimme. Aber die Generäle haben nicht eine einzige Stimme. Jeder General stimmt auf der Grundlage der Größe seiner Armee ab. Es geht nicht darum, dass beispielsweise drei von fünf Generälen beweisen müssen, dass sie in dem Szenario und dem Problem loyal sind, sondern vielmehr darum, die relative Stärke jedes Generals zu bündeln und zu beweisen.

So kann ein General beispielsweise 100.000 Männer kontrollieren, während vier andere jeweils 40.000 kontrollieren können. Hier gibt es insgesamt 260.000 Männer in der kombinierten Armee. Wenn der General mit 100.000 Mann Unterstützung von einem der anderen Generäle erhält, bilden die beiden die kontrollierende Kraft. Hier können zwei Generäle zusammen mehr Macht haben als die anderen drei und gewinnen. Was wir sehen, ist kein Konsens, der nur auf der Zahl der Individuen beruht. Es liegt nicht darin, einzelne IP-Adressen zu vergeben oder Einzelpersonen abstimmen zu lassen. Wenn dies der Fall wäre und die drei Generäle mit 100.000 Mann gegen den General antreten würden, dann würden die drei Generäle gewinnen, auch mit einer kleineren Streitmacht. Die Lösung basiert hier nicht auf demokratischer Abstimmung, sondern auf nachgewiesenen Ressourcen.

Bitcoin, jedes auf Blockchain basierende System ist in der Tat, gegen eine Abstimmung durch die Massen. Es gibt keine Möglichkeit, Regeln durch Konsens zwischen Individuen in einer Blockchain zu schaffen. Bitcoin wurde nie als Demagogie konzipiert, sondern als ein kommerzielles System, bei dem die Knotenpunkte, die Generäle, sichtbar sind und die Höhe der von ihnen investierten Ressourcen und der Grad ihrer Wirksamkeit öffentlich bestätigt werden können.

Der gesamte Zweck der Lösung des Problems der byzantinischen Generäle besteht darin, eine Lösung für zuverlässige Computersysteme zu finden. Es geht nicht um Abstimmungen, Demokratie oder die Schaffung von Regeln durch Konsens. Wenn sich die Menschen in unserer Post-Wiki-Welt die Mühe machen würden, etwas von dem Quellenmaterial zu lesen, würden sie verstehen, dass es bei dem Problem darum geht, sicherzustellen, dass Computersysteme auf verteilter Basis in einer Weise geschaffen werden können, die es ihnen ermöglicht, mit Fehlfunktionen umzugehen. Bitcoin ist verteilt, um Zuverlässigkeit zu ermöglichen. Es gibt keinen verteilten Konsens, der die Regel des Systems diktiert. Tatsächlich verdeckt dieser Mythos eine Täuschung von ein paar unaufrichtigen Entwicklern, die eine Partnerschaft betreiben, die sie durch betrügerische Behauptungen, sie seien dezentralisiert, zu verbergen suchen. Gruppen wie Bitcoin Core und Bitcoin ABC – die beide nichts mehr mit Bitcoin zu tun haben – täuschen Investoren absichtlich, während sie als zentrale Emittenten und Kontrolleure über das Netzwerk agieren.

Wir stellen uns vor, dass mehrere Divisionen der byzantinischen Armee außerhalb einer feindlichen Stadt lagern, wobei jede Division von einem eigenen General befehligt wird. Die Generäle können nur durch Boten miteinander kommunizieren. Nachdem sie den Feind beobachtet haben, müssen sie sich auf einen gemeinsamen Aktionsplan einigen. Einige der Generäle können jedoch Verräter sein und versuchen, die loyalen Generäle an einer Einigung zu hindern. [5]

Leslie Lamport, The Byzantine Generals Problem

Als Leslie Lamport das ursprüngliche Problem definierte, das ich mit Bitcoin zu lösen versuchte, vereinfachte er das Szenario, indem er die Fraktionen der Armee, die von jedem General unterhalten werden, nicht erklärte. Bei verteilten Berechnungsproblemen, bei denen eine Vielzahl von Komponenten auf ein Problem wirken, das über mehrere Knoten verteilt ist, ist es nicht unbedingt erforderlich, dass jeder Knoten gleich ist. Ebenso ist es bei dem Problem der byzantinischen Generäle nicht unbedingt erforderlich, dass jeder General die gleiche Größe der Division in der Armee hat. Lamport vereinfachte das Problem, indem er jeden General so behandelte, als würde er eine gleiche Anzahl von Truppen befehligen. Dies ist eine spezifische Version des Problems, die viel einfacher zu lösen ist. Bei Bitcoin haben wir es mit einer schwierigeren Version des Problems zu tun; wir wissen nicht einmal im Voraus, wie viele Truppen jeder General befehligt und wie stark die Truppen sind. Wir lösen ein solches Problem auf spieltheoretische Weise: Wir testen die Fähigkeiten jedes Generals und die Stärke der von ihm kontrollierten Division.

Jeder General wäre in der Lage, über seine individuelle Stärke zu lügen.

Bei einem verteilten Rechenproblem geht es bei zuverlässigen Rechenlösungen nicht um die Anzahl der Systeme, sondern um die individuellen Fähigkeiten jedes Systems. Das Szenario basiert nicht auf einer Ein-Computer-eine-CPU. Jeder Computer wird eine unterschiedliche Anzahl von CPUs haben.

Leslie Lamport verstand nicht, dass spieltheoretische Signalsysteme die Lösung bieten. Das Mining von Bitcoins ist analog zum Pfauenschwanz zu verstehen: Je mehr Ressourcen, je länger der Schwanz, jeder General kann es sich leisten, sie zu verschwenden, während er am Leben bleibt, desto mehr kann er seine Tauglichkeit unter Beweis stellen. Das Abstimmen, wie es von Lamport [5] definiert wird, ist nicht das Abstimmen durch Einzelpersonen, sondern die Wirksamkeit von Komponenten. Als Leslie Lamport 1982 seine Arbeit veröffentlichte, hätte die Mehrheit der verteilten zuverlässigen Systeme die gleichen oder ähnliche Chips verwendet. Es war nicht vorhergesehen, dass ein verteiltes Rechenproblem auf die Größenordnung anwachsen würde, die heute im Internet existiert, und so war die komplexere Version des Problems der byzantinischen Generäle, die ich in Bitcoin lösen würde, in seinen Lösungen noch nicht einmal versucht worden.

Der Proof-of-Work ist kein Beweis dafür, wie viele Menschen zustimmen. Vielmehr spiegelt er wider, wie viel Gesamtrechenleistung aufgewendet wird:

After two hours, one attack time should be hashed by a chain of 12 proofs-of-work. Every general, just by verifying the difficulty of the proof-of-work chain, can estimate how much parallel CPU power per hour was expended on it and see that it must have required the majority of the computers to produce that much proof-of-work in the allotted time. They had to all have seen it because the proof-of-work is proof that they worked on it. If the CPU power exhibited by the proof-of-work chain is sufficient to crack the password, they can safely attack at the agreed time. [1]

Die Proof-of-Work-Chain wurde entwickelt, um die Synchronisation über eine global verteilte Datenbank zu gewährleisten. Die Synchronisierung zwischen den Knoten (Minern) ermöglicht die gleichzeitige Lösung des “Global View-Problems”, mit dem SPV-Benutzer sonst konfrontiert wären.

In meiner ursprünglichen Kommunikation an die Kryptographie-Mailingliste [1] hatte ich das Problem nicht als die vereinfachte Version von Lamport dargestellt, wobei jeder General die gleiche Größe der Teilung wie ein anderer hat. Ich sagte, dass eine Mehrheit der CPU-Leistung benötigt wird, was nicht dasselbe ist wie eine gleiche Anzahl von Generälen. Es ist die Mehrheit der CPU-Leistung. In Bitcoin sind Knoten Generäle. Sie sind Miner. Die Benutzer sind keine Knoten im Bitcoin-Netzwerk und erstellen keine validierten Blöcke. Bei Bitcoin gibt es keinen zweistufigen Prozess, bei dem die Benutzer die Aktionen der Miner überprüfen, wie dies fälschlicherweise von einigen angedeutet wird:

Ohne eine Konsensmethode haben “Nicht-Miner-Nodes” kein Mitspracherecht. Es ist irrelevant, ob es Ihnen gefällt oder nicht; Bitcoin, jedes auf Blockchain basierende System erstellt keine Regeln durch Konsens, aber es erlaubt die Abstimmung ausschließlich durch solche Knoten, die Blöcke produzieren, diejenigen mit ‘Skin in the game’.

Von Craig Wright | 24. März 2020

Übersetzt und veröffentlicht von MetanetWeekly mit freundlicher Erlaubnis von Craig Wright.

English Original:
https://craigwright.net/blog/bitcoin-blockchain-tech/satoshi-and-the-byzantine-generals/

Anmerkungen

[1] Siehe: https://www.metzdowd.com/pipermail/cryptography/2008-November/014849.html (Zugriff am 20. März 2020).

[2] Bitte beachten Sie, dass Bitcoin nicht in alternative Systeme ‘fork’ ist. Die BTC- und BCH-Systeme werden als Bitcoin ausgegeben, um Investoren zu betrügen. Die einzige Version von Bitcoin ist BSV, die 2009 eingeführt wurde.

[3] Siehe: https://bitcointalk.org/index.php?topic=532.msg6306#msg6306 (Zugriff am 20. März 2020).

[4] Siehe: https://bitcointalk.org/index.php?topic=286.msg2947#msg2947 (Zugriff am 20. März 2020).

[5] Siehe: http://lamport.azurewebsites.net/pubs/byz.pdf (Zugriff am 20. März 2020).

Foto: Trevor McKinnon

 

 

Schreibe einen Kommentar