¿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 "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 una "rama" de datos, y esta "rama" también tiene su hash, creado combinando todos los hashes de "hojas" en un nuevo valor hash único de tamaño fijo. Al reunir todos los hashes de las "ramas", podemos crear el hash final del "árbol", que como resultado nos da el hash final de la raíz 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.

 

Descubrí cómo Bitso está poniendo en práctica 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?