Blätter werden zu einer Wurzel
Transaktions-Hashes bilden die Blätter. Benachbarte Werte werden verbunden und zu Elternknoten gehasht, bis die Merkle Root verbleibt. Ändert sich ein Byte, ändern sich Blatt, Vorfahren und Wurzel; sie bindet damit eine geordnete Datenmenge.
Ein Hash ist keine Verschlüsselung: Die Transaktionen lassen sich nicht aus der Wurzel zurückgewinnen. Zur Prüfung werden die ursprüngliche Transaktion und die benachbarten Hashes ihres Zweigs benötigt.
Ein Zweig bleibt kurz
Ein Inklusionsbeweis braucht pro Ebene einen Geschwister-Hash statt des gesamten Baums. Der Prüfer verbindet sie in der richtigen Links-rechts-Reihenfolge und vergleicht das Ergebnis mit der Wurzel im Header.
Die Beweislänge wächst ungefähr mit dem Logarithmus der Blattzahl. Selbst für Tausende Transaktionen genügen daher wenige Hashes. Werden links und rechts vertauscht, ändert sich das Ergebnis.
Aufnahme ist keine Vollvalidierung
Ein gültiger Zweig beweist, dass eine Transaktion zum Baum gehört, an den sich ein bestimmter Header bindet. Prüft ein Client auch Verkettung und Proof of Work der Header, kann er dieses Commitment einer Kette zuordnen.
Er prüft damit nicht, ob andere Transaktionen zusätzliche Werte erzeugen, Scripts verletzen oder Konsensgrenzen überschreiten. Ein Full Node validiert den ganzen Block; ein Anwesenheitsbeweis zeigt zudem nicht, dass ein Peer keine andere Tatsache verschwiegen hat.
Verschiedene Bäume binden Verschiedenes
Der Block-Header bindet den txid-Baum. SegWit ergänzt in der Coinbase ein Commitment an einen wtxid-Baum, während Taproot optionale Script-Blätter über einen Baum bindet, dessen Wurzel einen Ausgabeschlüssel modifiziert.
Die Konstruktionen teilen eine Hash-Idee, sind aber nicht austauschbar. Sie binden andere Objekte und haben eigene Regeln für Serialisierung und Domain Separation, die Implementierungen exakt befolgen müssen.