[TL; DR]
Los árboles de Merkle deben su nombre al informático que los propuso.
Son una forma de estructura de datos utilizada en informática y Blockchain.
Los árboles de Merkle o árboles de hash sirven para verificar las transacciones en una Blockchain de forma eficiente y segura.
Para confirmar la presencia de una transacción en una Blockchain, basta con consultarla, y el árbol de Merkle agilizará el proceso de verificación.
La palabra “árbol de Merkle” debe su nombre a un informático del mismo nombre. Ralph Merkle, que también desarrolló el hashing criptográfico, propuso la idea de los árboles de Merkle en 1987. Escribió un artículo titulado “Una firma digital basada en una función de cifrado convencional”.
En términos generales de aplicación informática, un árbol de Merkle es simplemente un tipo de estructura de datos. Fue adoptado en el mundo de la criptografía como una forma de codificar los datos de Blockchain de manera eficiente y segura. Los árboles de Merkle también pueden llamarse árboles de hash porque son estructuras de datos basadas en el hash que se utilizan en informática y criptografía.
Un Árbol de Merkle, como se ha ejemplificado anteriormente, tiene la estructura de un árbol. Tiene una raíz y ramas, cada una con su función. A diferencia de los árboles reales, las raíces de los árboles de Merkle están en la parte superior, no en la inferior. Por lo tanto, el hash en la parte superior de este árbol es la raíz, seguido por las ramas y las hojas en la parte inferior.
En Bitcoin, la raíz es una parte de la cabecera del bloque, asegurando las transacciones que están presentes. Las ramas son nodos que contienen los valores de los nodos que están debajo de ellos, sirviendo como sus “nodos padres”. Normalmente, en los árboles de Merkle, estos nodos nunca contienen más de dos nodos debajo de ellos, por lo que se denominan árboles de hash binarios.
Sin embargo, un árbol hash puede tener más de dos nodos.
Por último, las hojas, como ya se ha mencionado, son los nodos de la parte inferior que no tienen más nodos funcionando debajo de ellos. Cada nodo en la disposición del árbol de Merkle es una representación parcial de los datos con hash que están debajo de ellos. Por otro lado, las hojas representan los hashes de las transacciones individuales.
La Blockchain de Bitcoin es quizás el caso de uso más destacado de los árboles de Merkle, y así es como funciona. Normalmente, los árboles de Merkle se utilizan para hacer la verificación de datos más rápida y eficiente.
Siempre que haya necesidad de verificar la corrección de un conjunto de datos del conjunto primario de transacciones, los árboles de Merkle aseguran que no hay necesidad de obtener todo el archivo de información.
Esencialmente, los árboles de Merkle se crean haciendo pasar las transacciones por la función hash de una en una, y luego concatenando y haciendo el hash de cada nueva con la anterior. El proceso continúa hasta que todo un bloque ha sido unido en un hash. Los árboles de Merkle resumen todas las transacciones de un bloque y producen una huella digital virtual de todo el conjunto. Esto permite a un usuario verificar la presencia de una transacción concreta en un bloque sin tener que descargar toda la demás información innecesaria que contiene.
Para explicarlo mejor, si se quiere confirmar que una transacción concreta, digamos una de las hojas, está incluida en el bloque anterior, basta con preguntar a la red por el nodo concreto. Ésta le dará una respuesta utilizando tres hashes, permitiéndole verificar la presencia de su nodo específico.
Los árboles de Merkle son una herramienta inestimable para la verificación de datos en Blockchain y en la informática en general por las siguientes razones:
Imagina que necesitas verificar la presencia de un dato concreto en una Blockchain. Sin los árboles de Merkle, tendría que descargar toda una Blockchain y examinarla. Obviamente, eso llevaría mucho más tiempo del necesario, ya que la cantidad de datos en las Blockchain suele ser enorme, llegando a cientos de gigabytes. Bitcoin, por ejemplo, tiene hasta 389 gigabytes de datos en abril de este año, según un informe de Statista. Sin embargo, con los árboles de Merkle se puede rastrear fácilmente la consulta de una transacción específica y obtener respuestas en un plazo más reducido.
Volviendo a citar el escenario anterior, es evidente que resulta una actividad engorrosa e innecesaria tratar de revisar todas las transacciones para verificar una sola. Los árboles de Merkle reducen significativamente la cantidad de datos necesarios para verificar las transacciones. Con sólo cuatro valores hash, se puede determinar fácilmente lo que se necesita saber sobre transacciones específicas.
Por último, verificar la integridad de una transacción concreta es considerablemente más fácil con un árbol de hash. Si necesita confirmar valores de fuentes en las que no confía, sólo tiene que reconstruir la parte que le interesa y compararla con el hash raíz de una fuente de confianza. Esto es muy valioso para acelerar el proceso de validación.
El valor hash de los activos de la cuenta de cada usuario puede almacenarse en el nodo hoja del árbol de Merkel en forma de árbol de Merkel. Todo el mundo puede auditar la cantidad total de activos del usuario almacenados en el nodo hoja del árbol de Merkel a través de una institución de terceros con calificación de auditoría para verificar si sus fondos están incluidos en el árbol de Merkel de activos.
En primer lugar, exporta el UID cifrado y el saldo de usuario correspondiente de la base de datos de Gate.io. Cada par de UIDs encriptados y saldos de usuario serán sometidos a hash por separado, y luego se unirán para formar bloques de datos subyacentes. Para cada bloque de datos, se utiliza la misma función hash para generar el nodo hoja del árbol de Merkel. A continuación, los datos cifrados obtenidos se someterán a un hash por parejas para crear el nodo padre del nodo hoja. Este proceso continúa hasta que se obtiene un único dato hash, la raíz de Merkel. Una vez que el árbol de Merkel se ha construido con éxito, el nodo hoja se exportará como un archivo de texto y luego será liberado por el auditor junto con el hash de la raíz de Merkel.
Cuando el total de activos de la plataforma auditada en forma de árbol de Merkel es mayor o igual al 100%, se demuestra que la plataforma ha mantenido intactos los fondos del usuario, lo que significa que la plataforma proporciona el 100% de los activos correspondientes como márgenes. Puede ver más información sobre la prueba de márgenes del 100% de Gate.io a través de la página de detalles de márgenes del 100% de Gate.io o del sitio web oficial de Armanino de la auditoría de terceros.
La invención de los árboles de Merkle y su posterior uso en la tecnología Blockchain es un activo inestimable para el mundo de la tecnología. Con él, la gente puede ahora agilizar fácil y eficazmente la verificación de las transacciones en una Blockchain sin necesidad de espacio adicional para descargar toda la blockchain. Los árboles de Merkle también ahorran tiempo a los validadores y facilitan la seguridad de la tecnología Blockchain.