# Tutorial 32: Merkle Leafs

{% hint style="info" %}
[**Book an audit with Zokyo**](https://www.zokyo.io/)
{% endhint %}

Merkle trees are widely used in blockchain technology and cryptographic applications to prove the inclusion of an item in a set without revealing the entire set. This efficient proof system is leveraged in various decentralized applications to validate specific data, such as token IDs, transaction information, or other criteria.

A typical Merkle tree consists of **leaf nodes** (which hold the original data) and **intermediate nodes** (which are combinations of two child nodes' hashes). The root node, or the **Merkle root**, is a single hash that represents the entire tree. While Merkle trees are efficient and secure for data validation, vulnerabilities can arise if the distinction between leaf nodes and intermediate nodes is not properly enforced in the validation process.

When the system mistakenly treats intermediate nodes (non-leaf nodes) as valid data, attackers can exploit this weakness to manipulate the system, leading to unexpected outcomes, including data corruption, incorrect validation, and potential loss of value.
