Besonderer Dank geht an Sacha Yves Saint-Leger & Danny Ryan zur Überprüfung.
In dieser Rate werden wir die Konsensmechanismen hinter ETH2 besprechen. ETH2 hat einen neuartigen Ansatz zur Entscheidung, welcher Block der Kopf der Kette ist, und mit welchen Blöcken Sind Und sind nicht ein Teil der Kette.
Durch die Verwendung eines Hybrids zwischen den beiden Mechanismen zielt ETH2 darauf ab, einen Konsens zu erzielen, der auch dann sicher ist, wenn es schnell und sicher ist, wenn sich das Netzwerk normal verhält, auch wenn es angegriffen wird.
Ein Trilemma
FLP Unmöglichkeit ist ein Kernergebnis im Bereich der verteilten Berechnung, die besagt, dass es in einem verteilten System nicht möglich ist gleichzeitig Haben Sie Sicherheit, Lebendigkeit und volle Asynchronität, es sei denn, einige unvernünftige Annahmen können über Ihr System getroffen werden.
Sicherheit ist die Idee, dass Entscheidungen nicht ungemacht werden können, während Lebendigkeit erfasst die Vorstellung, dass neue Dinge entschieden werden können. Ein Protokoll ist Asynchronus Wenn es nicht gebunden ist, wie lange eine Nachricht dauert, um zu geliefert zu werden.
Wenn Knoten zuverlässig kommunizieren könnten, folgen Sie immer dem Protokoll ehrlich und stürmen niemals, dann wäre der Konsens einfach, aber so funktioniert die Welt nicht. Wenn diese Annahme nicht gilt, ist FLP -Unmöglichkeit der Beweis, dass mindestens eine von Sicherheit, Lebendigkeit oder vollständige Asynchronität beeinträchtigt werden muss.
Geister und ihre Meinungen zu Gabeln
ETH2 verwendet Gieriger schwerster beobachteter Subtree (Ghost) als seine Gabel-Wahl-Regel. Ghost wählt den Kopf der Kette aus, indem er die Gabel auswählt, die die meisten Stimmen hat (dies geschieht, indem alle Stimmen für jeden Gabelblock und ihre jeweiligen Kinderblöcke berücksichtigt werden).
Einen anderen Weg setzenJedes Mal, wenn es eine Gabel gibt, wählt Ghost die Seite aus, an der mehr der neuesten Nachrichten den Unterbaum dieses Blocks unterstützen (dh mehr der neuesten Nachrichten unterstützen diesen Block oder einen seiner Nachkommen). Der Algorithmus tut dies, bis er einen Block ohne Kinder erreicht.
Ghost hat den Vorteil, dass die Wirksamkeit von Angriffen in Zeiten hoher Netzwerklatenz sowie die Minimierung der Tiefe von Ketten-Reorgs im Vergleich zur längsten Kettenregel reduziert wird. Dies liegt daran, dass ein Angreifer Bausteine in seiner eigenen Kette effizient halten kann, wodurch er die längste ist, würde Ghost die andere Gabel auswählen, da es insgesamt mehr Stimmen dafür gibt.
Insbesondere verwendet ETH2 eine Variation des Ghost, die an einen POS-Kontext angepasst wurde, der als neuesten von Message Driven Ghost (LMD-Ghost) bezeichneten Message-Ghost angepasst wurde. Die Idee hinter LMD-Ghost ist, dass man bei der Berechnung des Kettenkopf letzte Abstimmung von jedem Validator und nicht einer der in der Vergangenheit abgegebenen Stimmen. Dies verringert die beim Ausführen von Ghost erforderlich in Big O Notation).
Nach den Regeln des Ghost können Validatoren/Bergleute immer versuchen, der Blockchain (Lebendigkeit) einen neuen Block hinzuzufügen, und sie können dies an jedem Punkt in der Geschichte der Kette (asynchron) tun. Da es dank unseres Freundes FLP live und vollständig asynchron ist, wissen wir, dass es nicht in Sicherheit sein kann.

