Un árbol de Merkle es una estructura de datos en árbol, divida en varias capas, que tiene como objetivo relacionar cada uno de los nodos con una raíz única asociada a estos.
***
¿Qué es el Árbol de Merkle?
El árbol de Merkle o Merkle Hash Tree, en inglés, es una estructura de datos en árbol, binario o no, en el que cada nodo que no es una hoja está etiquetado con el hash (función computable mediante algoritmo) de la concatenación de las etiquetas o valores (para nodos hoja) de sus nodos hijo. Son una generalización de las listas hash y las cadenas hash.
Permite que gran número de datos separados puedan ser ligados a un único valor de hash: el hash del nodo raíz del árbol. De esta forma proporciona un método de verificación segura y eficiente de los contenidos de grandes estructuras de datos. En sus aplicaciones prácticas normalmente el hash del nodo raíz va firmado para asegurar su integridad y que la verificación sea totalmente fiable. La demostración de que un nodo hoja es parte de un árbol hash dado requiere una cantidad de datos proporcional al logaritmo del número de nodos del árbol.
Fue patentado en 1979 por Ralph Merkle y su mayor uso actualmente es hacer seguros los bloques de datos recibidos de otros pares en las redes peer-to-peer, asegurar que estos son recibidos sin daños y sin ser alterados.
¿Cómo funciona?
Un árbol de Merkle relaciona todas las transacciones y las agrupa entre pares, así obtiene una dirección raíz (Root Hash). Esta raíz se relaciona con todos los nodos del árbol. Como verificar todas las transacciones de una red sería lento e ineficiente, se implementó este sistema. Específicamente otorgan un gran nivel de seguridad: si un hash es cambiado, cambiarían todos los demás hasta llegar a la raíz, por lo tanto esto invalidará la autenticidad de la información de todo el árbol.
¿Cuál es la relación con Blockchain?
El árbol Merkle es vital en la tecnología Blockchain. Gracias a este, un usuario que desea instalar un cliente Bitcoin no tiene por qué descargarse todo el historial del Blockchain, sino que puede reducir su descarga a solo unos cientos o miles de bloques atrás. Su uso facilita el proceso al permitir tomar solo una parte del historial y reducir el tamaño de la descarga.
¿Para qué sirven?
Destaca Bit2Me Academy que los árboles de Merkle:
- Proveen de una gran seguridad, resisten a la alteración de datos.
- Son un medio eficiente para generar una estructura distribuida de datos.
- Permiten un alto nivel de rendimiento de transmisión de datos en redes distribuidas. Gracias a esto, disminuyen la cantidad de datos necesarios para su correcto funcionamiento.
- Son computacionalmente poco costosos y eficientes a la hora de crear, procesar y verificar información.
- Permiten “disección” para hacer búsquedas de verificación más rápidas. Todo ello, sin comprometer la seguridad y trazabilidad de las transacciones que se realicen.
- Gracias a la característica de “disección” también son capaces de permitir ahorrar recursos de almacenamiento.
- Ofrecen adaptabilidad a distintos problemas informáticos. Por ello se usan en distintos sistemas. Por ejemplo, software de base de datos, sistemas de archivos, estructuras de llaves públicas, sistemas de versionamiento, redes distribuidas (P2P), entre otros.
Artículo de DiarioBitcoin
« Volver al índice del glosarioADVERTENCIA: Este es un artículo de carácter informativo. DiarioBitcoin es un medio de comunicación, no promociona, respalda ni recomienda ninguna inversión en particular. Vale señalar que las inversiones en criptoactivos no están reguladas en algunos países. Pueden no ser apropiadas para inversores minoristas, pues se podría perder el monto total invertido. Consulte las leyes de su país antes de invertir.