Merkle Root (Kryptowährung)
Was ist eine Merkle-Wurzel?
Ein Merkle-Root ist der Hash aller Hashes aller Transaktionen, die Teil eines Blocks in einem Blockchain Netzwerk sind.
Die zentralen Thesen
- Eine Merkle-Wurzel ist eine einfache mathematische Methode, um die Daten eines Merkle-Baums zu überprüfen.
- Merkle-Wurzeln werden in Kryptowährung verwendet, um sicherzustellen, dass Datenblöcke, die zwischen Peers in einem Peer-to-Peer-Netzwerk übertragen werden, vollständig, unbeschädigt und unverändert sind.
- Merkle-Wurzeln sind von zentraler Bedeutung für die Berechnung, die erforderlich ist, um Kryptowährungen wie Bitcoin und Ether zu verwalten.
Eine Merkle-Wurzel verstehen
Eine Blockchain besteht aus verschiedenen Blöcken, die miteinander verknüpft sind (daher der Name Blockchain). Ein Hash-Baum oder Merkle-Baum codiert die Blockchain-Daten auf effiziente und sichere Weise. Es ermöglicht die schnelle Überprüfung von Blockchain-Daten sowie das schnelle Verschieben großer Datenmengen von einem Computerknoten zum anderen im Peer-to-Peer-Blockchain-Netzwerk.
Jeder Transaktion, die im Blockchain-Netzwerk stattfindet, ist ein Hash zugeordnet. Diese Hashes werden jedoch nicht in einer sequentiellen Reihenfolge auf dem Block gespeichert, sondern in Form einer baumartigen Struktur, so dass jeder Hash nach einer baumartigen Eltern-Kind-Beziehung mit seinem Elternteil verknüpft ist.
Da auf einem bestimmten Block zahlreiche Transaktionen gespeichert sind, werden auch alle Transaktions-Hashes im Block gehasht, was zu einem Merkle-Root führt.
Betrachten Sie beispielsweise einen Block mit sieben Transaktionen. Auf der untersten Ebene (als Leaf-Ebene bezeichnet) befinden sich vier Transaktions-Hashes. Auf der Ebene eins über der Blattebene gibt es zwei Transaktions-Hashes, von denen jeder mit zwei Hashes verbunden ist, die sich auf der Blattebene darunter befinden. Oben (Ebene zwei) befindet sich der letzte Transaktions-Hash, der Root genannt wird, und er verbindet sich mit den beiden Hashs darunter (auf Ebene eins).
Effektiv erhalten Sie einen umgedrehten Binärbaum, bei dem jeder Knoten des Baums nur mit zwei Knoten darunter verbunden ist (daher der Name „Binärbaum“). Es hat oben einen Root-Hash, der mit zwei Hashes auf Ebene eins verbunden ist, von denen jeder wiederum mit den beiden Hashes auf Ebene drei (Blatt-Ebene) verbunden ist, und die Struktur wird abhängig von der Anzahl der Transaktions-Hashes fortgesetzt.
Das Hashing beginnt auf den Knoten der niedrigsten Ebene (Blattebene), und alle vier Hashes sind in dem Hash der Knoten enthalten, die auf Ebene eins mit ihm verknüpft sind. In ähnlicher Weise wird das Hashing auf Ebene eins fortgesetzt, was dazu führt, dass Hashes von Hashes höhere Ebenen erreichen, bis es den einzelnen Top Root-Hash erreicht.
Dieser Root-Hash wird Merkle-Root genannt und enthält aufgrund der baumartigen Verknüpfung der Hashes alle Informationen zu jedem einzelnen Transaktions-Hash, der auf dem Block vorhanden ist. Es bietet einen Single-Point-Hash-Wert, der es ermöglicht, alles zu validieren, was in diesem Block vorhanden ist.
Wenn man zum Beispiel eine Transaktion verifizieren muss, die behauptet, aus Block #137 zu stammen, muss man nur den Merkle-Baum des Blocks überprüfen, ohne sich um die Überprüfung anderer Blöcke in der Blockchain, wie Block #136 oder Block #, kümmern zu müssen. 138.
Geben Sie die Merkle-Wurzel ein, was die Überprüfung weiter beschleunigt. Da er alle Informationen über den gesamten Baum trägt, muss man nur den Transaktions-Hash und seinen Geschwisterknoten (falls vorhanden) überprüfen und dann nach oben fortfahren, bis er die Spitze erreicht.
Im Wesentlichen reduzieren der Merkle-Baum und der Merkle-Root-Mechanismus die Anzahl der durchzuführenden Hashing-Vorgänge erheblich und ermöglichen so eine schnellere Überprüfung und Transaktionen.