Blockchain und Kryptowährungen sind eine riesige und komplexe Landschaft. Viele Rädchen gehen in diese Maschine, einschließlich etwas, das als Merkle-Baum bekannt ist. Merkle-Bäume spielen eine Schlüsselrolle in der Blockchain-Funktionalität, aber was genau macht sie? Wie funktioniert ein Merkle-Baum und warum ist er in der Blockchain-Technologie so wichtig?
Wie funktioniert eine Blockchain?
Bevor Sie sich mit der Dynamik des Merkle-Baums befassen, ist es wichtig zu verstehen wie Blockchains funktionieren.
Einfach ausgedrückt ist eine Blockchain eine virtuelle Kette von Blöcken, von denen jeder seinen eigenen Datensatz enthält. Jeder Block verwendet Kryptografie, insbesondere Hashing, um Daten zu sichern und sie vor böswilligen Akteuren zu schützen.
Blockchains werden am häufigsten in der Kryptowährungsbranche verwendet, wo jede einzelne Transaktion, die mit einem bestimmten Vermögenswert durchgeführt wird, in seiner nativen Blockchain aufgezeichnet wird. Darüber hinaus wird jede Transaktion chronologisch aufgezeichnet und ist für die gesamte Blockchain sichtbar (einsehbar mit
Tools wie ein Blockchain-Explorer).Transaktionen auf einer Blockchain können nicht geändert oder gelöscht werden. Verwenden Sie stattdessen a Prozess namens Hashing, Daten werden durch mathematische Algorithmen kodiert. Diese Algorithmen können Zeichen beliebiger Länge in eine feste, kodierte Länge umwandeln.
Bei der Aufzeichnung von Transaktionen auf einer Blockchain spielen Merkle-Bäume eine entscheidende Rolle. Aber wie funktioniert ein Merkle-Baum?
Was ist ein Merkle-Baum?
Der Name „Merklebaum“ hat zwei Ursprünge. „Merkle“ bezieht sich auf Ralph Merkle, einen amerikanischen Informatiker und Mathematiker, der maßgeblich zur Public-Key-Kryptografie beigetragen hat. Merkle schlug erstmals 1987 binäre Hash-Bäume in einem Artikel mit dem Titel „A Digital Signature Based on a Konventionelle Verschlüsselungsfunktion." Merkle erfand auch das kryptografische Hashing, das im Merkle verwendet wird Baum.
Der zweite Teil von "Merkle-Baum" ergibt sich aus seiner Struktur. Ein Merkle-Baum (oder ein binärer Hash-Baum) ist eine Datenstruktur, die ein wenig wie ein Baum aussieht. Merkle-Bäume enthalten „Zweige“ und „Blätter“, wobei jedes „Blatt“ oder „Zweig“ den Hash eines Datenblocks enthält.
Kurz gesagt, ein Merkle-Baum rationalisiert den Prozess der Speicherung von Transaktions-Hashes auf einer Blockchain. Es fasst alle Transaktionen in einem einzigen Block zusammen und codiert sie effizient für eine sicherere und schnellere Speicherung in Form eines Hashs. Mit einem Merkle-Baum kann die Gültigkeit der Daten schnell durch einen abschließenden Hash bewertet werden. Dies vereinfacht den Datenspeicherprozess, erhält aber auch die Sicherheitsintegrität.
Merkle-Bäume erfordern auch nicht viele Rechenressourcen. Tatsächlich reduzieren sie den für Daten erforderlichen Speicherplatz, indem sie mehrere Transaktions-Hashes in nur einem kompilieren. Die Nutzung von Ressourcen ist in der Kryptoindustrie seit langem ein Streitpunkt, da Blockchain-Netzwerke eine enorme Belastung für Speicherplatz und Strom sein können. Die Verwendung von Merkle-Bäumen hilft also, dieses Problem zu mildern. Die Datenspeicherung auf der Kette kann auch teuer sein, sodass die Verwendung von Merkle-Bäumen zur Reduzierung der Datenmenge Blockchain-Plattformen dabei helfen kann, Geld zu sparen.
Darüber hinaus dauert der Merkle-Tree-Prozess nicht sehr lange, was in Bezug auf die Effizienz eine gute Nachricht ist. Schließlich sind viele Blockchains für ihre langen Transaktionszeiten vorgesehen (einschließlich Bitcoin), daher ist jeder Prozess, der bei diesem Problem helfen kann, ein Plus.
Merkle-Bäume werden in vielen Bereichen der Datenverarbeitung (insbesondere Kryptografie und Verschlüsselung) verwendet, sind aber oft für ihre Präsenz in Kryptowährungs-Blockchains bekannt. Bitcoin, Ethereum, Dogecoin und alle anderen Kryptowährungen verwenden den Merkle-Baum, daher ist er zweifellos ein wichtiges Element.
Also, wie funktioniert es?
Wie funktioniert ein Merkle-Baum?
Unten ist ein Diagramm, wie ein Merkle-Baum funktioniert. Beachten Sie, dass es in Wirklichkeit viel mehr Transaktionen und Hashes pro Baum geben würde, aber dieses Bild vereinfacht den Prozess, sodass Sie sich ein Bild von den beteiligten Schritten machen können.
Wenn man sich dieses Merkle-Baumdiagramm ansieht, sehen die Dinge etwas komplex aus. Aber der Prozess des Merkle-Baum-Hashings ist ziemlich einfach, wenn er aufgeschlüsselt wird.
Es gibt ein paar Schritte, die in den Merkle-Baumprozess einfließen. Die Hashes am unteren Ende des Merkle-Baums sind als Blätter bekannt, während die Hashes in der Mitte des Baums als Zweige bekannt sind. Die Zweige werden manchmal auch als Nichtblattknoten bezeichnet. Ganz unten im Diagramm sehen Sie die Datenblöcke (oder Transaktionen), aus denen der Hash hervorgehen wird.
Die anfänglichen Transaktionen von jedem Knoten werden paarweise gehasht, wobei ein Hash als Ergebnis verbleibt. Dann wird Paar für Paar wiederholt zu einem gehasht, bis ein einzelner Hash entsteht, wo der Prozess endet. Wenn innerhalb eines Blocks eine ungerade Anzahl von Transaktionen vorhanden ist, wird eine Transaktion dupliziert, damit sie mit dem Original für das Hashing gekoppelt werden kann.
Obwohl der endgültige Hash oben im obigen Diagramm erscheint, ist er als „Wurzel“ des Baums (Root-Hash) bekannt. Die Wurzel ist im Wesentlichen der Höhepunkt-Hash aller einzelnen Hashes von Transaktionen, die innerhalb des Blocks gespeichert sind. Pro Block ist ein Merkle-Baum erforderlich, was bedeutet, dass jeder Block ein Merkle-Root-Datenfeld hat.
Wenn Sie sich jemals eingehend mit Blockchains befasst haben, haben Sie vielleicht schon von Merkle Root oder Merkle Hash gehört. Innerhalb eines Blocks existiert etwas, das als HashMerkleRoot bekannt ist. Diese Daten (der letzte Hash am Ende des Baums) werden im Blockheader eines bestimmten Blocks aufbewahrt. A Der Blockchain-Block enthält auch andere Daten, wie z. B. ein Zeitstempel, eine Asset-Versionsnummer und die "Nonce" (Nummer, die nur einmal verwendet wird).
Können Blockchains ohne Merkle Trees funktionieren?
Obwohl Merkle-Bäume nicht unbedingt erforderlich sind, damit eine Blockchain existiert, spielen sie eine unglaublich wichtige Rolle bei der Sicherung von Daten.
Ohne Merkle-Bäume benötigen Kryptowährungs-Blockchains mehr Ressourcen und Zeit, um Schlüsselprozesse auszuführen. Erstens müsste jeder Knoten innerhalb des Netzwerks seine eigene Kopie jeder auf der Blockchain durchgeführten Transaktion aufbewahren. Auf größeren Blockchains können Hunderttausende von Transaktionen im Raum von nur einer stattfinden Tag, also würde das Hinzufügen einer solchen Datenmenge zur Kopie jedes Knotens zweifellos viel Zeit in Anspruch nehmen Ressourcen.
Darüber hinaus spielen Merkle-Bäume eine große Rolle bei der Datenüberprüfung. Über den einzelnen Root-Hash am Ende des Baums können Validatoren und Miner überprüfen, ob der Block als Ganzes gültig ist, um der Blockchain hinzugefügt zu werden. Die Möglichkeit, Daten zu authentifizieren, ohne jede einzelne Transaktion zu sichten, ist ein Plus, das Zeit und Speicherplatz spart.
Merkle-Bäume sind der Schlüssel zur Blockchain-Funktionalität
Es ist nicht zu leugnen, dass Merkle-Bäume Blockchains Sicherheit und Effizienz bieten, ohne viel Platz zu beanspruchen. Dieser ausgeklügelte kryptografische Prozess ermöglicht es Blockchains, nahtlos zu funktionieren, ohne dass eine übermäßige Nutzung von Ressourcen erforderlich ist. Merkle-Bäume sind nicht unbedingt erforderlich, aber enorm vorteilhaft, wenn es um Zeit, Speicherplatz und Datenauthentifizierung geht.