What is a Merkle proof?

A Merkle proof shows that an item belongs to a Merkle tree. It is the item together with a short list of sibling hashes, which lets anyone recompute the tree's root and compare it with the root they already trust.

Also called Merkle path, Merkle branch, authentication path or inclusion proof.

How a Merkle tree is built

A Merkle tree hashes each item, hashes pairs of those hashes together, and repeats until one hash remains, the root. Each level holds about half as many hashes as the level below it.

The root stands for the whole list, so one short value can commit to a list of any length.

How the proof works

To prove that an item is in the tree, the prover sends the item and the hash of each sibling along the path from the item up to the root. The verifier hashes its way up the path and compares the result with the root.

The path has one hash per level, so its length grows with the logarithm of the number of items. A list of a million items needs a path of about twenty hashes.

Why it matters for privacy

A plain Merkle proof reveals the item it proves. A private system can instead prove membership inside a zero-knowledge proof, so the verifier learns that some item in the tree is included without learning which one.

In Redacted

In Redacted, each note is a SHA-256 commitment in a Merkle tree, and spending requires a zero-knowledge proof that you own an unspent note in that tree, without revealing which one. The tree has 67 million slots, and appending a note costs twenty-six hashes whichever note it is.

Architecture →

Related terms

Sources: Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto · Merkle tree, Bitcoin Wiki · Fast Reed-Solomon Interactive Oracle Proofs of Proximity, ECCC 2017

Updated November 1, 2026. All terms