Web3’s Kernvorteil besteht in der Überprüfbarkeit - Benutzer können überprüfen, wie Systeme tatsächlich funktionieren. Diese Funktion erklärt, warum viele innerhalb und außerhalb der Kryptoindustrie Web3 als Schritt zu einem transparenteren und überprüfbaren Internet beschreiben.
Im Gegensatz zu Web2-Plattformen wie Facebook oder Instagram, bei denen Algorithmen und Regeln auch dann undurchsichtig bleiben, wenn sie dokumentiert sind, sind Kryptoprotokolle für vollständige Nachvollziehbarkeit ausgelegt. Selbst wenn sie geteilt werden, fehlt Ihnen die Möglichkeit, zu überprüfen, ob die Plattform wie angegeben funktioniert. Dies ist das Gegenteil von Krypto, bei dem jedes Protokoll so auditiert wie möglich gestaltet ist oder zumindest erwartet wird.
Heute werden wir „The Verge“ erkunden, einen Abschnitt aus Vitaliks kürzlich veröffentlichtem Werk.Sechsteilige Serie über die Zukunft von Ethereum, um die Schritte zu analysieren, die Ethereum in Richtung Erreichung von Überprüfbarkeit, Nachhaltigkeit und Skalierbarkeit in der Zukunft unternimmt. Unter der Überschrift „The Verge“ werden wir diskutieren, wie Blockchain-Architekturen überprüfbarer gemacht werden können, welche Innovationen diese Änderungen auf Protokollebene mit sich bringen und wie sie den Benutzern ein sichereres Ökosystem bieten. Fangen wir an!
Web2-Anwendungen funktionieren als „Black Boxes“ – Benutzer können nur ihre Eingaben und die resultierenden Ausgaben sehen, ohne Einblick in die tatsächliche Funktionsweise der Anwendung zu haben. Im Gegensatz dazu machen Kryptowährungsprotokolle in der Regel ihren Quellcode öffentlich verfügbar oder haben zumindest Pläne, dies zu tun. Diese Transparenz dient zwei Zwecken: Sie ermöglicht es den Benutzern, direkt mit dem Code des Protokolls zu interagieren, wenn sie dies wünschen, und hilft ihnen zu verstehen, wie das System genau funktioniert und welche Regeln es regieren.
„Dezentralisieren Sie, was Sie können, überprüfen Sie den Rest.“
Verifizierbarkeit stellt sicher, dass Systeme verantwortlich sind und in vielen Fällen garantiert, dass Protokolle wie beabsichtigt funktionieren. Dieses Prinzip betont die Bedeutung der Minimierung der Zentralisierung, da sie oft zu undurchsichtigen, nicht nachvollziehbaren Strukturen führt, in denen Benutzer Operationen nicht verifizieren können. Stattdessen sollten wir uns bemühen, so weit wie möglich zu dezentralisieren und die verbleibenden Elemente verifizierbar und verantwortlich zu machen, wo eine Dezentralisierung nicht möglich ist.
Die Ethereum-Community scheint sich dieser Perspektive anzuschließen, da die Roadmapumfasst einen Meilenstein (genannt “The Verge”), der darauf abzielt, Ethereum besser überprüfbar zu machen. Bevor wir uns jedoch mit The Verge befassen, müssen wir verstehen, welche Aspekte von Blockchains überprüft werden sollten und welche Teile aus Sicht der Benutzer entscheidend sind.
Blockchains funktionieren im Wesentlichen als globale Uhren. In einem verteilten Netzwerk mit rund 10.000 Computern kann es eine erhebliche Zeit dauern, bis eine Transaktion von dem Ursprungsknoten zu allen anderen Knoten weitergeleitet wird. Aus diesem Grund können Knoten im gesamten Netzwerk nicht die genaue Reihenfolge von Transaktionen bestimmen - ob eine vor oder nach einer anderen angekommen ist -, da sie nur ihre eigenen subjektiven Perspektiven haben.
Da die Reihenfolge der Transaktionen wichtig ist, verwenden Blockchain-Netzwerke spezialisierte Methoden, die als „KonsensalgorithmenUm sicherzustellen, dass die Knoten synchronisiert bleiben und Transaktionssequenzen in derselben Reihenfolge verarbeiten, verwenden Konsensmechanismen. Obwohl Knoten die Transaktionsreihenfolge global nicht bestimmen können, ermöglichen Konsensmechanismen allen Knoten, sich auf dieselbe Sequenz zu einigen, sodass das Netzwerk wie ein einzelner zusammenhängender Computer funktionieren kann.
Jenseits der Konsensschicht gibt es auch die Ausführungsschicht, die in jeder Blockchain existiert. Die Ausführungsschicht wird durch die Transaktionen geprägt, die Benutzer ausführen möchten.
Sobald Transaktionen erfolgreich durch Konsens angeordnet wurden, müssen diese auf der Ausführungsebene auf den aktuellen Zustand angewendet werden. Wenn Sie sich fragen, was der Zustand ist, haben Sie wahrscheinlich schon einmal Blockchain mit Datenbanken verglichen - genauer gesagt mit einer Bankdatenbank, da Blockchains wie Banken Aufzeichnungen über die Guthaben aller führen.
Wenn Sie $100 im Zustand haben, den wir „S“ nennen, und $10 an jemand anderen senden möchten, beträgt Ihr Guthaben im nächsten Zustand, „S+1“, $90. Dieser Prozess, bei dem Transaktionen angewendet werden, um von einem Zustand in einen anderen zu wechseln, wird als STF (State Transition Function) bezeichnet.
Bei Bitcoin ist das STF hauptsächlich auf Bilanzänderungen beschränkt, was es relativ einfach macht. Im Gegensatz zu Bitcoin ist das STF von Ethereum jedoch viel komplexer, da Ethereum eine vollständig programmierbare Blockchain mit einer Ausführungsebene ist, die in der Lage ist, Code auszuführen.
In einer Blockchain gibt es drei grundlegende Komponenten, die Sie benötigen oder überprüfen können:
Wenn dies verwirrend oder unklar erscheint, keine Sorge. Wir werden jeden dieser Aspekte im Detail durchgehen. Fangen wir damit an, wie man den Blockchain-Zustand überprüft!
Der „Zustand“ von Ethereum bezieht sich auf die Menge der Daten, die zu einem beliebigen Zeitpunkt in der Blockchain gespeichert sind. Dazu gehören Kontostände (Vertragskonten und extern kontrollierte Konten oder EOAs), Code von Smart Contracts, Vertragsspeicher und mehr. Ethereum ist eine zustandsbasierte Maschine, da Transaktionen, die in der Ethereum Virtual Machine (EVM) verarbeitet werden, den vorherigen Zustand verändern und einen neuen Zustand erzeugen.
Jeder Ethereum-Block enthält einen Wert, der den aktuellen Zustand des Netzwerks nach diesem Block zusammenfasst: den stateRoot. Dieser Wert ist eine kompakte Darstellung des gesamten Ethereum-Zustands und besteht aus einem 64-Zeichen-Hash.
Da jede neue Transaktion den Zustand ändert, wird der stateRoot, der im nachfolgenden Block aufgezeichnet ist, entsprechend aktualisiert. Zur Berechnung dieses Werts verwenden Ethereum-Validatoren eine Kombination aus der Keccak-Hash-Funktion und einer Datenstruktur namens die Merkle-Baumunterschiedliche Teile des Staates zu organisieren und zusammenzufassen.
Hashfunktionen sind Einwegfunktionen, die eine Eingabe in eine festgelegte Ausgabe mit fester Länge umwandeln. In Ethereum werden Hashfunktionen wie Keccakwerden verwendet, um Zusammenfassungen von Daten zu generieren und dienen als eine Art Fingerabdruck für die Eingabe. Hash-Funktionen haben vier grundlegende Eigenschaften:
Dank dieser Eigenschaften können Ethereum-Validatoren die STF (State Transition Function) für jeden Block ausführen - alle Transaktionen im Block ausführen und auf den Zustand anwenden - und dann überprüfen, ob der im Block angegebene Zustand dem nach der STF erhaltenen Zustand entspricht. Dieser Prozess stellt sicher, dass der Vorschlagende des Blocks ehrlich gehandelt hat und ist somit eine der wichtigsten Verantwortlichkeiten der Validatoren.
Allerdings hashen Ethereum-Validatoren den gesamten Zustand nicht direkt, um seine Zusammenfassung zu finden. Aufgrund der Einweg-Natur von Hashfunktionen würde das direkte Hashen des Zustands die Überprüfbarkeit beseitigen, da der einzige Weg, den Hash zu reproduzieren, darin bestünde, den gesamten Zustand zu besitzen.
Da der Zustand von Ethereum Terabyte groß ist, ist es unpraktisch, den gesamten Zustand auf alltäglichen Geräten wie Telefonen oder Personalcomputern zu speichern. Aus diesem Grund verwendet Ethereum eine Merkle-Baumstruktur, um den stateRoot zu berechnen und die Überprüfbarkeit des Zustands so weit wie möglich zu erhalten.
A Merkle-Baumist eine kryptografische Datenstruktur, die zur sicheren und effizienten Überprüfung der Integrität und Richtigkeit von Daten verwendet wird. Merkle-Bäume werden auf Hash-Funktionen aufgebaut und organisieren die Hashes eines Datensatzes hierarchisch, was die Überprüfung der Integrität und Richtigkeit dieser Daten ermöglicht. Diese Baumstruktur besteht aus drei Arten von Knoten:
Wenn Sie sich fragen, wie man einen solchen Baum konstruiert, sind nur zwei einfache Schritte erforderlich:
Der endgültige Hash, der oben im Baum erhalten wird, wird als Merkle-Wurzel bezeichnet. Die Merkle-Wurzel repräsentiert die kryptografische Zusammenfassung des gesamten Baums und ermöglicht eine sichere Überprüfung der Datenintegrität.
Merkle-Beweise ermöglichen es dem Überprüfer, spezifische Daten effizient zu validieren, indem sie eine Reihe von Hash-Werten bereitstellen, die einen Pfad von den Ziel-Daten (einem Blattknoten) bis zum im Blockheader gespeicherten Merkle-Wurzel bilden. Diese Kette von Zwischen-Hashes ermöglicht es dem Überprüfer, die Authentizität der Daten zu bestätigen, ohne den gesamten Zustand hashen zu müssen.
Ausgehend vom spezifischen Datenpunkt kombiniert der Verifier ihn mit jedem bereitgestellten „Geschwister“-Hash im Merkle-Beweis und hashet sie schrittweise den Baum hinauf. Dieser Prozess wird fortgesetzt, bis ein einzelner Hash erzeugt wird. Wenn dieser berechnete Hash mit dem gespeicherten Merkle-Root übereinstimmt, gilt die Daten als gültig. Andernfalls kann der Verifier feststellen, dass die Daten nicht dem behaupteten Zustand entsprechen.
Angenommen, wir haben Daten Nr. 4 von einem RPC empfangen und möchten seine Echtheit mithilfe eines Merkle-Beweises überprüfen. Dazu würde das RPC eine Reihe von Hash-Werten entlang des Pfads bereitstellen, die zum Erreichen der Merkle-Wurzel erforderlich sind. Für Daten 4 würden diese Geschwister-Hashes Hash Nr. 3, Hash Nr. 12 und Hash Nr. 5678 enthalten.
Wenn die berechnete Merkle-Wurzel mit der Zustandswurzel im Block übereinstimmt, bestätigen wir, dass Daten #4 tatsächlich innerhalb dieses Zustands gültig sind. Ist dies nicht der Fall, wissen wir, dass die Daten nicht zum beanspruchten Zustand gehören, was auf eine mögliche Manipulation hindeutet. Wie Sie sehen können, kann der Prover beweisen, dass Data #4 im Zustand existiert und während seiner Reise nicht verändert wurde, ohne die Hashes aller Daten bereitzustellen oder den Verifier zu benötigen, den gesamten Merkle-Baum von Grund auf neu zu rekonstruieren – mit nur drei Hashes. Dies ist der Hauptgrund, warum Merkle Proofs als effizient gelten.
Während Merkle Trees zweifellos effektiv sind, um eine sichere und effiziente Datenüberprüfung in großen Blockchain-Systemen wie Ethereum zu ermöglichen, sind sie wirklich effizient genug? Um diese Frage zu beantworten, müssen wir analysieren, wie sich die Leistung und Größe des Merkle-Baums auf die Prover-Verifier-Beziehung auswirkt.
Lassen Sie uns anhand eines Beispiels besser verstehen, wie sich dies auswirkt. Der Verzweigungsfaktor bestimmt, wie viele Zweige aus jedem Knoten im Baum entstehen.
Mit jedem neuen Transaktion, Vertrag oder Benutzerinteraktion, wächst die Ethereum-Blockchain und damit auch der Merkle-Baum. Dieses Wachstum erhöht nicht nur die Größe des Baums, sondern beeinflusst auch die Größe des Nachweises und die Verifikationszeit.
Zusammenfassend bieten Merkle-Bäume zwar eine gewisse Effizienz, aber sie sind keine optimale Lösung für den kontinuierlich wachsenden Datensatz von Ethereum. Aus diesem Grund zielt Ethereum während der The Verge-Phase darauf ab, Merkle-Bäume durch eine effizientere Struktur namensVerkle TreesVerkle-Bäume haben das Potenzial, kleinere Nachweisgrößen zu liefern, während sie das gleiche Sicherheitsniveau aufrechterhalten, was den Verifizierungsprozess für sowohl Beweiser als auch Verifizierer nachhaltiger und skalierbarer macht.
Verge wurde als Meilenstein in Ethereums Roadmap entwickelt, um die Verifizierbarkeit zu verbessern, die dezentrale Struktur der Blockchain zu stärken und die Netzwerksicherheit zu erhöhen. Eines der Hauptziele des Ethereum-Netzwerks ist es, es jedem zu ermöglichen, einfach einen Validator auszuführen, um die Kette zu überprüfen, und eine Struktur zu schaffen, in der die Beteiligung für alle ohne Zentralisierung offen ist. Die Zugänglichkeit dieses Verifizierungsprozesses ist eine der Hauptmerkmale, die Blockchains von zentralisierten Systemen unterscheidet. Während zentralisierte Systeme keine Verifizierungsmöglichkeiten bieten, liegt die Korrektheit einer Blockchain vollständig in den Händen ihrer Benutzer. Um jedoch diese Gewissheit aufrechtzuerhalten, muss die Ausführung eines Validators für alle zugänglich sein – eine Herausforderung, die im aktuellen System aufgrund von Speicher- und Rechenanforderungen begrenzt ist.
Seit der Umstellung auf ein Proof-of-Stake-Konsensmodell mit The Merge haben Ethereum-Validatoren zwei Hauptaufgaben gehabt:
Um die zweite Verantwortung zu erfüllen, müssen Validatoren Zugriff auf den Zustand vor dem Block haben. Dadurch können sie die Transaktionen des Blocks ausführen und den anschließenden Zustand ableiten. Diese Anforderung stellt jedoch eine hohe Belastung für die Validatoren dar, da sie mit erheblichen Speicheranforderungen umgehen müssen. Während Ethereum so konzipiert ist, dass es machbar ist und die Speicherkosten weltweit gesunken sind, geht es weniger um die Kosten und mehr um die Abhängigkeit von spezialisierter Hardware für die Validatoren. The Verge zielt darauf ab, diese Herausforderung zu bewältigen, indem eine Infrastruktur geschaffen wird, in der eine vollständige Überprüfung auch auf Geräten mit begrenztem Speicherplatz wie Mobiltelefonen, Browser-Geldbörsen und sogar Smartwatches durchgeführt werden kann, sodass Validatoren auf diesen Geräten ausgeführt werden können.
Die Umstellung auf Verkle Trees ist ein wesentlicher Bestandteil dieses Prozesses. Anfangs konzentrierte sich The Verge darauf, Ethereums Merkle-Tree-Strukturen durch Verkle Trees zu ersetzen. Der Hauptgrund für die Verwendung von Verkle Trees besteht darin, dass Merkle Trees ein erhebliches Hindernis für die Verifizierbarkeit von Ethereum darstellen. Während Merkle Trees und ihre Beweise in normalen Szenarien effizient funktionieren können, verschlechtert sich ihre Leistung drastisch in Worst-Case-Szenarien.
Laut Vitaliks Berechnungen beträgt die durchschnittliche Beweisgröße etwa 4 KB, was machbar klingt. In den schlimmsten Szenarien kann die Beweisgröße jedoch auf 330 MB anschwellen. Ja, Sie haben das richtig gelesen - 330 MB.
Die extreme Ineffizienz der Merkle-Bäume von Ethereum in den Worst-Case-Szenarien hat zwei Hauptgründe:
Die Beweisgröße steht direkt im Verhältnis zum Verzweigungsfaktor. Eine Verringerung des Verzweigungsfaktors verringert die Beweisgröße. Um diese Probleme anzugehen und die schlechtesten Szenarien zu verbessern, könnte Ethereum von Hexary Trees auf Binary Merkle Trees umsteigen und Vertragscodes merklisieren. Wenn der Verzweigungsfaktor in Ethereum von 16 auf 2 reduziert und auch Vertragscodes merklisiert werden, könnte die maximale Beweisgröße auf 10 MB schrumpfen. Obwohl dies eine bedeutende Verbesserung ist, ist es wichtig zu beachten, dass diese Kosten nur für die Überprüfung eines einzigen Datums gelten. Selbst eine einfache Transaktion, die auf mehrere Daten zugreift, würde größere Beweise erfordern. Angesichts der Anzahl von Transaktionen pro Block und dem ständig wachsenden Zustand von Ethereum ist diese Lösung, obwohl sie besser ist, immer noch nicht ganz realisierbar.
Aus diesen Gründen hat die Ethereum-Community zwei unterschiedliche Lösungen vorgeschlagen, um das Problem anzugehen:
Verkle-Bäume sind, wie der Name schon sagt, baumartige Strukturen, die Merkle-Bäumen ähneln. Der wesentliche Unterschied liegt jedoch in der Effizienz, die sie bei Verifizierungsprozessen bieten. Bei Merkle-Bäumen muss, wenn ein Zweig 16 Datenstücke enthält und wir nur eines davon überprüfen möchten, auch eine Hash-Kette, die die anderen 15 Stücke abdeckt, bereitgestellt werden. Dies erhöht die Berechnungsbelastung der Verifizierung erheblich und führt zu großen Nachweisgrößen.
Im Gegensatz dazu verwenden Verkle-Bäume eine spezialisierte Struktur, die als „Elliptic Curve-based Vector Commitments“ bekannt ist, genauer gesagt ein Inner Product Argument (IPA)-basiertes Vektor-Commitment. Ein Vektor ist im Wesentlichen eine Liste von Datenelementen, die in einer spezifischen Sequenz organisiert sind. Der Zustand von Ethereum kann als Vektor betrachtet werden: eine Struktur, in der zahlreiche Datenstücke in einer bestimmten Reihenfolge gespeichert sind, wobei jedes Element entscheidend ist. Dieser Zustand umfasst verschiedene Datenkomponenten wie Adressen, Vertragscodes und Speicherinformationen, wobei die Reihenfolge dieser Elemente eine wichtige Rolle bei Zugriff und Überprüfung spielt.
Vektorverpflichtungen sind kryptografische Methoden, die zur Beweisführung und Überprüfung von Datenelementen in einem Datensatz verwendet werden. Diese Methoden ermöglichen die Überprüfung sowohl der Existenz als auch der Reihenfolge jedes Elements in einem Datensatz gleichzeitig. Beispielsweise können Merkle-Beweise, die in Merkle-Bäumen verwendet werden, auch als eine Form von Vektorverpflichtung betrachtet werden. Während Merkle-Bäume alle relevanten Hash-Ketten zur Überprüfung eines Elements erfordern, beweist die Struktur inhärent, dass alle Elemente eines Vektors in einer bestimmten Reihenfolge miteinander verbunden sind.
Im Gegensatz zu Merkle Trees verwenden Verkle Trees elliptische Kurven basierte Vektorverpflichtungen, die zwei wesentliche Vorteile bieten:
Diese Funktionen der elliptischen Kurven-basierten Vektorverpflichtungen reduzieren signifikant die Menge an Daten, die für die Überprüfung benötigt wird, und ermöglichen es Verkle Trees, auch in Worst-Case-Szenarien kleine, konstante Beweise zu liefern. Dies minimiert den Datenoverhead und die Überprüfungszeiten und verbessert die Effizienz von groß angelegten Netzwerken wie Ethereum. Die Verwendung von elliptischen Kurven-basierten Vektorverpflichtungen in Verkle Trees ermöglicht somit eine einfachere und effizientere Verwaltung des sich ausdehnenden Zustands von Ethereum.
Wie alle Innovationen haben Verkle-Bäume ihre Grenzen. Einer ihrer Hauptnachteile ist, dass sie auf elliptische Kurvenkryptographie angewiesen sind, die anfällig für Quantencomputer ist. Quantencomputer besitzen eine weit größere Rechenleistung als klassische Methoden und stellen eine erhebliche Bedrohung für elliptische Kurven-basierte kryptographische Protokolle dar. Quantenalgorithmen könnten diese kryptografischen Systeme potenziell brechen oder schwächen, was Bedenken hinsichtlich der langfristigen Sicherheit von Verkle-Bäumen aufwirft.
Aus diesem Grund bieten Verkle Trees zwar eine vielversprechende Lösung für die Staatenlosigkeit, sind aber nicht die ultimative Lösung. Dennoch haben Personen wie Dankrad Feist betont, dass bei der Integration quantenresistenter Kryptographie in Ethereum eine sorgfältige Abwägung erforderlich ist. Es ist jedoch erwähnenswert, dass die KZG-Verpflichtungen, die derzeit für Blobs in Ethereum verwendet werden, ebenfalls nicht quantenresistent sind. Somit können Verkle Trees als Übergangslösung dienen und dem Netzwerk zusätzliche Zeit geben, um robustere Alternativen zu entwickeln.
Verkle Trees bieten im Vergleich zu Merkle Trees kleinere Beweisgrößen und effiziente Verifizierungsprozesse, was es einfacher macht, den immer weiter wachsenden Zustand von Ethereum zu verwalten. Dank elliptisch-kurvebasierten Vektor-Verpflichtungen können groß angelegte Beweise mit wesentlich weniger Daten generiert werden. Trotz ihrer beeindruckenden Vorteile sind Verkle Trees jedoch anfällig für Quantencomputer und daher nur eine vorübergehende Lösung. Während die Ethereum-Community Verkle Trees als kurzfristiges Werkzeug betrachtet, um Zeit zu gewinnen, liegt der langfristige Fokus auf dem Übergang zu quantenresistenten Lösungen. Hier bieten STARK Proofs und Binary Merkle Trees eine starke Alternative für den Aufbau einer robusteren Verifizierungsinfrastruktur für die Zukunft.
Im Ethereum-Statusüberprüfungsprozess kann der Verzweigungsfaktor von Merkle-Bäumen (von 16 auf 2) durch die Verwendung von binären Merkle-Bäumen reduziert werden. Diese Änderung ist ein wichtiger Schritt, um die Größe der Nachweise zu reduzieren und die Überprüfungsprozesse effizienter zu gestalten. In extremen Fällen können die Beweisgrößen jedoch immer noch 10 MB erreichen, was erheblich ist. Hier kommen STARK-Beweise ins Spiel, die diese großen binären Merkle-Beweise auf nur 100-300 kB komprimieren.
Diese Optimierung ist besonders wichtig, wenn man die Beschränkungen beim Betrieb von Validatoren auf Leichtgewichtsclients oder Geräten mit begrenzter Hardware in Betracht zieht, insbesondere wenn man berücksichtigt, dass die durchschnittlichen globalen mobilen Download- und Upload-Geschwindigkeiten etwa 7,625 MB/s bzw. 1,5 MB/s betragen. Benutzer können Transaktionen mit kleinen, tragbaren Nachweisen verifizieren, ohne auf den vollständigen Zustand zugreifen zu müssen, und Validatoren können Blockverifizierungsaufgaben ohne Speicherung des gesamten Zustands durchführen.
Dieser Dual-Benefit-Ansatz reduziert sowohl den Bandbreiten- als auch den Speicherbedarf für Validatoren, beschleunigt gleichzeitig die Überprüfung und führt zu drei wichtigen Verbesserungen, die die Vision von Ethereum für Skalierbarkeit direkt unterstützen.
Während STARK-Beweise bei der Verarbeitung großer Datensätze hervorragend sind, sind sie weniger effizient, wenn es darum geht, kleine Datenmengen nachzuweisen, was ihre Anwendung in bestimmten Szenarien behindern kann. Bei der Arbeit mit Programmen, die kleinere Schritte oder Datensätze beinhalten, kann die relativ große Beweisgröße von STARKs sie weniger praktisch oder kostengünstig machen.
Ein Block-Merkle-Beweis kann etwa 330.000 Hashes enthalten, und in Extremfällen kann diese Zahl auf 660.000 steigen. In solchen Fällen müsste ein STARK-Beweis etwa 200.000 Hashes pro Sekunde verarbeiten.
Hier kommen zk-freundliche Hash-Funktionen wie Poseidon ins Spiel, die speziell für STARK-Beweise optimiert sind, um diese Last zu reduzieren. Poseidon ist so konzipiert, dass es im Vergleich zu traditionellen Hash-Algorithmen wie SHA256 und Keccak reibungsloser mit ZK-Proofs zusammenarbeitet. Der Hauptgrund für diese Kompatibilität liegt darin, wie traditionelle Hash-Algorithmen arbeiten: Sie verarbeiten Eingaben als binäre Daten (0 und 1). Auf der anderen Seite arbeiten ZK-Proofs mit Primfeldern, mathematischen Strukturen, die grundlegend anders sind. Diese Situation ist analog dazu, dass Computer im Binärsystem arbeiten, während Menschen im täglichen Leben ein dezimales System verwenden. Die Umwandlung von bitbasierten Daten in ZK-kompatible Formate erfordert erheblichen Rechenaufwand. Poseidon löst dieses Problem, indem es nativ in Primfeldern arbeitet und seine Integration mit ZK-Beweisen dramatisch beschleunigt.
Allerdings erfordert Poseidon aufgrund seiner relativen Neuheit als Hash-Funktion eine umfangreichere Sicherheitsanalyse, um das gleiche Vertrauensniveau wie traditionelle Hash-Funktionen wie SHA256 und Keccak zu gewährleisten. Zu diesem Zweck gibt es Initiativen wie die Poseidon Kryptanalyse-Initiativevom Ethereum Foundation gestartet, laden Experten dazu ein, Poseidons Sicherheit rigoros zu testen und zu analysieren, um sicherzustellen, dass es adversarischen Prüfungen standhalten kann und zu einem robusten Standard für kryptografische Anwendungen wird. Auf der anderen Seite wurden ältere Funktionen wie SHA256 und Keccak bereits umfangreich getestet und haben eine nachgewiesene Sicherheitsbilanz, sind jedoch nicht ZK-freundlich, was zu Leistungseinbußen führt, wenn sie mit STARK-Beweisen verwendet werden.
Beispielsweise können STARK-Nachweise mit diesen traditionellen Hash-Funktionen derzeit nur 10.000 bis 30.000 Hashes verarbeiten. Glücklicherweise deuten Fortschritte in der STARK-Technologie darauf hin, dass sich diese Durchsatzrate bald auf 100.000 bis 200.000 Hashes erhöhen könnte, was ihre Effizienz erheblich verbessern würde.
Während STARK-Beweise in Bezug auf Skalierbarkeit und Transparenz für große Datensätze hervorragend sind, zeigen sie Einschränkungen, wenn es um die Arbeit mit kleinen und zahlreichen Datenelementen geht. In diesen Szenarien ist die zu beweisende Datenmenge oft klein, aber der Bedarf an mehreren Beweisen bleibt unverändert. Beispiele sind:
In solchen Anwendungsfällen bieten STARK-Nachweise nur wenig Vorteile. STARKs, die Skalierbarkeit betonen (wie durch das „S“ in ihrem Namen hervorgehoben), funktionieren gut für große Datensätze, haben jedoch Probleme mit kleinen Datenszenarien. Im Gegensatz dazu sind SNARKs, die auf Kürze ausgelegt sind (wie durch das „S“ in ihrem Namen betont), darauf ausgerichtet, die Größe des Nachweises zu minimieren und bieten klare Vorteile in Umgebungen mit Bandbreiten- oder Speicherbeschränkungen.
STARK-Beweise sind in der Regel 40-50 KB groß, was etwa 175 Mal größer ist als SNARK-Beweise, die nur 288 Bytes groß sind. Dieser Größenunterschied erhöht sowohl die Überprüfungszeit als auch die Netzwerkkosten. Der Hauptgrund für die größeren STARK-Beweise liegt in ihrer Abhängigkeit von Transparenz und Polynomverpflichtungen, um Skalierbarkeit sicherzustellen, was in kleinen Datenszenarien zu Leistungseinbußen führt. In solchen Fällen können schnellere und platzsparendere Methoden wie Merkle-Beweise praktischer sein. Merkle-Beweise bieten geringe Rechenkosten und schnelle Updates, wodurch sie für diese Situationen geeignet sind.
Dennoch bleiben STARK-Beweise aufgrund ihrer quantensicheren Eigenschaften entscheidend für die zustandslose Zukunft von Ethereum.
Algorithmus | Beweisgröße | Sicherheit Annahmen | Worst-Case Prover-Latenz |
Verkle-Bäume | ~100 - 2,000 kB | Elliptische Kurve (nicht quantenresistent) | |
STARK + Konservative Hash-Funktionen | ~100 - 300 kB | Konservative Hash-Funktionen | > 10s |
STARK + Relatively neue Hashfunktionen | ~100 - 300 kB | Relativ neue und weniger getestete Hash-Funktionen | 1-2s |
Gitterbasierte Merkle-Bäume | Verkle Trees > x > STARKs | Ring Short-Integer-Solution (RSIS) Problem | - |
Wie in der Tabelle zusammengefasst, hat Ethereum vier potenzielle Pfade zur Auswahl:
Dennoch ist es wichtig zu beachten, dass Verkle-Bäume aufgrund ihrer Unabhängigkeit von Hashing wesentlich überzeugender sind als Merkle-Bäume.
Alles, was wir bisher besprochen haben, dreht sich darum, die Notwendigkeit für Validatoren zu entfernen, den vorherigen Zustand zu speichern, den sie verwenden, um vom einen Zustand zum nächsten zu wechseln. Das Ziel ist es, eine dezentralere Umgebung zu schaffen, in der Validatoren ihre Aufgaben ohne die Aufbewahrung von Terabytes von Zustandsdaten ausführen können. Selbst mit den genannten Lösungen müssten Validatoren nicht den gesamten Zustand speichern, da sie alle für die Ausführung erforderlichen Daten durch Zeugen erhalten würden, die mit dem Block mitgeliefert werden. Um jedoch zum nächsten Zustand überzugehen und damit den stateRoot auf dem Block zu verifizieren, müssen Validatoren immer noch die STF selbst ausführen. Diese Anforderung stellt wiederum eine weitere Herausforderung für die permissionless Natur und Dezentralisierung von Ethereum dar.
Ursprünglich wurde The Verge als Meilenstein konzipiert, der sich ausschließlich auf den Übergang des Ethereum-Zustandsbaums von Merkle-Bäumen zu Verkle-Bäumen konzentrierte, um die Zustandsüberprüfbarkeit zu verbessern. Im Laufe der Zeit hat es sich jedoch zu einer breiteren Initiative entwickelt, die darauf abzielt, die Überprüfbarkeit von Zustandsübergängen und Konsens zu verbessern. In einer Welt, in der das Trio aus Zustand, Ausführung und Konsens vollständig überprüfbar ist, könnten Ethereum-Validatoren auf praktisch jedem Gerät mit Internetverbindung arbeiten, das als Leichtclient kategorisiert werden kann. Dies würde Ethereum näher an die Verwirklichung seiner Vision von „wahrer Dezentralisierung“ bringen.
Wie bereits erwähnt, führen Validatoren alle 12 Sekunden eine Funktion namens STF (State Transition Function) aus. Diese Funktion nimmt den vorherigen Zustand und einen Block als Eingabe und erzeugt den nächsten Zustand als Ausgabe. Validatoren müssen diese Funktion jedes Mal ausführen, wenn ein neuer Block vorgeschlagen wird, und überprüfen, ob der Hash, der den Zustand oben auf dem Block repräsentiert - allgemein als State Root bezeichnet - korrekt ist.
Die hohen Systemanforderungen für die Validierung resultieren hauptsächlich aus der Notwendigkeit, diesen Prozess effizient durchzuführen.
Wenn Sie einen Smart-Kühlschrank - ja, sogar einen Kühlschrank - mithilfe von installierter Software in einen Ethereum-Validierer verwandeln möchten, stehen Sie vor zwei großen Hindernissen:
Um die Probleme zu lösen, die durch Light Clients verursacht werden, die keinen Zugriff auf den vorherigen Zustand oder den gesamten letzten Block haben, schlägt The Verge vor, dass der Vorschlagende die Ausführung durchführen und dann einen Beweis an den Block anhängen sollte. Dieser Beweis würde den Übergang vom vorherigen Zustands-Root zum nächsten Zustands-Root sowie den Hash des Blocks enthalten. Mithilfe von nur drei 32-Byte-Hashes können Light Clients den Zustandsübergang validieren, ohne einen zk-Beweis zu benötigen.
Da dieser Beweis jedoch über Hashes funktioniert, wäre es falsch zu sagen, dass er nur die Zustandsübergänge validiert. Im Gegenteil, der Beweis, der an den Block angehängt ist, muss mehrere Dinge gleichzeitig validieren:
Zustandsroot im vorherigen Block = S, Zustandsroot im nächsten Block = S + 1, Block-Hash = H
In der zuvor erwähnten Prover-Verifier-Analogie kann man im Allgemeinen sagen, dass es in der Regel ein rechnerisches Gleichgewicht zwischen den beiden Akteuren gibt. Während die Fähigkeit von Nachweisen, die benötigt werden, um das STF überprüfbar zu machen und gleichzeitig mehrere Dinge zu validieren, erhebliche Vorteile für den Verifier bietet, deutet dies auch darauf hin, dass es für den Prover relativ herausfordernd sein wird, solche Nachweise zu generieren, um die Ausführungskorrektur sicherzustellen. Mit der aktuellen Geschwindigkeit von Ethereum muss ein Ethereum-Block in weniger als 4 Sekunden nachgewiesen werden. Allerdings kann selbst der schnellste EVM Prover, den wir heute haben, im Durchschnitt nur einen Block in etwa 15 Sekunden nachweisen.[1]
Das gesagt, es gibt drei verschiedene Wege, die wir nehmen können, um diese große Herausforderung zu überwinden:
Während der Beweisgenerierung kann jedes kleine Stück des Ausführungsprozesses (z.B. Berechnungsschritte oder Datenzugriffe) einzeln nachgewiesen werden, und diese Nachweise können später in eine einzige Struktur aggregiert werden. Mit dem richtigen Mechanismus ermöglicht dieser Ansatz, dass die Beweise für einen Block schnell und dezentral von vielen verschiedenen Quellen (z.B. Hunderten von GPUs) generiert werden können. Dies steigert die Leistung und trägt gleichzeitig zum Ziel der Dezentralisierung bei, indem eine breitere Gruppe von Teilnehmern einbezogen wird.
Dieser Ansatz kann den Unterschied zwischen dem schlechtesten Fall und dem Durchschnittsfall minimieren und so eine konsistentere Leistung ermöglichen. Beispielsweise könnten Operationen, die schwerer zu beweisen sind, höhere Gaspreise haben, während solche, die einfacher zu beweisen sind, niedrigere Kosten haben könnten. Darüber hinaus könnte die Ersetzung der Datenstrukturen von Ethereum (wie dem Zustandsbaum oder der Transaktionsliste) durch STARK-freundliche Alternativen die Beweisprozesse weiter beschleunigen. Solche Änderungen würden Ethereum helfen, seine Skalierbarkeits- und Sicherheitsziele zu erreichen, während seine Verifizierbarkeitsvision realistischer wird.
Die Bemühungen von Ethereum, Ausführungsnachweise zu ermöglichen, stellen eine bedeutende Chance dar, ihre Verifizierungsziele zu erreichen. Das Erreichen dieses Ziels erfordert jedoch nicht nur technische Innovationen, sondern auch erhöhte Engineering-Anstrengungen und kritische Entscheidungen innerhalb der Gemeinschaft. Die Verifizierung von Ausführungsprozessen auf Layer 1 muss ein Gleichgewicht zwischen der Zugänglichkeit für eine breite Benutzerbasis und der Erhaltung der Dezentralisierung und der Ausrichtung an die bestehende Infrastruktur finden. Die Herstellung dieses Gleichgewichts erhöht die Komplexität der zur Beweisführung während der Ausführung verwendeten Methoden und unterstreicht die Notwendigkeit von Fortschritten wie der parallelen Beweisgenerierung. Darüber hinaus erhöht die Infrastrukturanforderungen dieser Technologien (z. B. Suchtabellen) muss implementiert und operationalisiert werden, was noch umfangreiche Forschung und Entwicklung erfordert.
Auf der anderen Seite weisen spezialisierte Schaltkreise (z.B. ASICs, FPGAs, GPUs), die speziell für bestimmte Aufgaben entwickelt wurden, ein erhebliches Potenzial zur Beschleunigung des Proof-Generierungsprozesses auf. Diese Lösungen bieten im Vergleich zur traditionellen Hardware eine wesentlich höhere Effizienz und können die Ausführungsprozesse beschleunigen. Die Dezentralisierungsziele von Ethereum auf Layer 1-Ebene verhindern jedoch, dass solche Hardware nur einer ausgewählten Gruppe von Akteuren zugänglich ist. Daher wird erwartet, dass diese Lösungen in Layer 2-Systemen häufiger verwendet werden. Dennoch muss die Community auch einen Konsens über die Hardware-Anforderungen für die Proof-Generierung finden. Eine wichtige Designfrage stellt sich: Sollte die Proof-Generierung auf Consumer-Hardware wie High-End-Laptops oder auf industrielle Infrastruktur angewiesen sein? Die Antwort prägt die gesamte Architektur von Ethereum und ermöglicht eine aggressive Optimierung für Layer 2-Lösungen, während für Layer 1 konservativere Ansätze erforderlich sind.
Die Implementierung von Ausführungsnachweisen ist eng mit anderen Zielen des Ethereum-Roadmaps verbunden. Die Einführung von Gültigkeitsnachweisen würde nicht nur Konzepte wie Zustandslosigkeit unterstützen, sondern auch die Dezentralisierung von Ethereum verbessern, indem Bereiche wie Solo-Staking zugänglicher gemacht werden. Das Ziel ist es, Staking sogar auf den leistungsschwächsten Geräten zu ermöglichen. Darüber hinaus könnten eine Neustrukturierung der Gasgebühren auf der EVM basierend auf rechnerischer Schwierigkeit und Nachweisbarkeit die Kluft zwischen Durchschnitts- und Worst-Case-Szenarien minimieren. Solche Änderungen könnten jedoch die Abwärtskompatibilität mit dem aktuellen System beeinträchtigen und Entwickler dazu zwingen, ihren Code neu zu schreiben. Aus diesem Grund ist die Implementierung von Ausführungsnachweisen nicht nur eine technische Herausforderung, sondern auch eine Reise, die darauf ausgerichtet sein muss, die langfristigen Werte von Ethereum aufrechtzuerhalten.
Ethereums Konsensmechanismus strebt danach, ein einzigartiges Gleichgewicht zu schaffen, das Dezentralisierung und Zugänglichkeit bewahrt, während gleichzeitig Verifizierungsziele erreicht werden. In diesem Rahmen bieten probabilistische und deterministische Konsensmethoden unterschiedliche Vorteile und Herausforderungen.
Das probabilistische Konsensmodell basiert auf einem Klatsch-Kommunikationsmodell. In diesem Modell teilt ein Knoten anstelle der direkten Kommunikation mit allen Knoten, die das Netzwerk repräsentieren, Informationen mit einem zufällig ausgewählten Satz von 64 oder 128 Knoten. Die Kettenauswahl eines Knotens basiert auf diesen begrenzten Informationen, was die Möglichkeit von Fehlern mit sich bringt. Im Laufe der Zeit werden sich diese Auswahl jedoch voraussichtlich mit einer Fehlerquote von 0% zum korrekten Blockkette hinbewegen, wenn die Blockkette fortschreitet.
Ein Vorteil der probabilistischen Struktur ist, dass jeder Knoten seine Kettenansicht nicht als separate Nachricht sendet, was die Kommunikationsüberlastung reduziert. Infolgedessen kann eine solche Struktur mit weit mehr permissionless, dezentralen Knoten mit geringeren Systemanforderungen arbeiten. Im Gegensatz dazu arbeitet der deterministische Konsens über ein Ein-zu-Alle-Kommunikationsmodell. Hier sendet ein Knoten seine Kettenansicht als Abstimmung an alle anderen Knoten. Dieser Ansatz erzeugt eine höhere Nachrichtenintensität, und mit zunehmender Anzahl von Knoten erreicht das System möglicherweise irgendwann seine Grenzen. Der größte Vorteil des deterministischen Konsenses besteht jedoch in der Verfügbarkeit konkreter Stimmen, die es Ihnen ermöglichen, genau zu wissen, welcher Knoten für welche Gabelung gestimmt hat. Dies gewährleistet eine schnelle und endgültige Kettenfinalität, wodurch sichergestellt wird, dass Blöcke nicht in ihrer Reihenfolge geändert werden können und sie überprüfbar sind.
Um einen überprüfbaren Konsensmechanismus zu gewährleisten und gleichzeitig Dezentralisierung und eine erlaubnisfreie Struktur zu erhalten, hat Ethereum einen Kompromiss zwischen Slots und Epochen gefunden. Slots stellen 12-Sekunden-Intervalle dar und sind die grundlegenden Einheiten, in denen ein Validator für die Produktion eines Blocks verantwortlich ist. Obwohl der probabilistische Konsens auf Slot-Ebene eine flexiblere und dezentralisierte Arbeitsweise der Chain ermöglicht, hat er Einschränkungen in Bezug auf die eindeutige Reihenfolge und Überprüfbarkeit.
Epochen, die 32 Slots umfassen, führen deterministischen Konsens ein. Auf dieser Ebene stimmen die Validatoren über die Finalisierung der Kettenreihenfolge ab, um Gewissheit zu gewährleisten und die Verifizierung der Kette zu ermöglichen. Allerdings kann diese deterministische Struktur, die durch konkrete Abstimmungen auf der Epochen-Ebene Verifizierbarkeit bietet, innerhalb der Epochen selbst keine vollständige Verifizierbarkeit bieten aufgrund der probabilistischen Struktur. Um diese Lücke zu schließen und die probabilistische Struktur innerhalb der Epochen zu stärken, hat Ethereum eine Lösung namens das Sync-Komitee entwickelt.
Das Sync-Komitee ist ein Mechanismus, der mit dem Altair-Upgrade eingeführt wurde, um die Einschränkungen des probabilistischen Konsenses von Ethereum zu überwinden und die Überprüfbarkeit der Kette für leichte Clients zu verbessern. Das Komitee besteht aus 512 zufällig ausgewählten Validatoren, die für 256 Epochen (~27 Stunden) dienen. Diese Validatoren erzeugen eine Signatur, die den Kopf der Kette repräsentiert, und ermöglichen es leichten Clients, die Gültigkeit der Kette zu überprüfen, ohne historische Ketten-Daten herunterladen zu müssen. Der Betrieb des Sync-Komitees kann wie folgt zusammengefasst werden:
Allerdings wurde das Sync-Komitee in einigen Bereichen kritisiert. Insbesondere fehlt es dem Protokoll an einem Mechanismus zum Kürzen von Validatoren bei bösartigem Verhalten, auch wenn die ausgewählten Validatoren absichtlich gegen das Protokoll handeln. Aus diesem Grund betrachten viele das Sync-Komitee als Sicherheitsrisiko und zögern, es vollständig als Light-Client-Protokoll zu klassifizieren. Dennoch wurde die Sicherheit des Sync-Komitees mathematisch bewiesen, und weitere Details finden sich in Dieser Artikel über Sync Committee-Slashings.
Das Fehlen eines Slashing-Mechanismus im Protokoll ist keine Designentscheidung, sondern eine Notwendigkeit, die sich aus der Natur des probabilistischen Konsenses ergibt. Der probabilistische Konsens bietet keine absoluten Garantien dafür, was ein Validator beobachtet. Selbst wenn die Mehrheit der Validator*innen eine bestimmte Gabelung als die schwerere meldet, können immer noch außergewöhnliche Validator*innen eine andere Gabelung als schwerer betrachten. Diese Unsicherheit erschwert den Nachweis böswilliger Absichten und macht es daher unmöglich, Fehlverhalten zu bestrafen.
In diesem Zusammenhang wäre es genauer, das Sync Committee als eine ineffiziente Lösung zu beschreiben, anstatt es als unsicher zu bezeichnen. Das Problem liegt nicht in der mechanischen Konstruktion oder dem Betrieb des Sync Committee, sondern in der inhärenten Natur des probabilistischen Konsenses. Da der probabilistische Konsens keine definitive Garantie dafür bieten kann, was Knoten beobachten, ist das Sync Committee eine der besten Lösungen, die innerhalb eines solchen Modells entwickelt werden können. Dies beseitigt jedoch nicht die Schwächen des probabilistischen Konsenses in Bezug auf die Gewährleistung der finalen Kette. Das Problem liegt nicht im Mechanismus, sondern in der aktuellen Konsensstruktur von Ethereum.
Aufgrund dieser Einschränkungen gibt es im Ethereum-Ökosystem laufende Bemühungen, den Konsensmechanismus neu zu gestalten und Lösungen zu implementieren, die deterministische Endgültigkeit in kürzeren Zeiträumen bieten. Vorschläge wie Orbit-SSFund3SFZiel ist es, die Konsensstruktur von Ethereum von Grund auf neu zu gestalten, um ein effektiveres System zur Ersetzung des Wahrscheinlichkeitskonsenses zu schaffen. Solche Ansätze zielen nicht nur darauf ab, die Endgültigkeitszeit der Kette zu verkürzen, sondern auch eine effizientere und überprüfbare Netzwerkstruktur bereitzustellen. Die Ethereum-Community setzt die aktive Entwicklung und Vorbereitung dieser Vorschläge für zukünftige Umsetzungen fort.
The Verge zielt darauf ab, die aktuellen und zukünftigen Konsensmechanismen von Ethereum zu verbessern, indem sie durch die zk-proof-Technologie verifizierbarer gemacht werden, anstatt sie vollständig zu ersetzen. Dieser Ansatz zielt darauf ab, die Konsensprozesse von Ethereum zu modernisieren, während seine Kernprinzipien der Dezentralisierung und Sicherheit erhalten bleiben. Die Optimierung aller historischen und aktuellen Konsensprozesse der Chain mit zk-Technologien spielt eine entscheidende Rolle bei der Erreichung der langfristigen Skalierbarkeits- und Effizienzziele von Ethereum. Die in der Konsensschicht von Ethereum verwendeten grundlegenden Operationen sind von großer Bedeutung bei dieser technologischen Transformation. Werfen wir einen genaueren Blick auf diese Operationen und die Herausforderungen, vor denen sie stehen.
Die in der aktuellen Konsensschicht verwendeten ECADD-, Pairing- und SHA256-Operationen spielen eine entscheidende Rolle bei den Verifizierungszielen von Ethereum. Ihre mangelnde zk-Freundlichkeit stellt jedoch erhebliche Herausforderungen auf dem Weg zur Erreichung dieser Ziele dar. ECADD-Operationen schaffen eine kostspielige Belastung aufgrund der hohen Anzahl von Validatorenstimmen, während Pairing-Operationen trotz ihrer geringeren Anzahl tausendmal teurer sind, um mit zk-Beweisen nachzuweisen. Darüber hinaus macht die zk-Unfreundlichkeit von SHA256-Hashfunktionen die Beweisführung des Zustandsübergangs der Beacon-Kette äußerst herausfordernd. Diese Probleme verdeutlichen die Notwendigkeit einer umfassenden Transformation, um die bestehende Infrastruktur von Ethereum mit Zero-Knowledge-Technologien in Einklang zu bringen.
Am 12. November 2024 stellte Justin Drake während seiner Präsentation auf der Devcon einen Vorschlag namens „Beam Chain“ vor, der darauf abzielt, die Konsensschicht von Ethereum grundlegend und umfassend zu transformieren. Die Beacon Chain bildet seit fast fünf Jahren das Herzstück des Ethereum-Netzwerks. In dieser Zeit gab es jedoch keine größeren strukturellen Veränderungen an der Beacon Chain. Im Gegensatz dazu haben sich die technologischen Fortschritte schnell entwickelt und die statische Natur der Beacon Chain weit übertroffen.
In seiner Präsentation betonte Justin Drake, dass Ethereum in den letzten fünf Jahren in wichtigen Bereichen wie dem Verständnis von MEV, Durchbrüchen in der SNARK-Technologie und dem retrospektiven Bewusstsein für technologische Fehler bedeutende Lektionen gelernt hat. Die auf diesen neuen Erkenntnissen basierenden Entwürfe sind in drei Hauptpfeiler unterteilt: Blockproduktion, Staking und Kryptographie. Die folgende Visualisierung fasst diese Entwürfe und die vorgeschlagene Roadmap zusammen:
In diesem Abschnitt haben wir die Consensus-, State- und Execution-Schritte von The Verge im Detail untersucht, und eines der herausragendsten Probleme, die während dieses Prozesses hervorgehoben wurden, ist die Verwendung der SHA256-Hashfunktion in Ethereums Beacon Chain. Während SHA256 eine zentrale Rolle bei der Gewährleistung der Sicherheit des Netzwerks und der Verarbeitung von Transaktionen spielt, stellt seine mangelnde zk-Freundlichkeit ein erhebliches Hindernis für die Erreichung der Verifizierungsziele von Ethereum dar. Seine hohe Rechenkosten und Inkompatibilität mit zk-Technologien machen es zu einem kritischen Problem, das in zukünftigen Entwicklungen von Ethereum angegangen werden muss.
Justin Drakes Roadmap, präsentiert während seines Devcon-Vortrags, sieht vor, SHA256 in der Beacon Chain durch zk-freundliche Hash-Funktionen wie Poseidon zu ersetzen. Dieser Vorschlag zielt darauf ab, die Konsensschicht von Ethereum zu modernisieren, um sie verifizierbarer, effizienter und besser mit zk-proof-Technologien abzustimmen.
In diesem Zusammenhang sehen wir, dass Ethereum nicht nur mit zk-unfreundlichen Hash-Funktionen konfrontiert ist, sondern auch die digitalen Signaturen in seiner Konsensschicht für langfristige Sicherheit neu bewerten muss. Mit dem Fortschritt der Quantencomputertechnologie könnten digitale Signaturalgorithmen wie ECDSA, die derzeit verwendet werden, erheblichen Bedrohungen ausgesetzt sein. Wie in den von NIST veröffentlichten Richtlinien festgestellt, werden Varianten von ECDSA mit einem Sicherheitsniveau von 112 Bit bis 2030 veraltet sein und bis 2035 vollständig verboten sein. Dies erfordert einen Übergang für Ethereum und ähnliche Netzwerke zu widerstandsfähigeren Alternativen wie quantensicheren Signaturen in Zukunft.
An diesem Punkt tauchen hashbasierte Signaturen als quantensichere Lösungen auf, die eine entscheidende Rolle bei der Unterstützung der Sicherheits- und Verifizierungsziele des Netzwerks spielen könnten. Die Lösung dieser Anforderung entfernt auch das zweite Hauptproblem bei der Herstellung der Beacon Chain verifizierbar: BLS-Signaturen. Einer der wichtigsten Schritte, die Ethereum unternehmen kann, um die Quantensicherheit zu gewährleisten, ist die Annahme von post-quanten Lösungen wie hashbasierten Signaturen und hashbasierten SNARKs.
Wie Justin Drake betont hat,seine Devcon-Präsentation, Hashfunktionen sind aufgrund ihrer Abhängigkeit von Pre-Image-Resistance inhärent resistent gegenüber Quantencomputern und gehören damit zu den grundlegenden Bausteinen der modernen Kryptographie. Diese Eigenschaft gewährleistet, dass selbst Quantencomputer den ursprünglichen Input nicht effizient aus einem gegebenen Hash rückwärts berechnen können und somit die Sicherheit erhalten bleibt. Hash-basierte Signatursysteme ermöglichen es Validatoren und Attestoren, Signaturen ausschließlich auf Basis von Hashfunktionen zu generieren, wodurch die Sicherheit nach dem Post-Quantum-Standard gewährleistet wird und gleichzeitig eine höhere Verifizierbarkeit im Netzwerk gewährleistet wird - insbesondere wenn eine SNARK-freundliche Hashfunktion verwendet wird. Dieser Ansatz verbessert nicht nur die Sicherheit des Netzwerks, sondern macht auch die langfristige Sicherheitsinfrastruktur von Ethereum robuster und zukunftssicher.
Dieses System basiert auf der Kombination von hashbasierten Signaturen und hashbasierten SNARKs (STARK-ähnlichen Beweisen), um aggregierbare Signaturschemata zu erstellen. Aggregierbare Signaturen komprimieren Tausende von Signaturen in eine einzige Struktur und reduzieren sie auf nur wenige hundert Kilobyte an Beweisen. Diese Komprimierung verringert die Datenlast im Netzwerk erheblich und beschleunigt die Verifizierungsprozesse erheblich. Zum Beispiel können die Tausende von Validator-Signaturen, die für einen einzigen Slot auf Ethereum erstellt werden, durch eine einzige aggregierte Signatur dargestellt werden, wodurch sowohl Speicherplatz als auch Rechenleistung gespart werden.
Allerdings ist das bemerkenswerteste Merkmal dieses Schemas seine unendlich rekursive Aggregation. Das heißt, eine Gruppe von Signaturen kann weiterhin unter einer anderen Gruppe kombiniert werden, und dieser Prozess kann über die Kette hinweg fortgesetzt werden. Mit diesem Mechanismus und unter Berücksichtigung zukünftiger technologischer Fortschritte kann man sagen, dass dies Möglichkeiten eröffnet, die derzeit mit BLS nicht erreichbar sind.
Der Weg von Ethereum zur Überprüfbarkeit stellt eine grundlegende Veränderung in der Blockchain-Technologie dar. Die Verge-Initiative behebt Kernineffizienzen durch Verkle-Bäume für die Zustandsüberprüfung und STARK-Proofs für skalierbare Übergänge.
Eines der ehrgeizigsten Projekte ist die Beam Chain, eine umfassende Neugestaltung der Konsensschicht von Ethereum. Durch die Bewältigung der Einschränkungen der Beacon Chain und die Integration von zk-freundlichen Alternativen zielt dieser Ansatz darauf ab, die Skalierbarkeit von Ethereum zu verbessern, während er seine Kernprinzipien der Dezentralisierung und Zugänglichkeit bewahrt. Die Transition verdeutlicht jedoch auch die Herausforderungen, denen sich Ethereum gegenübersieht, wenn es die Balance zwischen den Rechenaufgaben und dem Ziel, ein zugängliches und inklusives Netzwerk aufrechtzuerhalten, bewahren möchte.
Da das NIST plant, die derzeitige Elliptic Curve Cryptography bis 2035 auszuphasen, muss Ethereum quantensichere Lösungen wie hash-basierte Signaturen und Poseidon übernehmen. Diese Lösungen weisen ihre eigenen Effizienz-Kompromisse auf.
Die Verwendung von STARKs im Ethereum-Fahrplan betont die Skalierbarkeit und Überprüfbarkeit. Obwohl sie sich durch transparente und quantenresistente Beweise auszeichnen, führt ihre Integration zu Herausforderungen im Zusammenhang mit den rechnerseitigen Kosten des Beweisers und der Ineffizienz bei kleinen Datenmengen. Diese Hürden müssen angegangen werden, um die Vision von Ethereum für Zustandslosigkeit und effiziente Blockverifizierung vollständig zu verwirklichen und sicherzustellen, dass das Netzwerk robust bleibt angesichts der steigenden Nachfrage.
Trotz dieser Fortschritte bleiben wichtige Herausforderungen bestehen. Ethereum muss Probleme der zk-Freundlichkeit, der Skalierbarkeit des Konsenses und der Komplexität der Integration von quantenresistenter Kryptographie bewältigen. Darüber hinaus stellen die rückwärtskompatible Infrastruktur bestehende praktische Hürden dar, die sorgfältige technische Lösungen erfordern, um Störungen für Entwickler und Benutzer gleichermaßen zu verhindern.
Was Ethereum auszeichnet, sind nicht nur seine technischen Innovationen, sondern auch sein iterativer Ansatz zur Lösung einiger der schwierigsten Probleme in der Blockchain. Der Weg nach vorne – ob durch Technologien wie Beam Chain, Verkle Trees oder STARK-Proofs – hängt von einer gemeinsamen Anstrengung von Entwicklern, Forschern und der breiteren Gemeinschaft ab. Diese Fortschritte zielen nicht darauf ab, über Nacht Perfektion zu erreichen, sondern eine Grundlage für ein transparentes, dezentralisiertes und überprüfbares Internet zu schaffen.
Ethereums Entwicklung verdeutlicht seine Rolle als ein entscheidender Akteur bei der Gestaltung des Web3-Zeitalters. Indem Ethereum sich den heutigen Herausforderungen mit praktischen Lösungen stellt, rückt es einer Zukunft näher, in der Verifizierbarkeit, Quantenresistenz und Skalierbarkeit zum Standard und nicht zur Ausnahme werden.
Teilen
Nội dung
Web3’s Kernvorteil besteht in der Überprüfbarkeit - Benutzer können überprüfen, wie Systeme tatsächlich funktionieren. Diese Funktion erklärt, warum viele innerhalb und außerhalb der Kryptoindustrie Web3 als Schritt zu einem transparenteren und überprüfbaren Internet beschreiben.
Im Gegensatz zu Web2-Plattformen wie Facebook oder Instagram, bei denen Algorithmen und Regeln auch dann undurchsichtig bleiben, wenn sie dokumentiert sind, sind Kryptoprotokolle für vollständige Nachvollziehbarkeit ausgelegt. Selbst wenn sie geteilt werden, fehlt Ihnen die Möglichkeit, zu überprüfen, ob die Plattform wie angegeben funktioniert. Dies ist das Gegenteil von Krypto, bei dem jedes Protokoll so auditiert wie möglich gestaltet ist oder zumindest erwartet wird.
Heute werden wir „The Verge“ erkunden, einen Abschnitt aus Vitaliks kürzlich veröffentlichtem Werk.Sechsteilige Serie über die Zukunft von Ethereum, um die Schritte zu analysieren, die Ethereum in Richtung Erreichung von Überprüfbarkeit, Nachhaltigkeit und Skalierbarkeit in der Zukunft unternimmt. Unter der Überschrift „The Verge“ werden wir diskutieren, wie Blockchain-Architekturen überprüfbarer gemacht werden können, welche Innovationen diese Änderungen auf Protokollebene mit sich bringen und wie sie den Benutzern ein sichereres Ökosystem bieten. Fangen wir an!
Web2-Anwendungen funktionieren als „Black Boxes“ – Benutzer können nur ihre Eingaben und die resultierenden Ausgaben sehen, ohne Einblick in die tatsächliche Funktionsweise der Anwendung zu haben. Im Gegensatz dazu machen Kryptowährungsprotokolle in der Regel ihren Quellcode öffentlich verfügbar oder haben zumindest Pläne, dies zu tun. Diese Transparenz dient zwei Zwecken: Sie ermöglicht es den Benutzern, direkt mit dem Code des Protokolls zu interagieren, wenn sie dies wünschen, und hilft ihnen zu verstehen, wie das System genau funktioniert und welche Regeln es regieren.
„Dezentralisieren Sie, was Sie können, überprüfen Sie den Rest.“
Verifizierbarkeit stellt sicher, dass Systeme verantwortlich sind und in vielen Fällen garantiert, dass Protokolle wie beabsichtigt funktionieren. Dieses Prinzip betont die Bedeutung der Minimierung der Zentralisierung, da sie oft zu undurchsichtigen, nicht nachvollziehbaren Strukturen führt, in denen Benutzer Operationen nicht verifizieren können. Stattdessen sollten wir uns bemühen, so weit wie möglich zu dezentralisieren und die verbleibenden Elemente verifizierbar und verantwortlich zu machen, wo eine Dezentralisierung nicht möglich ist.
Die Ethereum-Community scheint sich dieser Perspektive anzuschließen, da die Roadmapumfasst einen Meilenstein (genannt “The Verge”), der darauf abzielt, Ethereum besser überprüfbar zu machen. Bevor wir uns jedoch mit The Verge befassen, müssen wir verstehen, welche Aspekte von Blockchains überprüft werden sollten und welche Teile aus Sicht der Benutzer entscheidend sind.
Blockchains funktionieren im Wesentlichen als globale Uhren. In einem verteilten Netzwerk mit rund 10.000 Computern kann es eine erhebliche Zeit dauern, bis eine Transaktion von dem Ursprungsknoten zu allen anderen Knoten weitergeleitet wird. Aus diesem Grund können Knoten im gesamten Netzwerk nicht die genaue Reihenfolge von Transaktionen bestimmen - ob eine vor oder nach einer anderen angekommen ist -, da sie nur ihre eigenen subjektiven Perspektiven haben.
Da die Reihenfolge der Transaktionen wichtig ist, verwenden Blockchain-Netzwerke spezialisierte Methoden, die als „KonsensalgorithmenUm sicherzustellen, dass die Knoten synchronisiert bleiben und Transaktionssequenzen in derselben Reihenfolge verarbeiten, verwenden Konsensmechanismen. Obwohl Knoten die Transaktionsreihenfolge global nicht bestimmen können, ermöglichen Konsensmechanismen allen Knoten, sich auf dieselbe Sequenz zu einigen, sodass das Netzwerk wie ein einzelner zusammenhängender Computer funktionieren kann.
Jenseits der Konsensschicht gibt es auch die Ausführungsschicht, die in jeder Blockchain existiert. Die Ausführungsschicht wird durch die Transaktionen geprägt, die Benutzer ausführen möchten.
Sobald Transaktionen erfolgreich durch Konsens angeordnet wurden, müssen diese auf der Ausführungsebene auf den aktuellen Zustand angewendet werden. Wenn Sie sich fragen, was der Zustand ist, haben Sie wahrscheinlich schon einmal Blockchain mit Datenbanken verglichen - genauer gesagt mit einer Bankdatenbank, da Blockchains wie Banken Aufzeichnungen über die Guthaben aller führen.
Wenn Sie $100 im Zustand haben, den wir „S“ nennen, und $10 an jemand anderen senden möchten, beträgt Ihr Guthaben im nächsten Zustand, „S+1“, $90. Dieser Prozess, bei dem Transaktionen angewendet werden, um von einem Zustand in einen anderen zu wechseln, wird als STF (State Transition Function) bezeichnet.
Bei Bitcoin ist das STF hauptsächlich auf Bilanzänderungen beschränkt, was es relativ einfach macht. Im Gegensatz zu Bitcoin ist das STF von Ethereum jedoch viel komplexer, da Ethereum eine vollständig programmierbare Blockchain mit einer Ausführungsebene ist, die in der Lage ist, Code auszuführen.
In einer Blockchain gibt es drei grundlegende Komponenten, die Sie benötigen oder überprüfen können:
Wenn dies verwirrend oder unklar erscheint, keine Sorge. Wir werden jeden dieser Aspekte im Detail durchgehen. Fangen wir damit an, wie man den Blockchain-Zustand überprüft!
Der „Zustand“ von Ethereum bezieht sich auf die Menge der Daten, die zu einem beliebigen Zeitpunkt in der Blockchain gespeichert sind. Dazu gehören Kontostände (Vertragskonten und extern kontrollierte Konten oder EOAs), Code von Smart Contracts, Vertragsspeicher und mehr. Ethereum ist eine zustandsbasierte Maschine, da Transaktionen, die in der Ethereum Virtual Machine (EVM) verarbeitet werden, den vorherigen Zustand verändern und einen neuen Zustand erzeugen.
Jeder Ethereum-Block enthält einen Wert, der den aktuellen Zustand des Netzwerks nach diesem Block zusammenfasst: den stateRoot. Dieser Wert ist eine kompakte Darstellung des gesamten Ethereum-Zustands und besteht aus einem 64-Zeichen-Hash.
Da jede neue Transaktion den Zustand ändert, wird der stateRoot, der im nachfolgenden Block aufgezeichnet ist, entsprechend aktualisiert. Zur Berechnung dieses Werts verwenden Ethereum-Validatoren eine Kombination aus der Keccak-Hash-Funktion und einer Datenstruktur namens die Merkle-Baumunterschiedliche Teile des Staates zu organisieren und zusammenzufassen.
Hashfunktionen sind Einwegfunktionen, die eine Eingabe in eine festgelegte Ausgabe mit fester Länge umwandeln. In Ethereum werden Hashfunktionen wie Keccakwerden verwendet, um Zusammenfassungen von Daten zu generieren und dienen als eine Art Fingerabdruck für die Eingabe. Hash-Funktionen haben vier grundlegende Eigenschaften:
Dank dieser Eigenschaften können Ethereum-Validatoren die STF (State Transition Function) für jeden Block ausführen - alle Transaktionen im Block ausführen und auf den Zustand anwenden - und dann überprüfen, ob der im Block angegebene Zustand dem nach der STF erhaltenen Zustand entspricht. Dieser Prozess stellt sicher, dass der Vorschlagende des Blocks ehrlich gehandelt hat und ist somit eine der wichtigsten Verantwortlichkeiten der Validatoren.
Allerdings hashen Ethereum-Validatoren den gesamten Zustand nicht direkt, um seine Zusammenfassung zu finden. Aufgrund der Einweg-Natur von Hashfunktionen würde das direkte Hashen des Zustands die Überprüfbarkeit beseitigen, da der einzige Weg, den Hash zu reproduzieren, darin bestünde, den gesamten Zustand zu besitzen.
Da der Zustand von Ethereum Terabyte groß ist, ist es unpraktisch, den gesamten Zustand auf alltäglichen Geräten wie Telefonen oder Personalcomputern zu speichern. Aus diesem Grund verwendet Ethereum eine Merkle-Baumstruktur, um den stateRoot zu berechnen und die Überprüfbarkeit des Zustands so weit wie möglich zu erhalten.
A Merkle-Baumist eine kryptografische Datenstruktur, die zur sicheren und effizienten Überprüfung der Integrität und Richtigkeit von Daten verwendet wird. Merkle-Bäume werden auf Hash-Funktionen aufgebaut und organisieren die Hashes eines Datensatzes hierarchisch, was die Überprüfung der Integrität und Richtigkeit dieser Daten ermöglicht. Diese Baumstruktur besteht aus drei Arten von Knoten:
Wenn Sie sich fragen, wie man einen solchen Baum konstruiert, sind nur zwei einfache Schritte erforderlich:
Der endgültige Hash, der oben im Baum erhalten wird, wird als Merkle-Wurzel bezeichnet. Die Merkle-Wurzel repräsentiert die kryptografische Zusammenfassung des gesamten Baums und ermöglicht eine sichere Überprüfung der Datenintegrität.
Merkle-Beweise ermöglichen es dem Überprüfer, spezifische Daten effizient zu validieren, indem sie eine Reihe von Hash-Werten bereitstellen, die einen Pfad von den Ziel-Daten (einem Blattknoten) bis zum im Blockheader gespeicherten Merkle-Wurzel bilden. Diese Kette von Zwischen-Hashes ermöglicht es dem Überprüfer, die Authentizität der Daten zu bestätigen, ohne den gesamten Zustand hashen zu müssen.
Ausgehend vom spezifischen Datenpunkt kombiniert der Verifier ihn mit jedem bereitgestellten „Geschwister“-Hash im Merkle-Beweis und hashet sie schrittweise den Baum hinauf. Dieser Prozess wird fortgesetzt, bis ein einzelner Hash erzeugt wird. Wenn dieser berechnete Hash mit dem gespeicherten Merkle-Root übereinstimmt, gilt die Daten als gültig. Andernfalls kann der Verifier feststellen, dass die Daten nicht dem behaupteten Zustand entsprechen.
Angenommen, wir haben Daten Nr. 4 von einem RPC empfangen und möchten seine Echtheit mithilfe eines Merkle-Beweises überprüfen. Dazu würde das RPC eine Reihe von Hash-Werten entlang des Pfads bereitstellen, die zum Erreichen der Merkle-Wurzel erforderlich sind. Für Daten 4 würden diese Geschwister-Hashes Hash Nr. 3, Hash Nr. 12 und Hash Nr. 5678 enthalten.
Wenn die berechnete Merkle-Wurzel mit der Zustandswurzel im Block übereinstimmt, bestätigen wir, dass Daten #4 tatsächlich innerhalb dieses Zustands gültig sind. Ist dies nicht der Fall, wissen wir, dass die Daten nicht zum beanspruchten Zustand gehören, was auf eine mögliche Manipulation hindeutet. Wie Sie sehen können, kann der Prover beweisen, dass Data #4 im Zustand existiert und während seiner Reise nicht verändert wurde, ohne die Hashes aller Daten bereitzustellen oder den Verifier zu benötigen, den gesamten Merkle-Baum von Grund auf neu zu rekonstruieren – mit nur drei Hashes. Dies ist der Hauptgrund, warum Merkle Proofs als effizient gelten.
Während Merkle Trees zweifellos effektiv sind, um eine sichere und effiziente Datenüberprüfung in großen Blockchain-Systemen wie Ethereum zu ermöglichen, sind sie wirklich effizient genug? Um diese Frage zu beantworten, müssen wir analysieren, wie sich die Leistung und Größe des Merkle-Baums auf die Prover-Verifier-Beziehung auswirkt.
Lassen Sie uns anhand eines Beispiels besser verstehen, wie sich dies auswirkt. Der Verzweigungsfaktor bestimmt, wie viele Zweige aus jedem Knoten im Baum entstehen.
Mit jedem neuen Transaktion, Vertrag oder Benutzerinteraktion, wächst die Ethereum-Blockchain und damit auch der Merkle-Baum. Dieses Wachstum erhöht nicht nur die Größe des Baums, sondern beeinflusst auch die Größe des Nachweises und die Verifikationszeit.
Zusammenfassend bieten Merkle-Bäume zwar eine gewisse Effizienz, aber sie sind keine optimale Lösung für den kontinuierlich wachsenden Datensatz von Ethereum. Aus diesem Grund zielt Ethereum während der The Verge-Phase darauf ab, Merkle-Bäume durch eine effizientere Struktur namensVerkle TreesVerkle-Bäume haben das Potenzial, kleinere Nachweisgrößen zu liefern, während sie das gleiche Sicherheitsniveau aufrechterhalten, was den Verifizierungsprozess für sowohl Beweiser als auch Verifizierer nachhaltiger und skalierbarer macht.
Verge wurde als Meilenstein in Ethereums Roadmap entwickelt, um die Verifizierbarkeit zu verbessern, die dezentrale Struktur der Blockchain zu stärken und die Netzwerksicherheit zu erhöhen. Eines der Hauptziele des Ethereum-Netzwerks ist es, es jedem zu ermöglichen, einfach einen Validator auszuführen, um die Kette zu überprüfen, und eine Struktur zu schaffen, in der die Beteiligung für alle ohne Zentralisierung offen ist. Die Zugänglichkeit dieses Verifizierungsprozesses ist eine der Hauptmerkmale, die Blockchains von zentralisierten Systemen unterscheidet. Während zentralisierte Systeme keine Verifizierungsmöglichkeiten bieten, liegt die Korrektheit einer Blockchain vollständig in den Händen ihrer Benutzer. Um jedoch diese Gewissheit aufrechtzuerhalten, muss die Ausführung eines Validators für alle zugänglich sein – eine Herausforderung, die im aktuellen System aufgrund von Speicher- und Rechenanforderungen begrenzt ist.
Seit der Umstellung auf ein Proof-of-Stake-Konsensmodell mit The Merge haben Ethereum-Validatoren zwei Hauptaufgaben gehabt:
Um die zweite Verantwortung zu erfüllen, müssen Validatoren Zugriff auf den Zustand vor dem Block haben. Dadurch können sie die Transaktionen des Blocks ausführen und den anschließenden Zustand ableiten. Diese Anforderung stellt jedoch eine hohe Belastung für die Validatoren dar, da sie mit erheblichen Speicheranforderungen umgehen müssen. Während Ethereum so konzipiert ist, dass es machbar ist und die Speicherkosten weltweit gesunken sind, geht es weniger um die Kosten und mehr um die Abhängigkeit von spezialisierter Hardware für die Validatoren. The Verge zielt darauf ab, diese Herausforderung zu bewältigen, indem eine Infrastruktur geschaffen wird, in der eine vollständige Überprüfung auch auf Geräten mit begrenztem Speicherplatz wie Mobiltelefonen, Browser-Geldbörsen und sogar Smartwatches durchgeführt werden kann, sodass Validatoren auf diesen Geräten ausgeführt werden können.
Die Umstellung auf Verkle Trees ist ein wesentlicher Bestandteil dieses Prozesses. Anfangs konzentrierte sich The Verge darauf, Ethereums Merkle-Tree-Strukturen durch Verkle Trees zu ersetzen. Der Hauptgrund für die Verwendung von Verkle Trees besteht darin, dass Merkle Trees ein erhebliches Hindernis für die Verifizierbarkeit von Ethereum darstellen. Während Merkle Trees und ihre Beweise in normalen Szenarien effizient funktionieren können, verschlechtert sich ihre Leistung drastisch in Worst-Case-Szenarien.
Laut Vitaliks Berechnungen beträgt die durchschnittliche Beweisgröße etwa 4 KB, was machbar klingt. In den schlimmsten Szenarien kann die Beweisgröße jedoch auf 330 MB anschwellen. Ja, Sie haben das richtig gelesen - 330 MB.
Die extreme Ineffizienz der Merkle-Bäume von Ethereum in den Worst-Case-Szenarien hat zwei Hauptgründe:
Die Beweisgröße steht direkt im Verhältnis zum Verzweigungsfaktor. Eine Verringerung des Verzweigungsfaktors verringert die Beweisgröße. Um diese Probleme anzugehen und die schlechtesten Szenarien zu verbessern, könnte Ethereum von Hexary Trees auf Binary Merkle Trees umsteigen und Vertragscodes merklisieren. Wenn der Verzweigungsfaktor in Ethereum von 16 auf 2 reduziert und auch Vertragscodes merklisiert werden, könnte die maximale Beweisgröße auf 10 MB schrumpfen. Obwohl dies eine bedeutende Verbesserung ist, ist es wichtig zu beachten, dass diese Kosten nur für die Überprüfung eines einzigen Datums gelten. Selbst eine einfache Transaktion, die auf mehrere Daten zugreift, würde größere Beweise erfordern. Angesichts der Anzahl von Transaktionen pro Block und dem ständig wachsenden Zustand von Ethereum ist diese Lösung, obwohl sie besser ist, immer noch nicht ganz realisierbar.
Aus diesen Gründen hat die Ethereum-Community zwei unterschiedliche Lösungen vorgeschlagen, um das Problem anzugehen:
Verkle-Bäume sind, wie der Name schon sagt, baumartige Strukturen, die Merkle-Bäumen ähneln. Der wesentliche Unterschied liegt jedoch in der Effizienz, die sie bei Verifizierungsprozessen bieten. Bei Merkle-Bäumen muss, wenn ein Zweig 16 Datenstücke enthält und wir nur eines davon überprüfen möchten, auch eine Hash-Kette, die die anderen 15 Stücke abdeckt, bereitgestellt werden. Dies erhöht die Berechnungsbelastung der Verifizierung erheblich und führt zu großen Nachweisgrößen.
Im Gegensatz dazu verwenden Verkle-Bäume eine spezialisierte Struktur, die als „Elliptic Curve-based Vector Commitments“ bekannt ist, genauer gesagt ein Inner Product Argument (IPA)-basiertes Vektor-Commitment. Ein Vektor ist im Wesentlichen eine Liste von Datenelementen, die in einer spezifischen Sequenz organisiert sind. Der Zustand von Ethereum kann als Vektor betrachtet werden: eine Struktur, in der zahlreiche Datenstücke in einer bestimmten Reihenfolge gespeichert sind, wobei jedes Element entscheidend ist. Dieser Zustand umfasst verschiedene Datenkomponenten wie Adressen, Vertragscodes und Speicherinformationen, wobei die Reihenfolge dieser Elemente eine wichtige Rolle bei Zugriff und Überprüfung spielt.
Vektorverpflichtungen sind kryptografische Methoden, die zur Beweisführung und Überprüfung von Datenelementen in einem Datensatz verwendet werden. Diese Methoden ermöglichen die Überprüfung sowohl der Existenz als auch der Reihenfolge jedes Elements in einem Datensatz gleichzeitig. Beispielsweise können Merkle-Beweise, die in Merkle-Bäumen verwendet werden, auch als eine Form von Vektorverpflichtung betrachtet werden. Während Merkle-Bäume alle relevanten Hash-Ketten zur Überprüfung eines Elements erfordern, beweist die Struktur inhärent, dass alle Elemente eines Vektors in einer bestimmten Reihenfolge miteinander verbunden sind.
Im Gegensatz zu Merkle Trees verwenden Verkle Trees elliptische Kurven basierte Vektorverpflichtungen, die zwei wesentliche Vorteile bieten:
Diese Funktionen der elliptischen Kurven-basierten Vektorverpflichtungen reduzieren signifikant die Menge an Daten, die für die Überprüfung benötigt wird, und ermöglichen es Verkle Trees, auch in Worst-Case-Szenarien kleine, konstante Beweise zu liefern. Dies minimiert den Datenoverhead und die Überprüfungszeiten und verbessert die Effizienz von groß angelegten Netzwerken wie Ethereum. Die Verwendung von elliptischen Kurven-basierten Vektorverpflichtungen in Verkle Trees ermöglicht somit eine einfachere und effizientere Verwaltung des sich ausdehnenden Zustands von Ethereum.
Wie alle Innovationen haben Verkle-Bäume ihre Grenzen. Einer ihrer Hauptnachteile ist, dass sie auf elliptische Kurvenkryptographie angewiesen sind, die anfällig für Quantencomputer ist. Quantencomputer besitzen eine weit größere Rechenleistung als klassische Methoden und stellen eine erhebliche Bedrohung für elliptische Kurven-basierte kryptographische Protokolle dar. Quantenalgorithmen könnten diese kryptografischen Systeme potenziell brechen oder schwächen, was Bedenken hinsichtlich der langfristigen Sicherheit von Verkle-Bäumen aufwirft.
Aus diesem Grund bieten Verkle Trees zwar eine vielversprechende Lösung für die Staatenlosigkeit, sind aber nicht die ultimative Lösung. Dennoch haben Personen wie Dankrad Feist betont, dass bei der Integration quantenresistenter Kryptographie in Ethereum eine sorgfältige Abwägung erforderlich ist. Es ist jedoch erwähnenswert, dass die KZG-Verpflichtungen, die derzeit für Blobs in Ethereum verwendet werden, ebenfalls nicht quantenresistent sind. Somit können Verkle Trees als Übergangslösung dienen und dem Netzwerk zusätzliche Zeit geben, um robustere Alternativen zu entwickeln.
Verkle Trees bieten im Vergleich zu Merkle Trees kleinere Beweisgrößen und effiziente Verifizierungsprozesse, was es einfacher macht, den immer weiter wachsenden Zustand von Ethereum zu verwalten. Dank elliptisch-kurvebasierten Vektor-Verpflichtungen können groß angelegte Beweise mit wesentlich weniger Daten generiert werden. Trotz ihrer beeindruckenden Vorteile sind Verkle Trees jedoch anfällig für Quantencomputer und daher nur eine vorübergehende Lösung. Während die Ethereum-Community Verkle Trees als kurzfristiges Werkzeug betrachtet, um Zeit zu gewinnen, liegt der langfristige Fokus auf dem Übergang zu quantenresistenten Lösungen. Hier bieten STARK Proofs und Binary Merkle Trees eine starke Alternative für den Aufbau einer robusteren Verifizierungsinfrastruktur für die Zukunft.
Im Ethereum-Statusüberprüfungsprozess kann der Verzweigungsfaktor von Merkle-Bäumen (von 16 auf 2) durch die Verwendung von binären Merkle-Bäumen reduziert werden. Diese Änderung ist ein wichtiger Schritt, um die Größe der Nachweise zu reduzieren und die Überprüfungsprozesse effizienter zu gestalten. In extremen Fällen können die Beweisgrößen jedoch immer noch 10 MB erreichen, was erheblich ist. Hier kommen STARK-Beweise ins Spiel, die diese großen binären Merkle-Beweise auf nur 100-300 kB komprimieren.
Diese Optimierung ist besonders wichtig, wenn man die Beschränkungen beim Betrieb von Validatoren auf Leichtgewichtsclients oder Geräten mit begrenzter Hardware in Betracht zieht, insbesondere wenn man berücksichtigt, dass die durchschnittlichen globalen mobilen Download- und Upload-Geschwindigkeiten etwa 7,625 MB/s bzw. 1,5 MB/s betragen. Benutzer können Transaktionen mit kleinen, tragbaren Nachweisen verifizieren, ohne auf den vollständigen Zustand zugreifen zu müssen, und Validatoren können Blockverifizierungsaufgaben ohne Speicherung des gesamten Zustands durchführen.
Dieser Dual-Benefit-Ansatz reduziert sowohl den Bandbreiten- als auch den Speicherbedarf für Validatoren, beschleunigt gleichzeitig die Überprüfung und führt zu drei wichtigen Verbesserungen, die die Vision von Ethereum für Skalierbarkeit direkt unterstützen.
Während STARK-Beweise bei der Verarbeitung großer Datensätze hervorragend sind, sind sie weniger effizient, wenn es darum geht, kleine Datenmengen nachzuweisen, was ihre Anwendung in bestimmten Szenarien behindern kann. Bei der Arbeit mit Programmen, die kleinere Schritte oder Datensätze beinhalten, kann die relativ große Beweisgröße von STARKs sie weniger praktisch oder kostengünstig machen.
Ein Block-Merkle-Beweis kann etwa 330.000 Hashes enthalten, und in Extremfällen kann diese Zahl auf 660.000 steigen. In solchen Fällen müsste ein STARK-Beweis etwa 200.000 Hashes pro Sekunde verarbeiten.
Hier kommen zk-freundliche Hash-Funktionen wie Poseidon ins Spiel, die speziell für STARK-Beweise optimiert sind, um diese Last zu reduzieren. Poseidon ist so konzipiert, dass es im Vergleich zu traditionellen Hash-Algorithmen wie SHA256 und Keccak reibungsloser mit ZK-Proofs zusammenarbeitet. Der Hauptgrund für diese Kompatibilität liegt darin, wie traditionelle Hash-Algorithmen arbeiten: Sie verarbeiten Eingaben als binäre Daten (0 und 1). Auf der anderen Seite arbeiten ZK-Proofs mit Primfeldern, mathematischen Strukturen, die grundlegend anders sind. Diese Situation ist analog dazu, dass Computer im Binärsystem arbeiten, während Menschen im täglichen Leben ein dezimales System verwenden. Die Umwandlung von bitbasierten Daten in ZK-kompatible Formate erfordert erheblichen Rechenaufwand. Poseidon löst dieses Problem, indem es nativ in Primfeldern arbeitet und seine Integration mit ZK-Beweisen dramatisch beschleunigt.
Allerdings erfordert Poseidon aufgrund seiner relativen Neuheit als Hash-Funktion eine umfangreichere Sicherheitsanalyse, um das gleiche Vertrauensniveau wie traditionelle Hash-Funktionen wie SHA256 und Keccak zu gewährleisten. Zu diesem Zweck gibt es Initiativen wie die Poseidon Kryptanalyse-Initiativevom Ethereum Foundation gestartet, laden Experten dazu ein, Poseidons Sicherheit rigoros zu testen und zu analysieren, um sicherzustellen, dass es adversarischen Prüfungen standhalten kann und zu einem robusten Standard für kryptografische Anwendungen wird. Auf der anderen Seite wurden ältere Funktionen wie SHA256 und Keccak bereits umfangreich getestet und haben eine nachgewiesene Sicherheitsbilanz, sind jedoch nicht ZK-freundlich, was zu Leistungseinbußen führt, wenn sie mit STARK-Beweisen verwendet werden.
Beispielsweise können STARK-Nachweise mit diesen traditionellen Hash-Funktionen derzeit nur 10.000 bis 30.000 Hashes verarbeiten. Glücklicherweise deuten Fortschritte in der STARK-Technologie darauf hin, dass sich diese Durchsatzrate bald auf 100.000 bis 200.000 Hashes erhöhen könnte, was ihre Effizienz erheblich verbessern würde.
Während STARK-Beweise in Bezug auf Skalierbarkeit und Transparenz für große Datensätze hervorragend sind, zeigen sie Einschränkungen, wenn es um die Arbeit mit kleinen und zahlreichen Datenelementen geht. In diesen Szenarien ist die zu beweisende Datenmenge oft klein, aber der Bedarf an mehreren Beweisen bleibt unverändert. Beispiele sind:
In solchen Anwendungsfällen bieten STARK-Nachweise nur wenig Vorteile. STARKs, die Skalierbarkeit betonen (wie durch das „S“ in ihrem Namen hervorgehoben), funktionieren gut für große Datensätze, haben jedoch Probleme mit kleinen Datenszenarien. Im Gegensatz dazu sind SNARKs, die auf Kürze ausgelegt sind (wie durch das „S“ in ihrem Namen betont), darauf ausgerichtet, die Größe des Nachweises zu minimieren und bieten klare Vorteile in Umgebungen mit Bandbreiten- oder Speicherbeschränkungen.
STARK-Beweise sind in der Regel 40-50 KB groß, was etwa 175 Mal größer ist als SNARK-Beweise, die nur 288 Bytes groß sind. Dieser Größenunterschied erhöht sowohl die Überprüfungszeit als auch die Netzwerkkosten. Der Hauptgrund für die größeren STARK-Beweise liegt in ihrer Abhängigkeit von Transparenz und Polynomverpflichtungen, um Skalierbarkeit sicherzustellen, was in kleinen Datenszenarien zu Leistungseinbußen führt. In solchen Fällen können schnellere und platzsparendere Methoden wie Merkle-Beweise praktischer sein. Merkle-Beweise bieten geringe Rechenkosten und schnelle Updates, wodurch sie für diese Situationen geeignet sind.
Dennoch bleiben STARK-Beweise aufgrund ihrer quantensicheren Eigenschaften entscheidend für die zustandslose Zukunft von Ethereum.
Algorithmus | Beweisgröße | Sicherheit Annahmen | Worst-Case Prover-Latenz |
Verkle-Bäume | ~100 - 2,000 kB | Elliptische Kurve (nicht quantenresistent) | |
STARK + Konservative Hash-Funktionen | ~100 - 300 kB | Konservative Hash-Funktionen | > 10s |
STARK + Relatively neue Hashfunktionen | ~100 - 300 kB | Relativ neue und weniger getestete Hash-Funktionen | 1-2s |
Gitterbasierte Merkle-Bäume | Verkle Trees > x > STARKs | Ring Short-Integer-Solution (RSIS) Problem | - |
Wie in der Tabelle zusammengefasst, hat Ethereum vier potenzielle Pfade zur Auswahl:
Dennoch ist es wichtig zu beachten, dass Verkle-Bäume aufgrund ihrer Unabhängigkeit von Hashing wesentlich überzeugender sind als Merkle-Bäume.
Alles, was wir bisher besprochen haben, dreht sich darum, die Notwendigkeit für Validatoren zu entfernen, den vorherigen Zustand zu speichern, den sie verwenden, um vom einen Zustand zum nächsten zu wechseln. Das Ziel ist es, eine dezentralere Umgebung zu schaffen, in der Validatoren ihre Aufgaben ohne die Aufbewahrung von Terabytes von Zustandsdaten ausführen können. Selbst mit den genannten Lösungen müssten Validatoren nicht den gesamten Zustand speichern, da sie alle für die Ausführung erforderlichen Daten durch Zeugen erhalten würden, die mit dem Block mitgeliefert werden. Um jedoch zum nächsten Zustand überzugehen und damit den stateRoot auf dem Block zu verifizieren, müssen Validatoren immer noch die STF selbst ausführen. Diese Anforderung stellt wiederum eine weitere Herausforderung für die permissionless Natur und Dezentralisierung von Ethereum dar.
Ursprünglich wurde The Verge als Meilenstein konzipiert, der sich ausschließlich auf den Übergang des Ethereum-Zustandsbaums von Merkle-Bäumen zu Verkle-Bäumen konzentrierte, um die Zustandsüberprüfbarkeit zu verbessern. Im Laufe der Zeit hat es sich jedoch zu einer breiteren Initiative entwickelt, die darauf abzielt, die Überprüfbarkeit von Zustandsübergängen und Konsens zu verbessern. In einer Welt, in der das Trio aus Zustand, Ausführung und Konsens vollständig überprüfbar ist, könnten Ethereum-Validatoren auf praktisch jedem Gerät mit Internetverbindung arbeiten, das als Leichtclient kategorisiert werden kann. Dies würde Ethereum näher an die Verwirklichung seiner Vision von „wahrer Dezentralisierung“ bringen.
Wie bereits erwähnt, führen Validatoren alle 12 Sekunden eine Funktion namens STF (State Transition Function) aus. Diese Funktion nimmt den vorherigen Zustand und einen Block als Eingabe und erzeugt den nächsten Zustand als Ausgabe. Validatoren müssen diese Funktion jedes Mal ausführen, wenn ein neuer Block vorgeschlagen wird, und überprüfen, ob der Hash, der den Zustand oben auf dem Block repräsentiert - allgemein als State Root bezeichnet - korrekt ist.
Die hohen Systemanforderungen für die Validierung resultieren hauptsächlich aus der Notwendigkeit, diesen Prozess effizient durchzuführen.
Wenn Sie einen Smart-Kühlschrank - ja, sogar einen Kühlschrank - mithilfe von installierter Software in einen Ethereum-Validierer verwandeln möchten, stehen Sie vor zwei großen Hindernissen:
Um die Probleme zu lösen, die durch Light Clients verursacht werden, die keinen Zugriff auf den vorherigen Zustand oder den gesamten letzten Block haben, schlägt The Verge vor, dass der Vorschlagende die Ausführung durchführen und dann einen Beweis an den Block anhängen sollte. Dieser Beweis würde den Übergang vom vorherigen Zustands-Root zum nächsten Zustands-Root sowie den Hash des Blocks enthalten. Mithilfe von nur drei 32-Byte-Hashes können Light Clients den Zustandsübergang validieren, ohne einen zk-Beweis zu benötigen.
Da dieser Beweis jedoch über Hashes funktioniert, wäre es falsch zu sagen, dass er nur die Zustandsübergänge validiert. Im Gegenteil, der Beweis, der an den Block angehängt ist, muss mehrere Dinge gleichzeitig validieren:
Zustandsroot im vorherigen Block = S, Zustandsroot im nächsten Block = S + 1, Block-Hash = H
In der zuvor erwähnten Prover-Verifier-Analogie kann man im Allgemeinen sagen, dass es in der Regel ein rechnerisches Gleichgewicht zwischen den beiden Akteuren gibt. Während die Fähigkeit von Nachweisen, die benötigt werden, um das STF überprüfbar zu machen und gleichzeitig mehrere Dinge zu validieren, erhebliche Vorteile für den Verifier bietet, deutet dies auch darauf hin, dass es für den Prover relativ herausfordernd sein wird, solche Nachweise zu generieren, um die Ausführungskorrektur sicherzustellen. Mit der aktuellen Geschwindigkeit von Ethereum muss ein Ethereum-Block in weniger als 4 Sekunden nachgewiesen werden. Allerdings kann selbst der schnellste EVM Prover, den wir heute haben, im Durchschnitt nur einen Block in etwa 15 Sekunden nachweisen.[1]
Das gesagt, es gibt drei verschiedene Wege, die wir nehmen können, um diese große Herausforderung zu überwinden:
Während der Beweisgenerierung kann jedes kleine Stück des Ausführungsprozesses (z.B. Berechnungsschritte oder Datenzugriffe) einzeln nachgewiesen werden, und diese Nachweise können später in eine einzige Struktur aggregiert werden. Mit dem richtigen Mechanismus ermöglicht dieser Ansatz, dass die Beweise für einen Block schnell und dezentral von vielen verschiedenen Quellen (z.B. Hunderten von GPUs) generiert werden können. Dies steigert die Leistung und trägt gleichzeitig zum Ziel der Dezentralisierung bei, indem eine breitere Gruppe von Teilnehmern einbezogen wird.
Dieser Ansatz kann den Unterschied zwischen dem schlechtesten Fall und dem Durchschnittsfall minimieren und so eine konsistentere Leistung ermöglichen. Beispielsweise könnten Operationen, die schwerer zu beweisen sind, höhere Gaspreise haben, während solche, die einfacher zu beweisen sind, niedrigere Kosten haben könnten. Darüber hinaus könnte die Ersetzung der Datenstrukturen von Ethereum (wie dem Zustandsbaum oder der Transaktionsliste) durch STARK-freundliche Alternativen die Beweisprozesse weiter beschleunigen. Solche Änderungen würden Ethereum helfen, seine Skalierbarkeits- und Sicherheitsziele zu erreichen, während seine Verifizierbarkeitsvision realistischer wird.
Die Bemühungen von Ethereum, Ausführungsnachweise zu ermöglichen, stellen eine bedeutende Chance dar, ihre Verifizierungsziele zu erreichen. Das Erreichen dieses Ziels erfordert jedoch nicht nur technische Innovationen, sondern auch erhöhte Engineering-Anstrengungen und kritische Entscheidungen innerhalb der Gemeinschaft. Die Verifizierung von Ausführungsprozessen auf Layer 1 muss ein Gleichgewicht zwischen der Zugänglichkeit für eine breite Benutzerbasis und der Erhaltung der Dezentralisierung und der Ausrichtung an die bestehende Infrastruktur finden. Die Herstellung dieses Gleichgewichts erhöht die Komplexität der zur Beweisführung während der Ausführung verwendeten Methoden und unterstreicht die Notwendigkeit von Fortschritten wie der parallelen Beweisgenerierung. Darüber hinaus erhöht die Infrastrukturanforderungen dieser Technologien (z. B. Suchtabellen) muss implementiert und operationalisiert werden, was noch umfangreiche Forschung und Entwicklung erfordert.
Auf der anderen Seite weisen spezialisierte Schaltkreise (z.B. ASICs, FPGAs, GPUs), die speziell für bestimmte Aufgaben entwickelt wurden, ein erhebliches Potenzial zur Beschleunigung des Proof-Generierungsprozesses auf. Diese Lösungen bieten im Vergleich zur traditionellen Hardware eine wesentlich höhere Effizienz und können die Ausführungsprozesse beschleunigen. Die Dezentralisierungsziele von Ethereum auf Layer 1-Ebene verhindern jedoch, dass solche Hardware nur einer ausgewählten Gruppe von Akteuren zugänglich ist. Daher wird erwartet, dass diese Lösungen in Layer 2-Systemen häufiger verwendet werden. Dennoch muss die Community auch einen Konsens über die Hardware-Anforderungen für die Proof-Generierung finden. Eine wichtige Designfrage stellt sich: Sollte die Proof-Generierung auf Consumer-Hardware wie High-End-Laptops oder auf industrielle Infrastruktur angewiesen sein? Die Antwort prägt die gesamte Architektur von Ethereum und ermöglicht eine aggressive Optimierung für Layer 2-Lösungen, während für Layer 1 konservativere Ansätze erforderlich sind.
Die Implementierung von Ausführungsnachweisen ist eng mit anderen Zielen des Ethereum-Roadmaps verbunden. Die Einführung von Gültigkeitsnachweisen würde nicht nur Konzepte wie Zustandslosigkeit unterstützen, sondern auch die Dezentralisierung von Ethereum verbessern, indem Bereiche wie Solo-Staking zugänglicher gemacht werden. Das Ziel ist es, Staking sogar auf den leistungsschwächsten Geräten zu ermöglichen. Darüber hinaus könnten eine Neustrukturierung der Gasgebühren auf der EVM basierend auf rechnerischer Schwierigkeit und Nachweisbarkeit die Kluft zwischen Durchschnitts- und Worst-Case-Szenarien minimieren. Solche Änderungen könnten jedoch die Abwärtskompatibilität mit dem aktuellen System beeinträchtigen und Entwickler dazu zwingen, ihren Code neu zu schreiben. Aus diesem Grund ist die Implementierung von Ausführungsnachweisen nicht nur eine technische Herausforderung, sondern auch eine Reise, die darauf ausgerichtet sein muss, die langfristigen Werte von Ethereum aufrechtzuerhalten.
Ethereums Konsensmechanismus strebt danach, ein einzigartiges Gleichgewicht zu schaffen, das Dezentralisierung und Zugänglichkeit bewahrt, während gleichzeitig Verifizierungsziele erreicht werden. In diesem Rahmen bieten probabilistische und deterministische Konsensmethoden unterschiedliche Vorteile und Herausforderungen.
Das probabilistische Konsensmodell basiert auf einem Klatsch-Kommunikationsmodell. In diesem Modell teilt ein Knoten anstelle der direkten Kommunikation mit allen Knoten, die das Netzwerk repräsentieren, Informationen mit einem zufällig ausgewählten Satz von 64 oder 128 Knoten. Die Kettenauswahl eines Knotens basiert auf diesen begrenzten Informationen, was die Möglichkeit von Fehlern mit sich bringt. Im Laufe der Zeit werden sich diese Auswahl jedoch voraussichtlich mit einer Fehlerquote von 0% zum korrekten Blockkette hinbewegen, wenn die Blockkette fortschreitet.
Ein Vorteil der probabilistischen Struktur ist, dass jeder Knoten seine Kettenansicht nicht als separate Nachricht sendet, was die Kommunikationsüberlastung reduziert. Infolgedessen kann eine solche Struktur mit weit mehr permissionless, dezentralen Knoten mit geringeren Systemanforderungen arbeiten. Im Gegensatz dazu arbeitet der deterministische Konsens über ein Ein-zu-Alle-Kommunikationsmodell. Hier sendet ein Knoten seine Kettenansicht als Abstimmung an alle anderen Knoten. Dieser Ansatz erzeugt eine höhere Nachrichtenintensität, und mit zunehmender Anzahl von Knoten erreicht das System möglicherweise irgendwann seine Grenzen. Der größte Vorteil des deterministischen Konsenses besteht jedoch in der Verfügbarkeit konkreter Stimmen, die es Ihnen ermöglichen, genau zu wissen, welcher Knoten für welche Gabelung gestimmt hat. Dies gewährleistet eine schnelle und endgültige Kettenfinalität, wodurch sichergestellt wird, dass Blöcke nicht in ihrer Reihenfolge geändert werden können und sie überprüfbar sind.
Um einen überprüfbaren Konsensmechanismus zu gewährleisten und gleichzeitig Dezentralisierung und eine erlaubnisfreie Struktur zu erhalten, hat Ethereum einen Kompromiss zwischen Slots und Epochen gefunden. Slots stellen 12-Sekunden-Intervalle dar und sind die grundlegenden Einheiten, in denen ein Validator für die Produktion eines Blocks verantwortlich ist. Obwohl der probabilistische Konsens auf Slot-Ebene eine flexiblere und dezentralisierte Arbeitsweise der Chain ermöglicht, hat er Einschränkungen in Bezug auf die eindeutige Reihenfolge und Überprüfbarkeit.
Epochen, die 32 Slots umfassen, führen deterministischen Konsens ein. Auf dieser Ebene stimmen die Validatoren über die Finalisierung der Kettenreihenfolge ab, um Gewissheit zu gewährleisten und die Verifizierung der Kette zu ermöglichen. Allerdings kann diese deterministische Struktur, die durch konkrete Abstimmungen auf der Epochen-Ebene Verifizierbarkeit bietet, innerhalb der Epochen selbst keine vollständige Verifizierbarkeit bieten aufgrund der probabilistischen Struktur. Um diese Lücke zu schließen und die probabilistische Struktur innerhalb der Epochen zu stärken, hat Ethereum eine Lösung namens das Sync-Komitee entwickelt.
Das Sync-Komitee ist ein Mechanismus, der mit dem Altair-Upgrade eingeführt wurde, um die Einschränkungen des probabilistischen Konsenses von Ethereum zu überwinden und die Überprüfbarkeit der Kette für leichte Clients zu verbessern. Das Komitee besteht aus 512 zufällig ausgewählten Validatoren, die für 256 Epochen (~27 Stunden) dienen. Diese Validatoren erzeugen eine Signatur, die den Kopf der Kette repräsentiert, und ermöglichen es leichten Clients, die Gültigkeit der Kette zu überprüfen, ohne historische Ketten-Daten herunterladen zu müssen. Der Betrieb des Sync-Komitees kann wie folgt zusammengefasst werden:
Allerdings wurde das Sync-Komitee in einigen Bereichen kritisiert. Insbesondere fehlt es dem Protokoll an einem Mechanismus zum Kürzen von Validatoren bei bösartigem Verhalten, auch wenn die ausgewählten Validatoren absichtlich gegen das Protokoll handeln. Aus diesem Grund betrachten viele das Sync-Komitee als Sicherheitsrisiko und zögern, es vollständig als Light-Client-Protokoll zu klassifizieren. Dennoch wurde die Sicherheit des Sync-Komitees mathematisch bewiesen, und weitere Details finden sich in Dieser Artikel über Sync Committee-Slashings.
Das Fehlen eines Slashing-Mechanismus im Protokoll ist keine Designentscheidung, sondern eine Notwendigkeit, die sich aus der Natur des probabilistischen Konsenses ergibt. Der probabilistische Konsens bietet keine absoluten Garantien dafür, was ein Validator beobachtet. Selbst wenn die Mehrheit der Validator*innen eine bestimmte Gabelung als die schwerere meldet, können immer noch außergewöhnliche Validator*innen eine andere Gabelung als schwerer betrachten. Diese Unsicherheit erschwert den Nachweis böswilliger Absichten und macht es daher unmöglich, Fehlverhalten zu bestrafen.
In diesem Zusammenhang wäre es genauer, das Sync Committee als eine ineffiziente Lösung zu beschreiben, anstatt es als unsicher zu bezeichnen. Das Problem liegt nicht in der mechanischen Konstruktion oder dem Betrieb des Sync Committee, sondern in der inhärenten Natur des probabilistischen Konsenses. Da der probabilistische Konsens keine definitive Garantie dafür bieten kann, was Knoten beobachten, ist das Sync Committee eine der besten Lösungen, die innerhalb eines solchen Modells entwickelt werden können. Dies beseitigt jedoch nicht die Schwächen des probabilistischen Konsenses in Bezug auf die Gewährleistung der finalen Kette. Das Problem liegt nicht im Mechanismus, sondern in der aktuellen Konsensstruktur von Ethereum.
Aufgrund dieser Einschränkungen gibt es im Ethereum-Ökosystem laufende Bemühungen, den Konsensmechanismus neu zu gestalten und Lösungen zu implementieren, die deterministische Endgültigkeit in kürzeren Zeiträumen bieten. Vorschläge wie Orbit-SSFund3SFZiel ist es, die Konsensstruktur von Ethereum von Grund auf neu zu gestalten, um ein effektiveres System zur Ersetzung des Wahrscheinlichkeitskonsenses zu schaffen. Solche Ansätze zielen nicht nur darauf ab, die Endgültigkeitszeit der Kette zu verkürzen, sondern auch eine effizientere und überprüfbare Netzwerkstruktur bereitzustellen. Die Ethereum-Community setzt die aktive Entwicklung und Vorbereitung dieser Vorschläge für zukünftige Umsetzungen fort.
The Verge zielt darauf ab, die aktuellen und zukünftigen Konsensmechanismen von Ethereum zu verbessern, indem sie durch die zk-proof-Technologie verifizierbarer gemacht werden, anstatt sie vollständig zu ersetzen. Dieser Ansatz zielt darauf ab, die Konsensprozesse von Ethereum zu modernisieren, während seine Kernprinzipien der Dezentralisierung und Sicherheit erhalten bleiben. Die Optimierung aller historischen und aktuellen Konsensprozesse der Chain mit zk-Technologien spielt eine entscheidende Rolle bei der Erreichung der langfristigen Skalierbarkeits- und Effizienzziele von Ethereum. Die in der Konsensschicht von Ethereum verwendeten grundlegenden Operationen sind von großer Bedeutung bei dieser technologischen Transformation. Werfen wir einen genaueren Blick auf diese Operationen und die Herausforderungen, vor denen sie stehen.
Die in der aktuellen Konsensschicht verwendeten ECADD-, Pairing- und SHA256-Operationen spielen eine entscheidende Rolle bei den Verifizierungszielen von Ethereum. Ihre mangelnde zk-Freundlichkeit stellt jedoch erhebliche Herausforderungen auf dem Weg zur Erreichung dieser Ziele dar. ECADD-Operationen schaffen eine kostspielige Belastung aufgrund der hohen Anzahl von Validatorenstimmen, während Pairing-Operationen trotz ihrer geringeren Anzahl tausendmal teurer sind, um mit zk-Beweisen nachzuweisen. Darüber hinaus macht die zk-Unfreundlichkeit von SHA256-Hashfunktionen die Beweisführung des Zustandsübergangs der Beacon-Kette äußerst herausfordernd. Diese Probleme verdeutlichen die Notwendigkeit einer umfassenden Transformation, um die bestehende Infrastruktur von Ethereum mit Zero-Knowledge-Technologien in Einklang zu bringen.
Am 12. November 2024 stellte Justin Drake während seiner Präsentation auf der Devcon einen Vorschlag namens „Beam Chain“ vor, der darauf abzielt, die Konsensschicht von Ethereum grundlegend und umfassend zu transformieren. Die Beacon Chain bildet seit fast fünf Jahren das Herzstück des Ethereum-Netzwerks. In dieser Zeit gab es jedoch keine größeren strukturellen Veränderungen an der Beacon Chain. Im Gegensatz dazu haben sich die technologischen Fortschritte schnell entwickelt und die statische Natur der Beacon Chain weit übertroffen.
In seiner Präsentation betonte Justin Drake, dass Ethereum in den letzten fünf Jahren in wichtigen Bereichen wie dem Verständnis von MEV, Durchbrüchen in der SNARK-Technologie und dem retrospektiven Bewusstsein für technologische Fehler bedeutende Lektionen gelernt hat. Die auf diesen neuen Erkenntnissen basierenden Entwürfe sind in drei Hauptpfeiler unterteilt: Blockproduktion, Staking und Kryptographie. Die folgende Visualisierung fasst diese Entwürfe und die vorgeschlagene Roadmap zusammen:
In diesem Abschnitt haben wir die Consensus-, State- und Execution-Schritte von The Verge im Detail untersucht, und eines der herausragendsten Probleme, die während dieses Prozesses hervorgehoben wurden, ist die Verwendung der SHA256-Hashfunktion in Ethereums Beacon Chain. Während SHA256 eine zentrale Rolle bei der Gewährleistung der Sicherheit des Netzwerks und der Verarbeitung von Transaktionen spielt, stellt seine mangelnde zk-Freundlichkeit ein erhebliches Hindernis für die Erreichung der Verifizierungsziele von Ethereum dar. Seine hohe Rechenkosten und Inkompatibilität mit zk-Technologien machen es zu einem kritischen Problem, das in zukünftigen Entwicklungen von Ethereum angegangen werden muss.
Justin Drakes Roadmap, präsentiert während seines Devcon-Vortrags, sieht vor, SHA256 in der Beacon Chain durch zk-freundliche Hash-Funktionen wie Poseidon zu ersetzen. Dieser Vorschlag zielt darauf ab, die Konsensschicht von Ethereum zu modernisieren, um sie verifizierbarer, effizienter und besser mit zk-proof-Technologien abzustimmen.
In diesem Zusammenhang sehen wir, dass Ethereum nicht nur mit zk-unfreundlichen Hash-Funktionen konfrontiert ist, sondern auch die digitalen Signaturen in seiner Konsensschicht für langfristige Sicherheit neu bewerten muss. Mit dem Fortschritt der Quantencomputertechnologie könnten digitale Signaturalgorithmen wie ECDSA, die derzeit verwendet werden, erheblichen Bedrohungen ausgesetzt sein. Wie in den von NIST veröffentlichten Richtlinien festgestellt, werden Varianten von ECDSA mit einem Sicherheitsniveau von 112 Bit bis 2030 veraltet sein und bis 2035 vollständig verboten sein. Dies erfordert einen Übergang für Ethereum und ähnliche Netzwerke zu widerstandsfähigeren Alternativen wie quantensicheren Signaturen in Zukunft.
An diesem Punkt tauchen hashbasierte Signaturen als quantensichere Lösungen auf, die eine entscheidende Rolle bei der Unterstützung der Sicherheits- und Verifizierungsziele des Netzwerks spielen könnten. Die Lösung dieser Anforderung entfernt auch das zweite Hauptproblem bei der Herstellung der Beacon Chain verifizierbar: BLS-Signaturen. Einer der wichtigsten Schritte, die Ethereum unternehmen kann, um die Quantensicherheit zu gewährleisten, ist die Annahme von post-quanten Lösungen wie hashbasierten Signaturen und hashbasierten SNARKs.
Wie Justin Drake betont hat,seine Devcon-Präsentation, Hashfunktionen sind aufgrund ihrer Abhängigkeit von Pre-Image-Resistance inhärent resistent gegenüber Quantencomputern und gehören damit zu den grundlegenden Bausteinen der modernen Kryptographie. Diese Eigenschaft gewährleistet, dass selbst Quantencomputer den ursprünglichen Input nicht effizient aus einem gegebenen Hash rückwärts berechnen können und somit die Sicherheit erhalten bleibt. Hash-basierte Signatursysteme ermöglichen es Validatoren und Attestoren, Signaturen ausschließlich auf Basis von Hashfunktionen zu generieren, wodurch die Sicherheit nach dem Post-Quantum-Standard gewährleistet wird und gleichzeitig eine höhere Verifizierbarkeit im Netzwerk gewährleistet wird - insbesondere wenn eine SNARK-freundliche Hashfunktion verwendet wird. Dieser Ansatz verbessert nicht nur die Sicherheit des Netzwerks, sondern macht auch die langfristige Sicherheitsinfrastruktur von Ethereum robuster und zukunftssicher.
Dieses System basiert auf der Kombination von hashbasierten Signaturen und hashbasierten SNARKs (STARK-ähnlichen Beweisen), um aggregierbare Signaturschemata zu erstellen. Aggregierbare Signaturen komprimieren Tausende von Signaturen in eine einzige Struktur und reduzieren sie auf nur wenige hundert Kilobyte an Beweisen. Diese Komprimierung verringert die Datenlast im Netzwerk erheblich und beschleunigt die Verifizierungsprozesse erheblich. Zum Beispiel können die Tausende von Validator-Signaturen, die für einen einzigen Slot auf Ethereum erstellt werden, durch eine einzige aggregierte Signatur dargestellt werden, wodurch sowohl Speicherplatz als auch Rechenleistung gespart werden.
Allerdings ist das bemerkenswerteste Merkmal dieses Schemas seine unendlich rekursive Aggregation. Das heißt, eine Gruppe von Signaturen kann weiterhin unter einer anderen Gruppe kombiniert werden, und dieser Prozess kann über die Kette hinweg fortgesetzt werden. Mit diesem Mechanismus und unter Berücksichtigung zukünftiger technologischer Fortschritte kann man sagen, dass dies Möglichkeiten eröffnet, die derzeit mit BLS nicht erreichbar sind.
Der Weg von Ethereum zur Überprüfbarkeit stellt eine grundlegende Veränderung in der Blockchain-Technologie dar. Die Verge-Initiative behebt Kernineffizienzen durch Verkle-Bäume für die Zustandsüberprüfung und STARK-Proofs für skalierbare Übergänge.
Eines der ehrgeizigsten Projekte ist die Beam Chain, eine umfassende Neugestaltung der Konsensschicht von Ethereum. Durch die Bewältigung der Einschränkungen der Beacon Chain und die Integration von zk-freundlichen Alternativen zielt dieser Ansatz darauf ab, die Skalierbarkeit von Ethereum zu verbessern, während er seine Kernprinzipien der Dezentralisierung und Zugänglichkeit bewahrt. Die Transition verdeutlicht jedoch auch die Herausforderungen, denen sich Ethereum gegenübersieht, wenn es die Balance zwischen den Rechenaufgaben und dem Ziel, ein zugängliches und inklusives Netzwerk aufrechtzuerhalten, bewahren möchte.
Da das NIST plant, die derzeitige Elliptic Curve Cryptography bis 2035 auszuphasen, muss Ethereum quantensichere Lösungen wie hash-basierte Signaturen und Poseidon übernehmen. Diese Lösungen weisen ihre eigenen Effizienz-Kompromisse auf.
Die Verwendung von STARKs im Ethereum-Fahrplan betont die Skalierbarkeit und Überprüfbarkeit. Obwohl sie sich durch transparente und quantenresistente Beweise auszeichnen, führt ihre Integration zu Herausforderungen im Zusammenhang mit den rechnerseitigen Kosten des Beweisers und der Ineffizienz bei kleinen Datenmengen. Diese Hürden müssen angegangen werden, um die Vision von Ethereum für Zustandslosigkeit und effiziente Blockverifizierung vollständig zu verwirklichen und sicherzustellen, dass das Netzwerk robust bleibt angesichts der steigenden Nachfrage.
Trotz dieser Fortschritte bleiben wichtige Herausforderungen bestehen. Ethereum muss Probleme der zk-Freundlichkeit, der Skalierbarkeit des Konsenses und der Komplexität der Integration von quantenresistenter Kryptographie bewältigen. Darüber hinaus stellen die rückwärtskompatible Infrastruktur bestehende praktische Hürden dar, die sorgfältige technische Lösungen erfordern, um Störungen für Entwickler und Benutzer gleichermaßen zu verhindern.
Was Ethereum auszeichnet, sind nicht nur seine technischen Innovationen, sondern auch sein iterativer Ansatz zur Lösung einiger der schwierigsten Probleme in der Blockchain. Der Weg nach vorne – ob durch Technologien wie Beam Chain, Verkle Trees oder STARK-Proofs – hängt von einer gemeinsamen Anstrengung von Entwicklern, Forschern und der breiteren Gemeinschaft ab. Diese Fortschritte zielen nicht darauf ab, über Nacht Perfektion zu erreichen, sondern eine Grundlage für ein transparentes, dezentralisiertes und überprüfbares Internet zu schaffen.
Ethereums Entwicklung verdeutlicht seine Rolle als ein entscheidender Akteur bei der Gestaltung des Web3-Zeitalters. Indem Ethereum sich den heutigen Herausforderungen mit praktischen Lösungen stellt, rückt es einer Zukunft näher, in der Verifizierbarkeit, Quantenresistenz und Skalierbarkeit zum Standard und nicht zur Ausnahme werden.