Zum Inhalt springen

Merkle-Baum

Ein Merkle-Baum bindet geordnete Daten mit einem einzigen Wurzel-Hash und ermöglicht kompakte Inklusionsbeweise ohne den gesamten Datensatz zu übertragen.

Aktualisiert

Nur zu Bildungszwecken; dies ist keine Anlageberatung. Investitionen können zu Verlusten führen.

Direkte Antwort

Ein Merkle-Baum hasht jedes Datenelement zu einem Blatt, verbindet benachbarte Hashes wiederholt und erzeugt eine Merkle-Wurzel. Sie bindet die Blätter sowie die verwendeten Regeln für Reihenfolge und Hashing kompakt.

Ein Merkle-Beweis enthält für ein Blatt den Geschwister-Hash jeder Ebene. Der Prüfer berechnet den Pfad zur Wurzel neu und akzeptiert die Zugehörigkeit nur bei einer Übereinstimmung mit einer vertrauenswürdigen Wurzel. Die übrigen Blätter sind nicht nötig.

Die Bindung betrifft die Darstellung der Daten, nicht deren Wahrheit. Eine passende Wurzel beweist weder korrekte Quelldaten noch Verfügbarkeit oder Sicherheit von Vertrag, Bridge, Oracle oder Markt. Der Prüfer muss Wurzel und Blatt über ein authentisiertes Protokoll erhalten und Domänentrennung, Reihenfolge und Regeln für ungerade Blätter kennen.

Merkle-Bäume werden unterschiedlich eingesetzt. Bitcoin schreibt die Transaktionswurzel in jeden Block-Header; Ethereum verwendet für den Zustand und andere authentisierte Strukturen einen modifizierten Merkle-Patricia-Trie. Kodierung, Beweisformat, Updates und Sicherheitsannahmen sind nicht identisch.

Funktionsweise

Zuerst definiert das System eine deterministische Blattkodierung und Hashfunktion. Danach werden Blätter und anschließend Paare von Kindknoten gehasht, bis eine Wurzel übrig bleibt. Wenn die Position nicht ableitbar ist, muss der Beweis die Richtung oder Position des Blatts enthalten.

In einem ausgewogenen Binärbaum benötigt ein Beweis für eines von 1024 Blättern ungefähr 10 Geschwister-Hashes, weil jede Ebene den abgedeckten Bereich verdoppelt. Die genaue Größe hängt von Baumform, Hashlänge, Duplikatregel und Mehrfach- oder Komprimierungsbeweisen ab.

Die Kernbeziehung lautet parent = Hash(left || right) und root = fold(parent, leaves). Das ist eine Skizze: Protokolle können Präfixe, andere Verzweigungen oder eine Trie-Kodierung verwenden. Der Beweis zeigt Konsistenz mit der Konstruktion, authentisiert aber keine Wurzel, der der Prüfer nicht unabhängig vertraut.

In einer Blockchain wird die Wurzel durch Block-Header, Zustandsdatensatz oder Vertrag festgelegt. Ein Light Client kann Blatt und Authentifizierungspfad anfordern, die Wurzel neu berechnen und danach Bestätigungs-, Finalitäts-, Aktualitäts- und Verfügbarkeitsregeln anwenden. Hashprüfung ersetzt diese Regeln nicht.

Beispiel

Angenommen, ein Block enthält 1024 Transaktionen in einem Binärbaum. Eine Transaktion kann etwa 10 Geschwister-Hashes statt der übrigen 1023 Transaktionen mitführen. Der Prüfer benötigt weiterhin den Block-Header sowie Kodierungs- und Positionsregeln.

Bei einem Fehler sollten Blattbytes, Byte-Reihenfolge, Auffüllung, Wurzelquelle und Blockstatus geprüft werden. Ein gültiger Beweis für eine nicht endgültige oder veraltete Wurzel kann technisch stimmen und trotzdem nicht den kanonischen Zustand darstellen.

Bei einem angezeigten Guthaben oder einer Belohnung ist die Beweisgültigkeit vom wirtschaftlichen Ergebnis zu trennen. Gebühren, Preisänderungen, Slippage, Vertragsrechte, Auszahlungslimits oder eine nicht verfügbare Quelle können den Betrag verändern. Der Beweis bestätigt Zugehörigkeit, keinen einlösbaren Betrag.

Risiken

Technische Risiken sind mehrdeutige Kodierung, falsche Hashverwendung, Zweitpräbild- oder Kollisionsschwächen, vertauschte Geschwister und eine nicht vertrauenswürdige oder veraltete Wurzel. Domänentrennung hilft nur bei konsistenter Umsetzung.

Betriebsrisiken liegen außerhalb der Hashrechnung. Bridge, Oracle, Sequencer, Börse oder Administrator können die Wurzel veröffentlichen, verzögern, zensieren oder ersetzen; ein Verfügbarkeitsausfall kann Blatt oder Beweis unzugänglich machen; eine Reorganisation kann einen an einen früheren Block gebundenen Beweis entwerten.

Vor der Nutzung sollte geklärt werden, wer die Wurzel authentisiert, wie Aktualität und Finalität geprüft werden, wie fehlende oder ungerade Blätter behandelt werden und ob Nutzer Daten selbst wiederherstellen können. Berechtigungen und Einsatz sind zu begrenzen, wenn der mögliche Verlust nicht eingegrenzt werden kann.

Häufige Irrtümer

Mythos 1: Eine passende Wurzel beweist wahre Daten

Sie beweist nur, dass das Blatt unter der angegebenen Konstruktion zur gebundenen Wurzel passt. Ein falscher Wert eines Oracles wird daher ebenfalls korrekt nachgewiesen.

Mythos 2: Ein Merkle-Beweis macht das ganze System vertrauenslos

Der Prüfer vertraut weiterhin Hash, Kodierung, Authentifizierungspfad und Datenlieferant. Konsens, Finalität, Verfügbarkeit und Governance sind getrennte Fragen.

Mythos 3: Jede Blockchain nutzt denselben Merkle-Baum

Bitcoin-Transaktionsbäume, Ethereums Merkle-Patricia-Trie und Anwendungsbäume haben andere Layouts und Beweisregeln. Formate sind nicht automatisch übertragbar.

Mythos 4: Ein kurzer Beweis garantiert eine günstige und sichere Transaktion

Die Größe senkt die Übertragung, doch Prüf-Gas, Speicherzugriffe, Überlastung, Vertragsfehler sowie Auszahlungs- und Liquidationsrisiken können überwiegen.

Verwandte Themen

Quellen

Navigation

Wiki durchsuchen...