Kurz erklärt: Ein Verkle Tree ist eine kryptografische Baum-Datenstruktur, die Merkle-Baeume mit Vektor-Commitments kombiniert, um deutlich kleinere Beweise (Witnesses) zu erzeugen; sie ist in der Ethereum-Roadmap als Grundlage für zustandslose Clients (Statelessness) vorgesehen.
Herkunft und Name
Das Konzept wurde 2018 von der Kryptografin John Kuszmaul in der Arbeit „Verkle Trees“ beschrieben. Der Name ist ein Kofferwort aus Vector Commitment und Merkle Tree. Für die Ethereum-Roadmap wurde die Struktur unter anderem von Dankrad Feist und Vitalik Buterin aufgegriffen.
Ziel ist es, die Größe der Beweise, die zur Verifikation eines Zustands nötig sind, drastisch zu reduzieren.
Unterschied zum Merkle-Baum
Klassische Merkle-Baeume (in Ethereum bislang als Merkle-Patricia-Trie) benötigen für jeden Beweisknoten die Hashes aller Geschwisterknoten. Bei breiten Baeumen führt das zu großen Witnesses.
- Merkle-Baum: hohe Verzweigung erhöht die Witness-Größe stark, da viele Geschwister-Hashes mitgeliefert werden müssen.
- Verkle Tree: nutzt an jedem Knoten ein Vektor-Commitment (etwa auf Basis von KZG oder Inner-Product-Argumenten). Dadurch genügt pro Ebene ein sehr kompakter Beweis, unabhängig von der Verzweigungsbreite.
Dies erlaubt sehr breite und flache Baeume mit trotzdem kleinen Beweisen – oft um ein Vielfaches kleiner als bei vergleichbaren Merkle-Strukturen.
Bedeutung für Ethereum
Kleine Witnesses sind Voraussetzung für sogenannte stateless clients: Knoten, die den gesamten Zustand nicht mehr lokal vorhalten müssen, sondern Blöcke anhand mitgelieferter Beweise validieren können. Das senkt die Hardware-Anforderungen und fördert die Dezentralisierung.
Der Übergang vom bisherigen Merkle-Patricia-Trie zu einer Verkle-Struktur gilt als komplexer Migrationsschritt. In der weiteren Forschung werden zudem alternative Ansätze auf Basis von STARK-freundlichen Hashfunktionen diskutiert, sodass die endgültige Ausgestaltung offen ist.
Häufige Fragen
Woher stammt der Name Verkle Tree?
Der Begriff ist eine Verschmelzung von Vector Commitment und Merkle Tree und wurde 2018 von John Kuszmaul geprägt.
Was ist der Hauptvorteil gegenüber Merkle-Baeumen?
Verkle Trees erzeugen deutlich kleinere Beweise (Witnesses), da an jedem Knoten ein Vektor-Commitment statt vieler Geschwister-Hashes verwendet wird.
Was sind stateless clients?
Das sind Knoten, die den vollständigen Netzwerkzustand nicht mehr lokal speichern müssen, sondern Blöcke anhand kompakter mitgelieferter Beweise prüfen. Kleine Witnesses aus Verkle Trees machen dies praktikabel.
Sind Verkle Trees bereits in Ethereum aktiv?
Nein. Sie sind Teil der Forschungs- und Entwicklungs-Roadmap. Der Umstieg vom Merkle-Patricia-Trie ist ein aufwendiger Schritt und noch nicht umgesetzt; alternative Ansätze werden ebenfalls geprüft.
Welche Kryptografie steckt in Verkle Trees?
Sie nutzen Vektor-Commitments, die beispielsweise auf KZG-Commitments oder Inner-Product-Argumenten basieren können.
Zusammenfassung
Ein Verkle Tree kombiniert Merkle-Baeume mit Vektor-Commitments und erzeugt dadurch besonders kleine Zustandsbeweise. Das 2018 vorgestellte Konzept ist in Ethereums Roadmap als Basis für zustandslose Clients vorgesehen, die den Zustand nicht mehr vollständig speichern müssen. Die Migration vom bisherigen Merkle-Patricia-Trie gilt als komplex und ist noch nicht abgeschlossen.
Weiterführende Quellen
- ethereum.org: Verkle Trees (Statelessness): ethereum.org
- vitalik.eth.limo: Verkle trees: vitalik.eth.limo