Ethereum Infochain: Merkle Tree erklärt


 Merkle_Tree_Explained "class =" wp-image-26682 "src =" https://changelly.com/blog/wp-content/uploads/2020/01/Merkle_Tree_Explained.jpg "/> </figure>
<p> Blockchain verstehen, Sie müssen die Grundprinzipien kennen, auf denen es basiert. Möglicherweise ist das Hauptmerkmal des Merkle-Baums, manchmal auch als Hash-Baum bezeichnet. Dank dessen kann die Blockchain gleichzeitig effektiv und transparent sein. Das Konzept wurde 1979 von Professor Ralph Merkle patentiert. Jetzt hilft es, Probleme in großen dezentralen Netzwerken zu lösen. </p>
<p> Was ist der Merkle-Baum und wie hängt er mit <a title=Kryptowährungen zusammen? Erfahren wir es in diesem Changelly-Artikel!

Merkle-Baum Grundlagen

Merkle-Baum ist eine vollständige Datenstruktur in Form eines Baums, in dessen Scheitelpunkten sich Hashes aus Datenblöcken befinden, wobei die inneren Scheitelpunkte Hashes aus dem Hinzufügen von Werten in untergeordneten Scheitelpunkten enthalten Informationen untereinander. Am Ende sieht es aus wie th ist.

 Merkle-Tree "class =" wp-image-26709 "src =" https://changelly.com/blog/wp-content/uploads/2020/01/Merkle-Tree-1.png "/ > </figure>
<p> Ein Hash ist das Ergebnis der Konvertierung einer Hash-Funktion. Es handelt sich um eine Funktion, die ein Array von Eingabedaten beliebiger Länge nach einem bestimmten Algorithmus in eine Ausgabezeichenfolge bestimmter Länge umwandelt. </p>
<h2> Wofür wird der Merkle-Baum verwendet? </h2>
<p> In einem zentralisierten System wird die Richtigkeit von Informationen sind kein Problem, da alle ihre Komponenten auf einem zentralen Knoten basieren. Um die Echtheit des Geldes müssen Sie sich keine Gedanken machen, wenn Sie eine Überweisung auf Ihr Bankkonto erhalten. </p>
<p> In einem dezentralen Netzwerk ist jedoch nicht alles so einfach. Jeder der Knoten ist für die Richtigkeit der übertragenen Informationen verantwortlich, so dass es aufgrund der Anzahl der Transaktionen im Netzwerk keine leichte Aufgabe ist, die Authentizität des gesamten Volumens zu überprüfen. Zumindest ohne den Merkle-Baum. Sie können den Prozess der Datenpräsentation mithilfe von Hashing optimieren. </p>
<p> Dateisysteme verwenden Merkle-Bäume, um Informationen auf Fehler zu überprüfen, und verteilte Datenbanken, um Datensätze zu synchronisieren. In Blockchain ermöglichen Hash-Bäume eine vereinfachte Zahlungsüberprüfung (SPV). </p>
<p> SPV-Clients, die als Lightweight-Clients bezeichnet werden (weil sie nur Blockheader und nicht deren Inhalt speichern), um Transaktionsinformationen zu überprüfen, nicht alle Hashes neu zu berechnen, sondern um Merkles Beweis zu bitten. Es besteht aus einem Stamm und einer Verzweigung, die Hashes von der angeforderten <a title=Transaktion zum Stamm enthält, da der Client keine Informationen zu anderen Vorgängen benötigt. Wenn der Client die angeforderten Hashes hinzufügt und sie mit dem Stamm vergleicht, stellt er sicher, dass sich die Transaktion an ihrer Stelle befindet.

Mit diesem Ansatz können Sie mit beliebig großen Datenmengen arbeiten, da dies die Belastung des Netzwerks erheblich verringert Die notwendigen Hashes werden heruntergeladen. Beispielsweise beträgt die Größe eines Blocks mit fünf Transaktionen maximaler Größe mehr als 500 Kilobyte. Die Größe des Merkle-Proofs würde in demselben Fall 140 Byte nicht überschreiten.

Funktionsweise des Merkle-Baums in Bitcoin

