Ein Merkle-Baum (auch binärer Hash-Baum genannt) ist eine Datenstruktur, die in Blockchains verwendet wird, um große Datensätze effizient zusammenzufassen und zu verifizieren. Jeder Blattknoten enthält einen Hash eines Datenblocks (einer Transaktion), jeder Nicht-Blattknoten enthält einen Hash seiner Kindknoten, und die Wurzel – der letzte Knoten – enthält den Hash des letzten Knotens. Merkle-Wurzel — ist ein einzelner Hashwert, der alle Transaktionen im gesamten Block repräsentiert.
Bitcoin und Ethereum verwenden beide Merkle-Bäume, um Transaktionen innerhalb jedes Blocks zu organisieren. Die Merkle-Wurzel wird im Block-Header gespeichert, wodurch … Merkle-Beweise — Mathematische Beweise dafür, dass eine bestimmte Transaktion in einem Block enthalten ist, verwenden nur eine geringe Anzahl von Hashes (O(log n)), anstatt alle Transaktionen herunterladen zu müssen. Dies ermöglicht eine ressourcenschonende Verifizierung für SPVs und Light Clients, ohne die gesamte Blockchain herunterladen zu müssen.
Merkle-Baumstruktur
4 transactions in a block: Tx1, Tx2, Tx3, Tx4
Step 1: Hash each transaction (Bitcoin uses double SHA-256)
H1 = SHA256(SHA256(Tx1)) = "abc..."
H2 = SHA256(SHA256(Tx2)) = "def..."
H3 = SHA256(SHA256(Tx3)) = "ghi..."
H4 = SHA256(SHA256(Tx4)) = "jkl..."
Step 2: Hash pairs of child nodes
H12 = SHA256(SHA256(H1 + H2)) = "mno..."
H34 = SHA256(SHA256(H3 + H4)) = "pqr..."
Step 3: Hash to root
Merkle Root = SHA256(SHA256(H12 + H34)) = "stu..."
Tree structure:
Merkle Root (stu...)
/ \
H12 (mno...) H34 (pqr...)
/ \ / \
H1(abc) H2(def) H3(ghi) H4(jkl)
| | | |
Tx1 Tx2 Tx3 Tx4
Merkle Proof for Tx3 (prove Tx3 is in block):
Provide: H4, H12
Verifier computes:
H3 = hash(Tx3) ← from the transaction itself
H34 = hash(H3 + H4) ← H4 provided
Root = hash(H12 + H34) ← H12 provided
If computed Root matches block header Root → Tx3 confirmed ✓
Data required: 2 hashes (not all 4 transactions)
For a block with 4,096 transactions:
Proof requires only 12 hashes — not 4,096
For 1,000,000 transactions: ~20 hashes
Hinweis zu ungeraden Transaktionszahlen: Enthält ein Block eine ungerade Anzahl von Transaktionen, wird der Hash der letzten Transaktion dupliziert, um ein Paar zu bilden – eine bekannte Eigenart der Merkle-Baum-Implementierung von Bitcoin.
Merkle-Baum-Anwendungen
| Anwendung | Wie Merkle-Bäume verwendet werden |
|---|---|
| Bitcoin-Blöcke | Die Merkle-Wurzel der Transaktion wird im Blockheader gespeichert; dies ermöglicht SPV-Nachweise für Light Wallets. |
| Ethereum-Zustand | Merkle Patricia Trie (MPT) für Kontostände, Speicherung und Transaktions-/Belegdatensätze; Verkle Trees als Upgrade geplant |
| Airdrop-Berechtigung | Merkle-Proofs verifizieren einzelne Adressen in der Blockchain, ohne die vollständige Empfängerliste im Smart Contract zu speichern. |
| ZK-Beweise | Merkle-Beweise können innerhalb von ZK-Schaltungen für kompakte Inklusionsbeweise verifiziert werden. |
| Git (Versionskontrolle) | Git verwendet einen inhaltsadressierten DAG (gerichteten azyklischen Graphen) von Objekten – eine Struktur, die von Merkle-Bäumen inspiriert und eng mit ihnen verwandt ist. |
| Zertifikatstransparenz | Merkle-Protokolle mit dem Modus „Nur Anhängen“ ermöglichen die öffentliche Überprüfung aller ausgestellten TLS-Zertifikate. |
| Staatenlose Clients | Merkle/Verkle-Beweise ermöglichen es Knoten, Blöcke zu verifizieren, ohne den vollständigen Zustand zu speichern. |
FAQ
F: Wie nutzen DeFi-Airdrops Merkle-Bäume?
Airdrops nutzen Merkle-Bäume, um die Berechtigung in der Blockchain nachzuweisen, ohne alle berechtigten Adressen im Smart Contract speichern zu müssen, was bei großem Umfang extrem kostspielig wäre. Das Protokoll erstellt einen Merkle-Baum aller berechtigten Adressen und Beträge, dessen Wurzel in der Blockchain gespeichert wird. Berechtigte Nutzer übermitteln ihre Adresse sowie einen Merkle-Nachweis – eine kurze Folge von Hashes. Der Smart Contract verifiziert den Nachweis anhand der gespeicherten Wurzel und gibt den Anspruch bei Gültigkeit frei. Dies ermöglicht eine gaseffiziente Verifizierung von Millionen berechtigter Adressen mit nur einer einzigen 32 Byte großen Merkle-Wurzel, die in der Blockchain gespeichert wird.
F: Was ist ein Merkle Patricia Trie?
Ethereum verwendet eine komplexere Variante namens a Merkle Patricia Trie (MPT) — Kombination eines Merkle-Baums (kryptografisches Hashing zur Integritätsprüfung) mit einem Patricia-Trie (einer präfixkomprimierten Struktur für effiziente Schlüssel-Wert-Suche). Ethereum verwaltet drei separate MPTs pro Block: den Staatsversuch (alle Kontostände und Vertragsspeicherung), die Transaktionsversuch (alle Transaktionen im Block) und die Quittungsversuch (Transaktionsausführungsergebnisse und -protokolle). Dies ermöglicht effiziente Zustandsnachweise – den Nachweis des Kontostands oder des Speicherwerts eines beliebigen historischen Blocks. Die Roadmap von Ethereum sieht den Übergang von MPTs zu Verkle-Bäume, die noch kleinere Beweise erzeugen und zustandslose Clients ermöglichen.
F: Wie helfen Merkle-Proofs Light Clients (SPV-Wallets)?
Eine Light Wallet – wie beispielsweise eine mobile Bitcoin-Wallet – lädt nicht die gesamte Blockchain herunter, sondern nur die Block-Header (jeweils 80 Byte). Um die Bestätigung einer Transaktion zu verifizieren, fordert sie einen Merkle-Proof von einem Full Node an: eine kleine Menge von Hashes, die belegt, dass die Transaktion in einem bestimmten Block enthalten ist. Bei einem Bitcoin-Block mit Tausenden von Transaktionen benötigt dieser Proof nur etwa 20 Hashes, anstatt alle Transaktionen herunterzuladen. Dadurch ist die Transaktionsverifizierung mit Kilobytes statt Gigabytes möglich, was praktische mobile Krypto-Wallets ermöglicht.
F: Was passiert, wenn ein Merkle-Baum eine ungerade Anzahl von Blättern hat?
Bei Bitcoin wird bei einer ungeraden Anzahl von Transaktionen der Hash der letzten Transaktion dupliziert, um sie paarweise zuzuordnen und zu gehashen. Dies ist eine bekannte Eigenart des ursprünglichen Merkle-Baum-Designs von Bitcoin und hat in der Praxis keine Sicherheitsrisiken, obwohl sie von Protokollforschern als unelegant kritisiert wurde.
F: Worin unterscheiden sich Merkle-Bäume von Verkle-Bäumen?
Verkle-Bäume sind ein vorgeschlagener Nachfolger der Merkle Patricia-Bäume in Ethereum. Sie verwenden Vektorverpflichtungen (Basierend auf elliptischer Kurvenkryptographie) anstelle von Hash-basierten Commitments, wodurch deutlich kleinere Beweise entstehen. Ein Verkle-Beweis für eine große Anzahl von Blättern kann nur einen Bruchteil der Größe eines äquivalenten Merkle-Beweises haben – eine entscheidende Eigenschaft für zustandslose Ethereum-Clients, die nicht den vollständigen Zustand speichern müssen.
Verwandte Begriffe
SHA-256 · Kryptografische Hash-Funktion · Bitcoin • Ethereum • Light Client (SPV) • Airdrop ZK-Beweis · Verkle Tree · Merkle Patricia Trie
UPay-Tipp: Merkle-Bäume sind der Grund, warum die Blockchain-Verifizierung nicht nur theoretisch vollständig, sondern auch effizient ist. Wenn Sie eine Transaktion auf Etherscan verifizieren, prüfen Sie im Grunde einen Merkle-Beweis. Wenn Sie einen Airdrop durch eine On-Chain-Transaktion beanspruchen, reichen Sie einen Merkle-Beweis Ihrer Berechtigung ein. Wenn eine mobile Wallet eine Bitcoin-Zahlung bestätigt, ohne die gesamte Blockchain herunterzuladen, verwendet sie SPV mit Merkle-Beweisen. Das Verständnis von Merkle-Bäumen hilft Ihnen zu erkennen, warum die Blockchain-Verifizierung sowohl kryptografisch beweisbar als auch praktisch effizient ist – Sie müssen nie alles herunterladen, um etwas zu verifizieren.
Hinweis: Dieser Inhalt dient ausschließlich Bildungszwecken und stellt keine Finanzberatung dar.










