Crypto glossary
Merkle tree
A Merkle tree is a data structure that hashes data in pairs up to a single root, so anyone can prove an item belongs to a large set using very little data.
A Merkle tree starts by hashing each piece of data, such as each transaction in a block. Those hashes are paired and hashed again, level by level, until a single hash remains: the Merkle root. Changing any one item changes its hash and every hash above it, so the root works as a compact fingerprint of the whole set.
Bitcoin stores the Merkle root of each block's transactions in the block header. Light wallets use Merkle proofs, a short path of hashes, to confirm that a transaction is in a block without downloading the whole block. Ethereum uses a variant called the Merkle Patricia trie for its state, and exchanges use Merkle trees in proof-of-reserves reports so customers can check that their balance is included.
A Merkle proof only shows that an item is part of a committed set; it says nothing about whether the set is complete or honest. A tree of customer balances, for instance, cannot reveal liabilities that were left out of it.
Example
In a block with 4,000 transactions, a Merkle proof needs only about 12 hashes to show that one particular transaction is included.