Eine Hash-Funktion ist ein Prozess zum Konvertieren von Eingabedaten in eine Bitfolge einer angegebenen Länge. Die empfangene Zeichenfolge, der Hash, ist stark vom Array der eingehenden Daten abhängig. Wenn auch nur ein Zeichen aus dem gesamten Array geändert wird, nimmt der resultierende Hash einen völlig anderen Wert an.

Alle Transaktionen im Bitcoin-Block sind Zeichenfolgen im Hexadezimalformat. Sie werden gehasht und als Transaktionskennungen (txid) dargestellt. Alle txid im Block werden gehasht, bis ein einzelner Hash-Wert des Blocks empfangen wird. Dabei wird der Merkle-Baum aufgebaut:

  1. Zuerst wird txid (Transaktions-ID) selbst berechnet, dh Transaktions-Hashes;
  2. Dann werden Hashes aus der Summe der Transaktions-Hashes berechnet. Der Merkle-Baum ist binär – das heißt, bei jedem neuen Hash-Schritt muss die Anzahl der Baumelemente gerade sein. Wenn der Block eine ungerade Anzahl von Transaktionen hat, wird der Hash des letzten dupliziert und zu sich selbst hinzugefügt.
  3. Neue Hashes werden aus den Hashes der Summe der Transaktions-Hashes berechnet. Der Prozess wird fortgesetzt, bis ein einzelner Hash erhalten wird (Merkle-Wurzel). Es ist im Blockheader angegeben.
 merkle-tree in depth

In der Bitcoin-Blockchain werden Merkle-Bäume mit SHA-256-Double-Hashing erstellt. Hier ist ein Beispiel für Hashing ein hallo string:

Erstrunden-SHA-256:

2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Zweitrunden SHA-256:

9595c9df90075148eb06860365df33584b75bff782a510c6cd4883a419833d50

Das Prinzip der Merkle-Baum

Das Kompilieren eines Merkle-Baums ähnelt dem Falten von Daten. Dank dieser Funktion kann eine große Liste von Transaktionen oder anderen Informationen in nur einer Zeile dargestellt werden. Das Erstaunliche ist, dass, wenn irgendwo in der Liste der gleichen Transaktionen nur ein Symbol geändert wird, die nächste Ebene des Baums und der letzte Hash völlig unterschiedlich sind. Dies bedeutet, dass sich auch die Oberseite des Baums ändert.

Mit anderen Worten, Sie können keine Transaktion durch eine andere in den Block einsetzen oder die Daten vorhandener Transaktionen ändern. Aus diesem Grund wird der Merkle-Baum als effizientes Verfahren zur Aufzeichnung von Transaktionen in einer Blockchain angesehen. Es gibt auch das Konzept von Merkle Proof. Dies ist das Prinzip der Überprüfung der Gültigkeit von Informationen mithilfe von Hashes. Anstatt das gesamte Datenarray zu untersuchen, ist es ausreichend, einzelne Hashes im Baum zu untersuchen, was den Rechenaufwand für den gesamten Prozess erheblich verringert.

Merkle-Baum-Alternativen

Der Artikel beschreibt die einfachste binäre Version des Konzepts erfunden von Ralph Merkle. Darin hat jeder "Eltern" -Hash zwei "Erben". In Bitcoin wird ein Hash-Baum unter Verwendung von SHA-256-Double-Hashing erstellt.

Es gibt komplexere Interpretationen des Konzepts. Das Ethereum verwendet beispielsweise den Präfix-Merkle-Baum. Jeder Ethereum-Blockheader enthält drei solcher Bäume gleichzeitig: für Transaktionen Informationen über deren Ausführung und Status. Im Gegensatz zu einem Binärbaum hängt der Wert eines Präfixknotens auch von Verbindungen zu anderen Knoten ab. Der Wert ist dynamisch und nicht festgelegt. Sie kann geändert werden, ohne dass alle Hashes des Baums neu berechnet werden müssen.

 Äthereum-Merkle-Baum

Der Beitrag "Merkle Tree Explained" erschien zuerst auf Changelly.

von Changelly https://changelly.com/ blog / merkle-tree-explain /

Ersten Kommentar schreiben

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht.


*