G für GRANDPA [Polkadot von A bis Z]
GRANDPA (GHOST-based Recursive ANcestor Deriving Prefix Agreement) ist das Finalitäts-Modul der Blockchains Polkadot und Kusama.
Finalität
In der Welt der Blockchains bedeutet Finalität, dass ein neuer Block der Blockchain mit einer gewissen Sicherheit hinzugefügt wurde, dass er nicht mehr rückgängig gemacht werden kann, und dass sich das gesamte Netzwerk über diese neue Kopie der Chain einig ist. Es handelt sich dabei um einen wichtigen Teil des Konsensmechanismus. Ein Konsensmechanismus wie der Nakamoto-Konsens von Bitcoin hat eine Finalität, die probabilistisch ist. Je mehr Blöcke nach diesem Block hinzugefügt werden, desto höher ist die Wahrscheinlichkeit, dass der Block in die kanonische (vom Netzwerk genehmigte) Chain aufgenommen wird. Das birgt jedoch Risiken: Man kann nie zu 100 % sicher sein, dass ein Block kanonisch ist, aber je mehr Blöcke auf einen bestimmten Block folgen, desto unwahrscheinlicher ist das. Verschiedene Arten von Double-Spend-Angriffen beruhen auf dieser Funktion. Dabei wird ein Block angekündigt, der eine Transaktion enthält, aber nicht Teil der kanonischen Chain bleibt.
Betrachten wir das mal in einem realen Szenario:
Nehmen wir an, wir kaufen eine Tasse Kaffee. Die Transaktion ist abgeschlossen, wenn das Bargeld dem Café übergeben wird und der Angestellte es in die Kasse legt. Dann wird der Bargeldwert in den Geschäftsbüchern des Cafés erfasst, in einem Umschlag aufbewahrt und bei der Bank eingezahlt ; nach ein paar Tagen steht er auf dem Account des Cafés zur Verfügung und kann für Gehaltszahlungen, Miete und andere Kosten verwendet werden. Bei jedem dieser Schritte wird die Wahrscheinlichkeit, dass der Bargeldwert zurückgegeben wird, also verloren geht oder gestohlen wird, immer unwahrscheinlicher.
GRANDPA
Polkadot und Kusama haben ein hybrides Konsensmodell, bei dem die Aufgaben des Konsens auf zwei verschiedene Module aufgeteilt werden: GRANDPA, das Finalitäts-Modul, und BABE, das Block-Produktionsmodul. BABE (Blind Assignment for Blockchain Extension) produziert Blöcke, und GRANDPA entscheidet, welche Blöcke finalisiert werden - das heißt, was die beweisbare kanonische Chain ist. Beachte, dass BABE eine eigene Regel zur Auswahl der Chain hat, die aber probabilistisch ist. Wenn es jedoch ein Problem damit gibt, einen Konsens von der erforderlichen Anzahl von Validatoren für die von GRANDPA abgeleitete Funktionalität zu erhalten, kehrt das Netzwerk einfach zur probabilistischen Finalität zurück, anstatt den Prozess zu blockieren.
Jede Runde der Zustimmung von GRANDPA kann viele Blöcke der kanonischen Chain finalisieren, was die Geschwindigkeit der Finalisierung deutlich erhöht. Solange sich ⅔ der Validatoren über die kanonische Chain einig sind, betrachtet GRANDPA dies als ausreichend für die Finalität. Für den Fall, dass sich weniger als ⅔ der Validatoren auf eine neue Version der Chain einigen, hat GRANDPA Mechanismen eingerichtet, um Validatoren zu bestrafen, die für mehr als eine neue Version der Chain stimmen.
Die Aufteilung des Konsens ermöglicht es uns, die Annahmen für das Netzwerk in den Modulen zu definieren, was das Konsensmodell in Polkadot zu einem deterministischen Modell macht. Das halten wir für sicherer als ein probabilistisches Modell. Vor allem, weil die Blockproduktion auch dann fortgesetzt werden kann, wenn nicht genügend Validatoren online sind, denn in diesem Fall greifen wir auf die Blockchain-Auswahl von BABE zurück. GRANDPA ist ein Code, der in jede Blockchain integriert werden kann. Er ist so konzipiert, dass er auf jeder Blockchain-Implementierung als Finalitäts-Modul funktioniert, solange er mit den notwendigen Eingaben versorgt wird.
Weitere Lektüre
- GRANDPA paper: https://arxiv.org/pdf/2007.01560.pdf
- https://polkadot.network/polkadot-consensus-part-2-grandpa/
- https://medium.com/polkadot-network/grandpa-block-finality-in-polkadot-an-introduction-part-1-d08a24a021b5
- https://wiki.polkadot.network/docs/learn-consensus#what-is-grandpababe
Übersetzt von Daredevil3x7 und erstellt mit Unterstützung des Kusama Treasury via WagMedia
Mehr von der ELI5 Serie: Polkadot A bis Z
A für Account [Polkadot von A bis Z]
B for Brücken “Bridges” [Polkadot from A to Z]
C für “Collators” (Kollatoren) [Polkadot von A bis Z]
D für “Democracy” (Demokratie) [Polkadot von A bis Z]
E für Existentielle Einlage [Polkadot von A bis Z]
F für “Forkless” (Gabelfrei) [Polkadot von A bis Z]
G für GRANDPA [Polkadot von A bis Z]
H für Hash [Polkadot von A bis Z]
I für Interoperabilität [Polkadot von A bis Z]
J für Polkadot.js [Polkadot von A bis Z]
K für Kusama [Polkadot von A bis Z]
L für Polkadot Launch [Polkadot von A bis Z]
M für Multisig [Polkadot von A bis Z]
Das ist der offizielle WagMedia Space Germany! Hier werden interessante und lesenswerte DotSama-Artikel durch die Wag-Media community übersetzt und öffentlich zur Verfügung gestellt. Mitmachen? Trete unserem Discord bei und werde Teil der größten News Community im DotSama Universum.
0 comments