Die mangelnde Sicherheit stellt sich in Form von Reorgs dar, wo eine Kette plötzlich zwischen Gabeln der willkürlichen Tiefe wechseln kann. Offensichtlich ist dies unerwünscht und ETH1 befasst sich damit, indem Benutzer Annahmen darüber treffen, wie lange Bergleuteblöcke mit dem Rest des Netzwerks kommuniziert werden. Bestätigungen. Eth2 dagegen macht keine solchen Annahmen.
Das freundliche Endgültigkeits -Gadget
Eine Blockchain ohne Sicherheitssache ist nutzlos, da keine Entscheidungen getroffen werden konnten und Benutzer sich nicht auf den Zustand der Kette einigen konnten. Eingeben Casper das freundliche Endgültigkeits -Gadget (Casper FFG). Casper FFG ist ein Mechanismus, der bei Entscheidungen die Sicherheit gegenüber Lebendigkeit begünstigt. Dies bedeutet, dass die Entscheidungen, die es trifft, unter schlechten Netzwerkbedingungen endgültig sind, es jedoch möglicherweise nicht in der Lage ist, sich über irgendetwas zu entscheiden.

FFG ist eine kryptoökonomische Anpassung des Klassiker Praktische byzantinische Fehlertolerent (PBFT) Das hat Phasen, in denen Knoten zum ersten Mal darauf hinweisen, dass sie sich auf etwas einigen möchten (Rechtfertigung) und dann einverstanden, dass sie sich einig gesehen haben (Abschluss).
ETH2 versucht nicht, jeden Steckplatz zu rechtfertigen und zu finanzieren (die Zeit, in der ein Block erwartet wird, dass er produziert wird), sondern nur alle 32 Slots. Gemeinsam werden 32 Slots als eine genannt Epoche. Erstens unterzeichnen Validatoren, dass sie allen 32 Blöcken in einer Epoche zustimmen. Dann, wenn Tun Sie dies, der Block ist gerechtfertigt. In einer späteren Epoche erhalten Validatoren eine weitere Wahlchance Tun Sie dies, die Epoche ist abgeschlossen und für immer ein Teil der ETH2 -Kette.
FFG verwendet einen cleveren Trick. Die Stimmen bestehen tatsächlich aus zwei Unterstimmen, einer für die Epoche, die versucht, gerechtfertigt zu sein, und eine für eine frühere Epoche, die abgeschlossen werden soll. Dies spart viel zusätzliche Kommunikation zwischen Knoten und hilft, das Ziel der Skalierung von Millionen von Validatoren zu erreichen.
Zwei Geister in einem Trenchcoat
Der Konsens innerhalb von ETH2 stützt sich sowohl auf LMD-Ghost-das neue Blöcke hinzufügt und entscheidet, was der Kopf der Kette ist-als auch auf Casper FFG, was die endgültige Entscheidung über die Blöcke trifft Sind Und sind nicht ein Teil der Kette. Die günstigen Eigenschaften von Ghost ermöglichen es neuer Blöcke, der Kette schnell und effizient hinzugefügt werden, während FFG folgt, um die Sicherheit durch die Fertigstellung von Epochen zu gewährleisten.

Die beiden Protokolle werden zusammengeführt, indem Ghost aus dem von FFG entschiedenen Block aus dem letzten abgeschlossenen Block ausgeführt wird. Durch den Bau ist der letzte endgültige Block immer Teil der Kette, was bedeutet, dass Ghost frühere Blöcke nicht berücksichtigen muss.
Im Normalfall, wenn Blöcke produziert werden und Validatoren stimmen über sie ab, diese Blöcke werden durch Ghost zum Kopf der Kette hinzugefügt, und nicht lange nach gerechtfertigt und abgeschlossen von FFG (die die letzten Epochen berücksichtigt).
Wenn ein Angriff auf das Netzwerk und/oder ein großer Teil der Validatoren offline gehen, fügt Ghost weiterhin neue Blöcke hinzu. Da Ghost jedoch live, aber nicht sicher ist, kann es seine Meinung über den Kopf der Kette ändern – dies liegt daran, dass die Kette immer wieder neue Blöcke hinzugefügt werden, was bedeutet, dass Knoten immer wieder neue Informationen lernen. FFG hingegen begünstigt die Sicherheit über Lebendigkeit, was bedeutet, dass es die Fertigstellung von Blöcken nicht mehr abschließt, bis das Netzwerk stabil genug ist, damit Validatoren konsequent abstimmen können.

