Weiter zum Hauptinhalt

Seite zuletzt aktualisiert: 24. Juli 2024

Danksharding

Danksharding ist der Weg, wie Ethereum zu einer wirklich skalierbaren Blockchain wird, aber es sind mehrere Protokoll-Upgrades erforderlich, um dorthin zu gelangen. Proto-Danksharding ist ein Zwischenschritt auf diesem Weg. Beide zielen darauf ab, Transaktionen auf Layer 2 für Benutzer so kostengünstig wie möglich zu machen und sollten Ethereum auf mehr als >100.000 Transaktionen pro Sekunde skalieren.

Was ist Proto-Danksharding?

Proto-Danksharding, auch bekannt als EIP-4844(opens in a new tab), ist eine Möglichkeit für Rollups, kostengünstigere Daten zu Blöcken hinzuzufügen. Der Name stammt von den beiden Forschern, die die Idee vorgeschlagen haben: Protolambda und Dankrad Feist. Derzeit sind Rollups in ihrer Fähigkeit eingeschränkt, Benutzertransaktionen kostengünstig zu gestalten, da sie ihre Transaktionen in CALLDATA posten. Das ist teuer, weil es von allen Ethereum-Nodes verarbeitet wird und für immer in der Kette bleibt, obwohl Rollups die Daten nur für kurze Zeit benötigen. Proto-Danksharding führt Datenblobs ein, die gesendet und an Blöcke angehängt werden können. Die Daten in diesen Blobs sind für die EVM nicht zugänglich und werden automatisch nach einer festgelegten Zeitspanne (1-3 Monate) gelöscht. Das bedeutet, dass Rollups ihre Daten viel kostengünstiger senden und die Einsparungen in Form von günstigeren Transaktionen an die Endbenutzer weitergeben können.

Wie werden Blob-Daten überprüft?

Rollups posten die Transaktionen, die sie ausführen, in Datenblobs. Sie posten auch eine "Verpflichtung" zu den Daten. Dies tun sie, indem sie eine Polynomfunktion an die Daten anpassen. Diese Funktion kann dann an verschiedenen Punkten ausgewertet werden. Zum Beispiel, wenn wir eine extrem einfache Funktion f(x) = 2x-1 definieren, dann können wir diese Funktion für x = 1, x = 2, x = 3 auswerten und erhalten die Ergebnisse 1, 3, 5. Ein Beweiser wendet die gleiche Funktion auf die Daten an und wertet sie an den gleichen Punkten aus. Wenn die ursprünglichen Daten geändert werden, ist die Funktion nicht identisch und daher auch nicht die an jedem Punkt ausgewerteten Werte. In Wirklichkeit sind das Commitment und der Beweis komplizierter, da sie in kryptografische Funktionen eingebettet sind.

Was ist KZG?

KZG steht für Kate-Zaverucha-Goldberg - die Namen der drei ursprünglichen Autoren(opens in a new tab) eines Schemas, das einen Datenblob auf ein kleines kryptographisches "Commitment"(opens in a new tab) reduziert. Der von einem Rollup eingereichte Datenblob muss überprüft werden, um sicherzustellen, dass der Rollup sich nicht falsch verhält. Dies beinhaltet, dass ein Beweiser die Transaktionen im Blob erneut ausführt, um zu überprüfen, ob das Commitment gültig war. Konzeptionell ist dies das gleiche Verfahren, wie Execution Clients die Gültigkeit von Ethereum-Transaktionen auf Layer 1 mithilfe von Merkle-Beweisen überprüfen. KZG ist ein alternativer Beweis, der eine Polynomgleichung an die Daten anpasst. Das Commitment bewertet das Polynom an einigen geheimen Datenpunkten. Ein Beweiser würde das gleiche Polynom über die Daten anpassen und es an denselben Werten auswerten, um zu überprüfen, ob das Ergebnis dasselbe ist. Ein Beweiser würde das gleiche Polynom über die Daten anpassen und es an denselben Werten auswerten, um zu überprüfen, ob das Ergebnis dasselbe ist.

Was ist die KZG-Zeremonie?

