Cryptology Academy · Lektion

Merkle-Bäume: Transaktionsintegrität im großen Maßstab

Konstruieren Sie Merkle-Bäume und erzeugen Sie effizient Inklusionsbeweise.

Lektion 2 von 413 Schritte

Merkle-Bäume: Transaktionsintegrität im großen Maßstab ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Problem: Transaktionen effizient verifizieren

Ein Bitcoin-Block enthält etwa 2000 Transaktionen. Um nachzuweisen, dass die Transaktion T enthalten ist, ohne alle 2000 Transaktionen herunterzuladen, benötigen wir einen kompakten Beweis. Merkle-Bäume lösen dieses Problem: Die Beweisgröße beträgt O(log n) Hashes statt O(n) Transaktionen.

Konstruktion eines Merkle-Baums

Blätter: SHA256d (doppeltes SHA-256) jeder Transaktion. Elternknoten: SHA256d(left_child_hash || right_child_hash). Wiederholen Sie dies, bis nur noch eine Root übrig ist. Bei einer ungeraden Anzahl von Knoten wird der letzte Knoten dupliziert. Die Root ist die im Blockheader gespeicherte Merkle-Root (32 Byte).

Merkle-Root in Python

import hashlib def sha256d(x): return hashlib.sha256(hashlib.sha256(x).digest()).digest() def merkle_root(txids): if len(txids)%2: txids.append(txids[-1]) while len(txids)>1: txids=[sha256d(txids[i]+txids[i+1]) for i in range(0,len(txids),2)] return txids[0].hex()

Merkle-Beweis (Inklusionsbeweis)

Um zu beweisen, dass sich die Transaktion T an Position i befindet: Geben Sie die Hashes der Geschwisterknoten auf jeder Ebene vom Blatt von T bis zur Root an (O(log n) Hashes). Der Verifizierer berechnet die Root aus T und dem Geschwisterpfad neu. Wenn die berechnete Root mit der Merkle-Root im Blockheader übereinstimmt, ist T nachgewiesen.

Beispiel für die Beweisgröße

1024 Transaktionen → Merkle-Beweis = 10 Hashes = 320 Byte. Vollständiger Block = ~1 MB. SPV-Clients laden nur den 80-Byte-Header + den 320-Byte-Merkle-Beweis für jede für sie relevante Transaktion herunter – 99,97 % Bandbreite werden gegenüber dem Herunterladen des vollständigen Blocks eingespart.

Manipulationserkennung

Wenn sich eine Transaktion im Baum ändert, ändert sich ihr Blatthash, und diese Änderung setzt sich bis zur Merkle-Root fort. Die veränderte Root stimmt nicht mehr mit dem Blockheader überein (der durch PoW abgesichert ist). Jede Änderung lässt sich erkennen, indem die Root aus den Transaktionen berechnet wird.

Patricia-Merkle-Trie (Ethereum)

Ethereum erweitert Merkle-Bäume um Tries (Patricia-Merkle-Trie): einen hexadezimalpräfixcodierten Radix-Trie, bei dem jeder Knoten per Merkle-Hash gehasht wird. Verwendet für: State-Trie (Kontostände), Transaktions-Trie, Receipt-Trie. Dies ermöglicht einen effizienten Nachweis des Kontostands ohne die Daten eines vollständigen Nodes.

Merkle-Mountain-Range

Eine Merkle-Mountain-Range (MMR) ist eine nur erweiterbare Merkle-Struktur für protokollartige Daten. Neue Elemente werden angehängt; Peaks (Roots von Teilbäumen mit Größen von Zweierpotenzen) werden verwaltet. Sie wird in Grin/MimbleWimble und ZCash für effiziente kompakte Beweise über ein nur erweiterbares Protokoll verwendet.

Verkle-Bäume

Verkle-Bäume ersetzen Merkle-Bäume in der Ethereum-Roadmap (EIP-6800): Sie verwenden Vektor-Commitments (KZG-Polynom-Commitments) statt Hashes. Beweisgröße: O(1) statt O(log n) bei Merkle-Bäumen. Dadurch können zustandslose Clients den Zustand verifizieren, ohne den vollständigen Trie zu speichern.

Certificate Transparency als Merkle-Log

Certificate Transparency (RFC 6962) verwendet ein nur erweiterbares Merkle-Log: Jedes von einer CA ausgestellte Zertifikat ist ein Blatt. Inklusionsbeweise weisen nach, dass ein Zertifikat protokolliert wurde. Konsistenzbeweise weisen nach, dass das Log nur erweitert wurde (keine Löschungen oder Einfügungen). Browseranbieter verifizieren SCTs mithilfe dieses Logs.

Git-Objektmodell

Git-Bäume (Verzeichnissnapshots) sind Merkle-Bäume: Jeder Baumknoten hasht seine Datei-Blobs und Unterbäume. Ein Commit-Hash identifiziert den gesamten Zustand der Codebasis eindeutig. Deshalb liefert git checkout immer genau dieselben Dateien.

Schnelltest

Wie viele Hashes benötigt ein Merkle-Beweis, um die Inklusion in einem Baum mit 1024 Blättern nachzuweisen?

Zusammenfassung

Merkle-Bäume ermöglichen Inklusionsbeweise mit O(log n). Bitcoin speichert die Merkle-Root in Blockheadern; SPV-Clients verwenden Beweise. Ethereum erweitert dies zu Patricia-Merkle-Tries. Verkle-Bäume werden Merkle-Bäume für Beweise mit O(1) ersetzen. Als Nächstes: Proof-of-Work-Mining und Schwierigkeit.

Kostenlos starten

Lerne Cryptology Academy mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
67
Lektionen
261

Häufig gestellte Fragen

Ist die Lektion „Merkle-Bäume: Transaktionsintegrität im großen Maßstab“ kostenlos?

Ja — der vollständige Text von „Merkle-Bäume: Transaktionsintegrität im großen Maßstab“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Merkle-Bäume: Transaktionsintegrität im großen Maßstab“?

Konstruieren Sie Merkle-Bäume und erzeugen Sie effizient Inklusionsbeweise. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cryptology Academy zu starten?

Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Merkle-Bäume: Transaktionsintegrität im großen Maßstab“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Hash-Ketten und Blockverknüpfung
  2. Merkle-Bäume: Transaktionsintegrität im großen Maßstab
  3. Proof of Work: Mining und Anpassung der Schwierigkeit
  4. Bitcoin Script und UTXO-Signaturprüfung
← Zurück zu Cryptology Academy