DEFINITION VON MERKLE WURZEL
Eine Merkle-Wurzel ist der Hash aller Hashes aller Transaktionen, die Teil eines Blocks in einem Blockchain-Netzwerk sind.
BREAKING DOWN Merkle Root (Kryptowährung)
Eine Blockchain besteht aus verschiedenen Blöcken, die miteinander verbunden sind (daher der Name Blockchain). Ein Hash-Baum oder der Merkle-Baum codiert die Blockchain-Daten auf effiziente und sichere Weise. Es ermöglicht die schnelle Überprüfung von Blockchain-Daten sowie die schnelle Übertragung großer Datenmengen von einem Computerknoten auf den anderen im Peer-to-Peer-Blockchain-Netzwerk.
Jeder Transaktion im Blockchain-Netzwerk ist ein Hash zugeordnet. Diese Hashes werden jedoch nicht in einer sequentiellen Reihenfolge im Block gespeichert, sondern in Form einer baumartigen Struktur, sodass jeder Hash mit seinem übergeordneten Element in einer Eltern-Kind-Baum-Beziehung verknüpft ist.
Da in einem bestimmten Block zahlreiche Transaktionen gespeichert sind, werden auch alle Transaktions-Hashes im Block gehasht, was zu einer Merkle-Wurzel führt.
Betrachten Sie beispielsweise einen 7-Transaktionsblock. Auf der untersten Ebene (der so genannten Blattebene) gibt es 4 Transaktions-Hashes. Auf der ersten Ebene über der Blattebene gibt es 2 Transaktions-Hashes, von denen jeder mit 2 Hashes verbunden ist, die sich auf der Blattebene darunter befinden. Oben (Ebene zwei) befindet sich der letzte Transaktions-Hash, der als Root bezeichnet wird, und es wird eine Verbindung zu den beiden Hashes darunter hergestellt (Ebene eins).
Tatsächlich erhalten Sie einen umgedrehten Binärbaum, wobei jeder Knoten des Baums nur mit zwei Knoten darunter verbunden ist (daher der Name Binärbaum). Oben befindet sich ein Root-Hash, der mit zwei Hashes der ersten Ebene verbunden ist, von denen jeder wiederum mit den beiden Hashes der dritten Ebene (Blattebene) verbunden ist. Die Struktur wird in Abhängigkeit von der Anzahl der Transaktions-Hashes fortgesetzt.
(Quelle: Kiran Vaidya / Medium)
Das Hashing beginnt auf den Knoten der untersten Ebene (Blattebene), und alle 4 Hashes sind in dem Hash der Knoten enthalten, die auf der ersten Ebene damit verknüpft sind. In ähnlicher Weise wird das Hashing auf Ebene 1 fortgesetzt, was dazu führt, dass Hashes auf höhere Ebenen gelangen, bis es den einzelnen obersten Root-Hash erreicht.
Dieser Root-Hash wird als Merkle-Root bezeichnet und enthält aufgrund der baumartigen Verknüpfung von Hashes alle Informationen zu jedem einzelnen Transaktions-Hash, der auf dem Block vorhanden ist. Es bietet einen Einzelpunkt-Hash-Wert, mit dem alles validiert werden kann, was jemals in diesem Block vorhanden war.
Wenn Sie beispielsweise eine Transaktion überprüfen müssen, die angeblich aus Block 137 stammt, müssen Sie nur den Merkle-Baum des Blocks überprüfen, ohne sich Gedanken über die Überprüfung anderer Blöcke in der Blockchain wie Block 136 oder 136 machen zu müssen Block # 138.
Geben Sie Merkle root ein, um die Überprüfung weiter zu beschleunigen. Da es alle Informationen über den gesamten Baum enthält, muss man nur den Transaktions-Hash, seinen Geschwisterknoten (falls vorhanden), überprüfen und dann nach oben fortfahren, bis er oben angekommen ist.
Im Wesentlichen reduzieren der Merkle-Tree- und der Merkle-Root-Mechanismus das durchzuführende Hashing erheblich und ermöglichen eine schnellere Verifizierung und Transaktionen. (Weitere Informationen finden Sie unter Merkle-Baumdefinition.)