Block Update Digests (BUDs) stellen eine neuartige Architektur für Membership Proofs in Blockchains dar. Im Gegensatz zu herkömmlichen globalen Zustandsbäumen, wie den Merkle-Tries, skalieren BUDs die Kosten mit der Schreibmenge eines einzelnen Blocks und nicht mit der Gesamtheit des Zustands. Diese Eigenschaft ist besonders für hochgradig skalierbare, EVM-kompatible Blockchains von Bedeutung, weil sie sowohl Rechenlast als auch Datenbankzugriffe reduziert.
Warum Membership Proofs für Blockchains wichtig sind
Membership Proofs (auch State Proofs genannt) ermöglichen es Off-Chain-Beobachtern, on-chain Werte kryptografisch zu verifizieren, ohne einem Dritten vertrauen zu müssen. Der klassische Ansatz verwendet einen Merkle-Trie, der über den gesamten Zustand gebaut wird. Jeder Block muss diesen Trie aktualisieren, wobei die Kosten mit der Gesamtzahl der Accounts und Speicher-Slots (oft mehrere hundert Millionen) wachsen. Für Hoch-Durchsatz-Chains wird dieser Aufwand zu einem erheblichen Engpass in Bezug auf Berechnung und I/O-Kosten.
Kernidee von Block Update Digests (BUDs)
Ein BUD ist ein kleiner Merkle-Baum, der ausschließlich über die Änderungen eines einzelnen Blocks (oder eines zusammenhängenden Fensters von k Blöcken) aufgebaut wird. Jeder Blattknoten enthält:
- den Schlüssel (key)
- den neuen Wert
- die aktuelle Blocknummer
- die vorherige Blocknummer, in der derselbe Schlüssel zuletzt geändert wurde
Das Feld „vorherige Blocknummer“ bildet eine Modifikationskette, die beweist, dass zwischen zwei benachbarten BUD-Einträgen keine weitere Änderung stattgefunden hat. Für jede im Key-Value-Store gespeicherte Entry werden zusätzlich 8 Bytes Metadaten (letzte Modifikations-Blockhöhe) und 1 Byte Serialisierungs-Version hinterlegt.
SuperBUDs – logarithmische Komprimierung von BUD-Ketten
Ein einzelner BUD beweist den Wert eines Schlüssels zum Zeitpunkt seiner Modifikation. Um jedoch den aktuellen Wert eines Schlüssels, der vor d Blöcken geändert wurde, zu verifizieren, wäre eine lineare Prüfung von d BUDs nötig. SuperBUDs reduzieren diesen Aufwand auf logarithmische Zeit:
- Ein SuperBUD der Ebene ℓ deckt e^ℓ Blöcke ab (im Beispiel e = 2).
- SuperBUDs werden an Blockhöhen erzeugt, die Vielfache von e^ℓ sind.
- Zwei benachbarte SuperBUDs derselben Ebene können zu einem SuperBUD der nächsten Ebene zusammengeführt werden – ein O(n) Traversal über sortierte Tries.
- Ein SuperBUD-Beweis zeigt entweder die letzte Modifikation innerhalb des Spans oder dass keine Modifikation stattgefunden hat.
Durch die Kombination eines BUD-Beweises mit einem passenden SuperBUD-Beweis entsteht ein kompletter Membership Proof, wobei die Anzahl der benötigten Digests logarithmisch zur Staleness des Schlüssels ist.
Touch-Transaktionen – sofortige Beweise auf Kosten
Touch-Transaktionen aktualisieren ausschließlich die Metadaten „letzte Modifikation“, ohne den eigentlichen Wert zu ändern. Sie erzeugen einen Eintrag im aktuellen BUD und ermöglichen sofortige Beweise, unabhängig davon, wie alt die letzte echte Änderung ist. Die Gebühren für Touch-Transaktionen orientieren sich an den bestehenden Ressourcen-Metriken (State-Access- und Metadata-Write-Kosten) und fügen keine neue DoS-Angriffsfläche hinzu.
Skalierungsvorteile von BUDs gegenüber Merkle-Tries
Die wichtigsten quantitativen Unterschiede lassen sich anhand der bereitgestellten Metriken zusammenfassen:
- Per-Block Commitment Cost: BUDs benötigen O(w log w) Hash-Berechnungen, wobei w die Schreibmenge des Blocks ist. Merkle-Tries benötigen O(w log n), wobei n die Gesamtzahl der Einträge im Zustand (typisch 100 Millionen im Jahr 2023, Quelle S1) ist.
- Proof Generation für den aktuellen Zustand: BUDs ermöglichen sofortige Beweise über Touch-Transaktionen („Immediate with touch“). Merkle-Tries liefern sofortige Beweise über einen einzigen Merkle-Pfad aus dem Trie.
- Rechenaufwand beim Schreiben pro Block: Merkle-Trie-Ansatz verursacht O(w log n) Hash-Berechnungen (Quelle S1). BUD-Ansatz reduziert dies auf O(w log w), weil nur die Änderungen des Blocks berücksichtigt werden.
- Datenbankzugriffe: Merkle-Tries erfordern eine trie-freundliche Speicher-Layout, während BUDs einen flachen Key-Value-Store mit nur 9 Bytes zusätzlicher Metadaten pro Entry benötigen.
Zusammengefasst führt dies zu einer deutlich reduzierten Kostenstruktur sowohl in Bezug auf die Rechenlast als auch auf die Datenbankzugriffe, was die Effizienz von Blockchains positiv beeinflusst.
Vergleichstabelle: Globale State-Trees vs. BUDs + SuperBUDs
| Dimension | Global State Trie (inkl. Binary/Verkle) | BUDs + SuperBUDs |
|---|---|---|
| Architekturelle Position | Auf dem Konsens-kritischen Pfad | Ausgelagert an Archiv-Knoten |
| Per-Block Commitment Cost | O(w · log n) Hashes (w Writes, n State Entries) | O(w · log w) Hashes (w Writes only) |
| Datenbank-Layout | Trie-freundlich | Flacher Key-Value-Store, 9 Bytes extra Metadata pro Entry |
| Proof Generation für aktuellen Zustand | Sofort (ein Merkle-Pfad aus dem Trie) | Sofort mit Touch-Transaktion; sonst Wartezeit für SuperBUD |
| Proof Size | O(log n) | O(log w) pro BUD + O(log s) pro SuperBUD |
| SNARK-Freundlichkeit | Provable; Schaltung über O(log n) Pfad | Provable; Schaltung über O(log w) Pfad (kleiner) |
| Speicherbelastung der Validatoren | Kompletter Trie (Zwischen- und Blatt-Knoten) | Aktueller State + 9 Bytes Metadata pro Entry |
| Wer stellt Proofs bereit? | Validatoren oder Full Nodes | Archiv-Knoten (spezialisierte Infrastruktur) |
Risiken und Gegenargumente
Der Wechsel zu BUDs bringt einige strukturelle Änderungen mit sich:
- Ein neuer Infrastruktur-Ansatz für Speicher und Nachweisführung ist erforderlich.
- Die Notwendigkeit von Archiv-Knoten könnte die Netzwerk-Architektur komplexer machen und neue Anreize für deren Betrieb erfordern.
- Ein Wechsel könnte die Komplexität der Netzwerk-Architektur erhöhen und die Notwendigkeit für spezialisierte Archiv-Knoten schaffen.
Diese Punkte sind relevant, weil sie die Implementierungskosten und das langfristige Ökosystem-Design beeinflussen.
Häufig gestellte Fragen (FAQ)
Wie verbessern BUDs die Effizienz von Blockchains?BUDs reduzieren die Kosten für Datenbankzugriffe und Rechenaufwand, indem sie sich nur auf die Änderungen eines Blocks und nicht auf den gesamten Zustand konzentrieren.
Fazit
Block Update Digests (BUDs) bieten eine überzeugende Alternative zu traditionellen Merkle-Tries, indem sie die Kosten für Membership Proofs von der Gesamtzustandsgröße auf die Schreibmenge pro Block verlagern. Die Kombination aus BUDs, SuperBUDs und Touch-Transaktionen ermöglicht ein flexibles Design, das sowohl Kosten-sensiblen als auch Latenz-sensiblen Anwendern gerecht wird. Während die Einführung von BUDs neue Infrastruktur-Anforderungen mit sich bringt, zeigen die quantitativen Vorteile – insbesondere die Reduktion von O(w log n) auf O(w log w) Hash-Berechnungen und die Möglichkeit sofortiger Proofs über Touch-Transaktionen – dass sie für hoch-durchsatzfähige, EVM-kompatible Blockchains ein bedeutender Schritt in Richtung Skalierbarkeit sein können. Die in den bereitgestellten Quellen (z. B. Journal of Cryptographic Engineering, 2023) dokumentierten Messwerte und Vergleiche untermauern die Notwendigkeit innovativer Lösungen im Bereich Blockchain-State-Management.