Een Merkle tree is een binaire hashstructuur bedacht door cryptograaf Ralph Merkle, voor het eerst beschreven in een octrooiaanvraag uit 1979 over authenticatiebomen voor digitale handtekeningen. De structuur is niet uniek voor crypto: het is een algemene methode om te bewijzen dat een stukje data deel uitmaakt van een grotere verzameling zonder die hele verzameling te hoeven inspecteren, een eigenschap die naadloos aansluit op hoe blockchains transacties verifiëren.
Het opbouwen begint bij de bladeren (leaves). Elke transactie in een block wordt afzonderlijk gehasht, waarna paren van hashes worden samengevoegd en opnieuw gehasht, laag na laag, totdat er één hash overblijft: de Merkle root. Die root, niet de volledige transactielijst, wordt opgeslagen in de block header. Bitcoin gebruikt hiervoor dubbele SHA-256, terwijl Ethereum Keccak-256 gebruikt en het concept uitbreidt naar een aangepaste Merkle Patricia trie, die naast transacties ook accountsaldi en smart-contractopslag vastlegt.
Het grootste voordeel is de omvang van het bewijs. Om aan te tonen dat één transactie bij een block hoort, heeft een node alleen de zogeheten sibling hashes nodig langs het pad naar de root: een handvol waarden in plaats van het hele block. Zo bevestigen Simplified Payment Verification (SPV)-wallets en light clients een betaling zonder de volledige chain op te slaan: ze downloaden alleen block headers plus een kort Merkle-bewijs. Omdat het wijzigen van één transactie elke hash daarboven verandert, is manipulatie direct zichtbaar bij de root, en daarom vormen Merkle trees nog steeds de basis van rollup state commitments en cross-chain bewijssystemen.