Merkle Tree
Ein Merkle Tree ist eine hierarchische Hash-Struktur, in der jedes Blatt ein Daten-Hash ist und jeder Elternknoten der Hash seiner Kinder, sodass die Integrität eines großen Datensatzes mit einem Root-Hash prüfbar ist.
In Bitcoin fasst jeder Block alle Transaktionen in einem Merkle Tree zu einer einzigen merkle root im Block-Header zusammen. Das ermöglicht zwei Dinge: kompakte Block-Header (80 Byte) und SPV-Proofs — ein leichter Client kann mit nur log(n) Hashes beweisen, dass eine Transaktion in einem Block ist, ohne den ganzen Block zu laden. Merkle Trees liegen auch Git, ZFS, IPFS und vielen anderen Systemen zugrunde.
Beispiel
Ein Block mit 4096 Transaktionen hat eine 32-Byte-Merkle-Root. Der Beweis, dass Transaktion #1247 enthalten ist, benötigt nur 12 Hashes (log₂(4096)) — in jeder SPV-Wallet effizient.
Häufig gestellte Fragen
Was ist ein Merkle Proof?
Die Liste der Geschwister-Hashes auf dem Pfad vom Blatt zur Root. Mit diesen plus der Transaktion kann jeder die Root nachrechnen — ohne die anderen 4095 Transaktionen zu sehen.
Anfällig für Kollisionen?
Bitcoin nutzt Doppel-SHA-256. Theoretischer Birthday-Angriff bei 128-Bit-Effektivstärke, praktisch vor groß skaligem Quantum nicht durchführbar. Auf absehbare Zeit sicher.
Verwandte Begriffe
Weiterführende Links
- → Unser Service: Bitcoin & Fintech