Eine KZG-Zeremonie ist eine Möglichkeit für viele Menschen aus der gesamten Ethereum-Community, gemeinsam eine geheime zufällige Zahlenfolge zu generieren, die zur Überprüfung einiger Daten verwendet werden kann. Es ist sehr wichtig, dass diese Zahlenfolge nicht bekannt ist und von niemandem neu erstellt werden kann. Um dies zu gewährleisten, erhält jede Person, die an der Zeremonie teilnimmt, eine Zeichenfolge vom vorherigen Teilnehmer. Sie erzeugen dann einige neue zufällige Werte (z.B. indem sie ihrem Browser erlauben, die Bewegung ihrer Maus zu messen) und mischen diese mit dem vorherigen Wert. Dann senden sie den Wert an den nächsten Teilnehmer weiter und löschen ihn von ihrem lokalen Rechner. Solange eine Person in der Zeremonie dies ehrlich tut, wird der endgültige Wert für einen Angreifer unbekannt sein. Die EIP-4844 KZG Zeremonie war öffentlich und zehntausende Menschen nahmen teil, um ihre eigene Entropie hinzuzufügen. Damit die Zeremonie untergraben wird, müssten 100% dieser Teilnehmer aktiv unehrlich sein. Aus der Sicht der Teilnehmer besteht, sofern sie wissen, dass sie ehrlich waren, keine Notwendigkeit, jemand anderem zu vertrauen. Sie haben durch ihre Ehrlichkeit selbst die Sicherheit der Zeremonie gewährleistet und die Anforderung erfüllt, dass mindestens einer von N Teilnehmern ehrlich sein muss.

Weder Danksharding noch Proto-Danksharding folgen dem traditionellen "Sharding"-Modell, das darauf abzielt, die Blockchain in mehrere Teile zu unterteilen. Shardketten sind nicht mehr Teil der Roadmap. Stattdessen verwendet Danksharding verteiltes Daten-Sampling über Blobs, um Ethereum zu skalieren. Dies ist viel einfacher zu implementieren. Dieses Modell wird manchmal als "Data-Sharding" bezeichnet.

Was ist Danksharding?

Danksharding ist die vollständige Realisierung der Rollup-Skalierung, die mit Proto-Danksharding begann. Danksharding wird enorme Mengen an Speicherplatz auf Ethereum bereitstellen, damit Rollups ihre komprimierten Transaktionsdaten ablegen können. Das bedeutet, dass Ethereum problemlos Hunderte von individuellen Rollups unterstützen kann und Millionen von Transaktionen pro Sekunde zur Realität macht.

Die Funktionsweise besteht darin, die an Blöcke angehängten Blobs von 1 in Proto-Danksharding auf 64 in vollem Danksharding zu erweitern. Der Rest der benötigten Änderungen betrifft alle Updates in der Funktionsweise der Konsens-Clients, um sie in die Lage zu versetzen, die neuen großen Blobs zu verarbeiten. Mehrere dieser Änderungen sind bereits unabhängig von Danksharding aus anderen Gründen auf der Roadmap. Zum Beispiel erfordert Danksharding, dass die Trennung von Proposer und Builder implementiert wurde. Dies ist ein Upgrade, das die Aufgaben des Erstellens und Vorschlagens von Blöcken auf verschiedene Validierer verteilt. Ebenso ist Datenverfügbarkeitsstichproben für Danksharding erforderlich, aber sie sind auch für die Entwicklung von sehr leichtgewichtigen Clients erforderlich, die nicht viele historische Daten speichern ("zustandslose Clients").

Aktueller Fortschritt

Volles Danksharding ist noch einige Jahre entfernt. Allerdings sollte Proto-Danksharding relativ bald eintreffen. Zum Zeitpunkt des Schreibens (Feb 2023) ist die KZG-Zeremonie immer noch offen und hat bisher über 50.000 Teilnehmer angezogen. Der EIP(opens in a new tab) für Proto-Danksharding ist ausgereift, die Spezifikation ist vereinbart und die Clients haben Prototypen implementiert, die derzeit getestet und einsatzbereit gemacht werden. Der nächste Schritt besteht darin, die Änderungen auf einem öffentlichen Testnetz zu implementieren. Sie können sich auf dem Laufenden halten, indem Sie die EIP 4844-Bereitschaftscheckliste(opens in a new tab) verwenden.

Weiterführende Informationen

War dieser Artikel hilfreich?