Overview of Merkle Trees
Merkle trees make extensive use of one way hashing and are established by hashing a hash’s corresponding hash together and climbing up the tree until you obtain the root hash which is or can be publicly known.
![Demonstration of a hash function as a one-way encryption of a key through a function with a resultant hash](https://cdn.sanity.io/images/4hh16r5z/production/8f90b46e2bcc7bae4b09829ee3808117d6a5a987-591x232.webp?w=1920&q=75&fit=clip&auto=format)
Merkle Tree: Example of Hashing Transactions
![Merkle Tree](https://cdn.sanity.io/images/4hh16r5z/production/c00f10068a5aa969bb2d164b74a37529546ea1c4-602x214.webp?w=1920&q=75&fit=clip&auto=format)
In the Merkle Tree above, each block-level represents a higher order of hashing stemming from a transaction (T0-T7).
For each block-level above the original transaction, the subsequent hash value (H), is passed through a hash function until reaching the highest block-level represented as the combination of all the preceding hashes (H01234567).
The lowest-level hash values are referred to as leaves — containing the hashed value of the transaction (T) associated with the leaf.
The resultant hashing of leaves and their subsequent hashes, levels 3 and 4, are referred to as branches (or nodes).
Finally, the highest block-level, the Merkle Root, stores the summary of all of the transaction data as a singular value.