ETFFIN Finance >> Finanzas personales curso >  >> Criptomoneda >> Blockchain

Árbol Merkle

¿Qué es un árbol Merkle?

Un árbol de Merkle es una estructura de datos que se utiliza en aplicaciones informáticas. En bitcoin y otras criptomonedas, Los árboles de Merkle sirven para codificar datos de blockchain de manera más eficiente y segura.

También se les conoce como "árboles hash binarios".

Rompiendo el árbol Merkle

En la cadena de bloques de bitcoin, un bloque de transacciones se ejecuta a través de un algoritmo para generar un hash, que es una cadena de números y letras que se puede usar para verificar que un conjunto de datos dado es el mismo que el conjunto original de transacciones, pero no para obtener el conjunto original de transacciones. El software de Bitcoin no ejecuta todo el bloque de datos de transacciones, lo que representa un promedio de transacciones de 10 minutos, a través de la función hash a la vez, sin embargo. Bastante, cada transacción tiene un hash, luego, cada par de transacciones se concatenan y se combinan con hash, y así sucesivamente hasta que haya un hash para todo el bloque. (Si hay un número impar de transacciones, una transacción se duplica y su hash se concatena consigo mismo).

Visualizado, esta estructura se asemeja a un árbol. En el diagrama siguiente, "T" designa una transacción, "H" un hash. Tenga en cuenta que la imagen está muy simplificada; un bloque promedio contiene más de 500 transacciones, no ocho.

Imagen de Julie Bang © Investopedia 2020

Los valores hash de la fila inferior se denominan "hojas, "los hash intermedios como" ramas, "y el hash en la parte superior como" raíz ". La raíz de Merkle de un bloque determinado se almacena en el encabezado:por ejemplo, la raíz de Merkle del bloque # 482819 es e045b18e7a3d708d686717b4f44db2099aabcad9bebf968de5f7271b458f71c8. La raíz se combina con otra información (la versión del software, el hash del bloque anterior, la marca de tiempo, el objetivo de dificultad, y el nonce) y luego ejecutar una función hash para producir el hash único del bloque:000000000000000000bfc767ef8bf28c42cbd4bdbafd9aa1b5c3c33c2b089594 en el caso del bloque # 482819. Este hash no está incluido en el bloque correspondiente, pero el siguiente; es distinto de la raíz de Merkle.

El árbol Merkle es útil porque permite a los usuarios verificar una transacción específica sin descargar toda la cadena de bloques (más de 350 gigabytes a fines de junio de 2021). Por ejemplo, di que querías verificar esa transacción T D se incluye en el bloque del diagrama anterior. Si tiene el hash raíz (H ABCDEFGH ), el proceso es como un juego de sudoku:consultas a la red sobre H D , y devuelve H C , H AB, y H E F G H . El árbol de Merkle te permite verificar que todo está contabilizado con tres hashes:dado H AB , H C , H E F G H, y la raíz H ABCDEFGH , H D (el único hash que falta) debe estar presente en los datos.

Imagen de Julie Bang © Investopedia 2020

Los árboles Merkle llevan el nombre de Ralph Merkle, quien los propuso en un artículo de 1987 titulado "Una firma digital basada en una función de cifrado convencional". Merkle también inventó el hash criptográfico.