Home / Definitions / Merkle Tree

Merkle Tree

Sam Ingalls
Last Updated February 10, 2022 8:36 am

Merkle trees—or hash trees—are cryptographic algorithms allowing for the efficient validation of large data structures and are critical to the development of secure computing systems. Merkle trees are most visible in designing distributed computing networks like a peer-to-peer architecture for verifying blocks of data across a network of remote devices.

This article looks at the definition of a Merkle tree and its components, how they work, their use cases, and where hash trees originate.

What is a Merkle Tree?

A Merkle tree is a hash-based data structure used in computer system development for efficient data verification in distributed systems. Hash trees are represented by a single root hash which itself is the result of sub-hashes collected from branch hashes and leaf hashes.

As verification transactions take place and hashes get combined into a single root hash, the process of declaring the combined hash is known as a Merkle proof.

A graphic image showing the data structure for a Merkle tree, showing how transactions contribute to Leaf hashes, which contribute to Branch hashes, and up to a Root Hash.

Components of Merkle Tree

Root The central block of data containing all information for the tree in a single hash
Branches The blocks combining hash values of groups of leaves
Leaves The blocks reflecting the hash value of respective node data
Nodes The data being processed by an application, also known as transaction

Type of Cryptographic Commitment Scheme

Merkle trees are examples of cryptographic commitment schemes, which allow a user to choose a binding value without revealing it to others. 

Commitment schemes have been critical to developing cryptographic protocols for digital signature systems, secret sharing, and zero-knowledge proofs. Among commitment schemes, Merkle trees are unique because they provide for a partial reveal of the committed value.

How Does a Merkle Tree Work?

Merkle trees are a digital structure reflecting the entire set of operations (or hashes) for a given block of data. Leaf hashes contribute to branches, and branch hashes contribute to an overarching single hash known as the root hash. As hash-based files, Merkle trees offer easier sharing with a lightweight data structure than traditional and legacy file systems.

Use Cases of Merkle Tree

Merkle (left), Hellman (center), and Diffie (right) at Stanford in 1977. (Chuck Painter / Stanford News Service)

Merkle Tree History

In 1976 at Stanford University, a computer science doctoral candidate Ralph Merkle—along with Whitfield Diffie and Professor Martin Hellman—developed the earliest successful public-key encryption, dubbed the Diffie-Hellman-Merkle key exchange

Three years later in 1979, Merkle patented the data structure known as a Merkle tree and is known as the inventor of cryptographic hashing.

Recent Coverage