So hoch wie möglich, ohne wichtige Bedeutung zu verlieren, was ist die Intuition hinter GHOST? Wie ist es derzeit in Frontier implementiert? Was wird bei GHOST in Casper anders sein?
GHOST ist die Abkürzung für die Kettenauswahlregel Greedy Heaviest Observed Subtree , die eine vorgeschlagene Modifikation für die Bitcoin-Blockchain war ( Paper ).
GHOST war ursprünglich eine Protokollmodifikation, eine Kettenauswahlregel, die Blöcke verwendet, die außerhalb der Hauptkette liegen, um ein sichereres und skalierbareres System zu erhalten.
Mit dieser Modifikation ist es möglich, die Blockchain auf eine Geschwindigkeit von bis zu 1 Block pro Sekunde zu beschleunigen. Das Ergebnis ist eine allgemein höhere mögliche Transaktionsrate, ohne den Konsens und die Sicherheit der Blockchain zu gefährden.
Ethereum implementiert eine vereinfachte Version von GHOST , die nur sieben Stufen nach unten geht. Konkret ist es wie folgt definiert:
Diese eingeschränkte Version von GHOST, bei der Onkel nur bis zu 7 Generationen eingeschlossen werden können, wurde aus zwei Gründen verwendet. Erstens würde unbegrenztes GHOST zu viele Komplikationen in die Berechnung einbeziehen, welche Onkel für einen gegebenen Block gültig sind. Zweitens beseitigt unbegrenztes GHOST mit Entschädigung, wie es in Ethereum verwendet wird, den Anreiz für einen Bergmann, auf der Hauptkette und nicht auf der Kette eines öffentlichen Angreifers zu schürfen.
Casper begann sein Leben als eine Anpassung der Prinzipien von GHOST an kautionsbasierte PoS. Die komplexeste Version von Casper verwendet eine Subtree-Choice-Regel, führt alle Transaktionen aus und schließt Wetten von Blöcken ein, die im Abhängigkeitsdiagramm von Gewinnblöcken enthalten sind, und kann Subnetzwerk-Latenzbestätigungen durchführen.
Vitaliks PoC von Casper ist viel einfacher zu spezifizieren und zu implementieren, Wetten und Transaktionen müssen jedoch direkt in Gewinnblöcke aufgenommen werden, um sich auf den Konsenszustand auszuwirken. Nicht sehr GHOSTy, aber der Name "Casper" ist trotzdem hängengeblieben.
eth