¿Qué es un Árbol de Merkle?

Última actualización:


Un árbol de Merkle es un método criptográfico utilizado para verificar de forma segura la validez y el origen de un contenido específico dentro de grandes estructuras de datos. Esto se consigue representando todo un conjunto de datos, compuesto por cualquier cantidad de información, a través de un único valor de tamaño fijo denominado "hash."

 

Nota: se puede transformar cualquier tipo de contenido en un hash. Por ejemplo, el párrafo anterior se puede representar como el siguiente valor hash de tamaño fijo:

b280ea449f14c128518b490e5f36a1e6f88e17e2d49341ba92f0b38ef23dcbe03d131e0630833092093c226a3f694329dd542e540dd6bc087ee2b632fc2325de

Incluso podés confirmarlo recreando el hash acá. Fijate en cómo el valor hash cambia por completo con el más mínimo cambio que se haga en el párrafo (incluso espacios en blanco).

 

¿Cómo se pueden resumir grandes cantidades de datos en un único hash?

Acá es donde entra en juego la idea de "árbol". Como referencia, recordá que un gran conjunto de datos suele estar compuesto por múltiples subconjuntos de datos. Por ejemplo, Bitso tiene un conjunto de datos que contiene todos los activos que tenemos bajo nuestra custodia, construido por subconjuntos de datos representados por el balance que tiene cada una de las personas que tienen una cuenta en Bitso. 

El método del Árbol de Merkle crea nodos hijo (hojas) individuales que representan cada subconjunto de datos, donde cada hoja tiene un hash que representa la información que contiene. Cuando reunimos varios subconjuntos de datos representados en hojas, podemos construir un nodo padre (rama) y esta rama también tiene su hash, creado combinando todos los hashes de los nodos hijo en un nuevo valor hash único de tamaño fijo. Al reunir todos los hashes de las ramas (nodos padre), podemos crear el hash final del árbol, es decir el hash raíz de Merkle, que representa todo el contenido de nuestra estructura de datos completa.

 

¿Por qué es tan importante esto?

Con este método, es posible demostrar que un subconjunto de datos específico está realmente contenido en la estructura de datos más grande sin revelar su contenido o el contenido de otros subconjuntos de datos. En otras palabras, podés verificar que la hoja con tus datos "existe" en el árbol de Merkle.


Ofrecemos esta información solo con fines informativos, no se trata de asesoramiento financiero. Comprar, vender, hacer trading o usar criptomonedas está sujeto a ciertos riesgos, incluida la volatilidad de los precios y la pérdida de capital. Para más información, visitá el siguiente link.


¿Te sirvió este artículo?