The Merkle Root is the single cryptographic hash at the top of a Merkle Tree a compact summary of all transactions contained in a blockchain block. Every Bitcoin and Ethereum block header includes a Merkle Root, which serves as a tamper-evident fingerprint of every transaction in that block in just 32 bytes.
THE MERKLE TREE STRUCTURE
To understand the Merkle Root, you must understand the Merkle Tree (named after cryptographer Ralph Merkle). The construction process: Start with all individual transactions in the block. Hash each transaction individually (leaf nodes). Pair up the resulting hashes and hash each pair together. Continue pairing and hashing up the tree. The single hash at the top is the Merkle Root. If a block has 2,000 transactions, the Merkle Tree reduces them to a single 32-byte Merkle Root stored in the block header.
THE AVALANCHE EFFECT IN MERKLE TREES
Changing any single transaction in any position in the block completely changes the Merkle Root. Because each hash is computed from its two children, a change propagates upward through the tree altering every hash on the path from the changed leaf to the root. The final Merkle Root is entirely different, immediately revealing the tampering. This makes the block header an efficient integrity check for all contained transactions.
EFFICIENT TRANSACTION VERIFICATION: MERKLE PROOFS
Merkle Trees enable a powerful feature called Merkle Proofs (or Merkle Paths): proving that a specific transaction is included in a block without downloading all other transactions. To prove Transaction T is in a block, you only need: the hash of T itself, the "sibling" hashes on the path from T to the Merkle Root. For a block with 2,048 transactions, you only need 11 hashes (log₂ 2048) to prove inclusion versus downloading all 2,048 transactions. This is what enables light wallets (SPV wallets) to verify transaction inclusion efficiently.
MERKLE ROOTS IN BLOCK HEADERS
Bitcoin block headers contain: version, previous block hash, Merkle Root, timestamp, difficulty target, and nonce. The Merkle Root's presence in the header means proof-of-work mining covers all transactions in the block changing any transaction invalidates the entire block's proof-of-work.