A Merkle tree is a hash based data structure. The Merkle tree arranges each leaf node as a hash and is a useful model for demonstrating how a network like a blockchain, or any peer to peer network for that matter, can grow from a single block or node. Merkle trees have a branching factor of two. This means that up to two other leaf nodes can branch off of a single leaf node. This is how the tree grows.