Der Merkle-Baum ist eine Datenstruktur aus der Informatik und der Kryptografie. Am Kryptomarkt bezeichnet der Merkle-Baum eine Datenstruktur, die eine mit der Hashfunktion erzeugte Zusammenfassung der Transaktionen in der Blockchain enthält. Der Merkle-Baum hilft dabei, Transaktionsblöcke in der Blockchain einfach und effizient zu überprüfen. In diesem Artikel finden Sie die Antwort auf die Frage, was ein Merkle-Baum ist.
Entdeckt wurde der Merkle-Baum von Ralph Merkle. Er ließ das Konzept 1979 patentieren und beschrieb es in seinem 1987 veröffentlichten Aufsatz „Eine digitale Signatur auf Basis einer konventionellen Verschlüsselungsfunktion“. Ein Merkle-Baum ist eine schemaförmige Datenstruktur aus Hashwerten. Die Hashcodes der einzelnen Daten sind darin von unten nach oben in einem Schema angeordnet. Dabei ergibt sich der Wert eines weiter oben liegenden Hashes daraus, dass die Hashes der darunterliegenden Ebene zusammengeführt werden.
Die Integrität der Daten im System wird genau dadurch sichergestellt: Die Hashwerte stehen geordnet in einem Schema und werden Schritt für Schritt von unten nach oben zusammengefasst. Eingesetzt wird der Merkle-Baum bei Datenübertragungen von Person zu Person, in Peer-to-Peer-Netzwerken und bei der Überprüfung der übertragenen Daten. Mit ihm lässt sich erkennen, ob die übertragenen Daten oder Datenblöcke beschädigt oder gefälscht wurden – und ebenso lässt sich damit die Korrektheit dieser Blöcke bestätigen.
Wie funktioniert der Merkle-Baum?
Merkle-Bäume bestehen aus den Hashwerten in den Blöcken. Ganz unten im Merkle-Baum liegen die Transaktionsdaten. Deren Hashwert (Hashcode) entsteht, indem die Hashfunktion darauf angewendet wird. Anschließend werden die Werte am unteren Rand des Schemas paarweise zusammengeführt und das Ergebnis in die darüberliegende Zeile eingetragen. Durch die Wiederholung dieses Vorgangs entsteht der Merkle-Baum. Am Ende wird der Hashwert an der Spitze des Schemas als Root-Hash oder Merkle Root bezeichnet. Der berechnete Root-Hash zeigt, ob die Blöcke Fehler enthalten. Gibt es Unstimmigkeiten in den Werten, aus denen der Root-Hash gebildet wird, arbeitet der Algorithmus im System so lange mit Hashfunktionen weiter, bis er eine fehlerfreie Merkle Root erzeugt.
Warum wird der Merkle-Baum bei Bitcoin verwendet?
Weil er den Minern die Arbeit erleichtert, die Blöcke in der Bitcoin-Blockchain überprüfen wollen. Miner in der Bitcoin-Blockchain verifizieren Blöcke, indem sie die Hashfunktion ausführen. In der Bitcoin-Blockchain werden die Daten sortiert und in den Merkle-Baum eingefügt; danach berechnen die Hashfunktionen des Algorithmus den Root-Hash. Der so entstandene Root-Hash lässt sich auch für weitere Mining-Vorgänge nutzen. Auf diese Weise können Miner ihre Arbeit fortsetzen, indem sie lediglich den Root-Hash hashen, statt sämtliche Blöcke zu hashen. Der Merkle-Baum liefert auch in den Blockchains anderer Kryptowährungen als Bitcoin passende Lösungen.
