Merkle Root (Criptomoneda) - KamilTaylan.blog
19 abril 2021 22:42

Merkle Root (Criptomoneda)

¿Qué es una raíz de Merkle?

Una raíz de Merkle es el hash de todos los hash de todas las transacciones que forman parte de un bloque en una  red blockchain.

Conclusiones clave

  • Una raíz de Merkle es una forma matemática simple de verificar los datos en un árbol de Merkle.
  • Las raíces de Merkle se utilizan en las criptomonedas para garantizar que los bloques de datos que se pasan entre pares en una red de igual a igual estén completos, sin daños ni alterados.
  • Las raíces de Merkle son fundamentales para el cálculo necesario para mantener las criptomonedas como bitcoin y ether.

Entendiendo una raíz de Merkle

Una cadena de bloques se compone de varios bloques que están vinculados entre sí (de ahí el nombre cadena de bloques). Un árbol hash, o árbol Merkle, codifica los datos de la cadena de bloques de una manera eficiente y segura. Permite la verificación rápida de los datos de la cadena de bloques, así como el movimiento rápido de grandes cantidades de datos de un nodo de computadora a otro en la red de cadena de bloques de igual a igual.

Cada transacción que ocurre en la red blockchain tiene un hash asociado. Sin embargo, estos hash no se almacenan en un orden secuencial en el bloque, sino en forma de una estructura en forma de árbol, de modo que cada hash está vinculado a su padre siguiendo una relación de tipo árbol entre padres e hijos.

Dado que hay numerosas transacciones almacenadas en un bloque en particular, todos los hash de transacción en el bloque también tienen hash, lo que da como resultado una raíz de Merkle.

Por ejemplo, considere un bloque de siete transacciones. En el nivel más bajo (llamado nivel de hoja), habrá cuatro hashes de transacciones. En el nivel uno por encima del nivel de hoja, habrá dos hashes de transacción, cada uno de los cuales se conectará a dos hashes que están debajo de ellos en el nivel de hoja. En la parte superior (nivel dos), estará el último hash de transacción llamado raíz, y se conectará a los dos hash debajo de él (en el nivel uno).

Efectivamente, obtienes un árbol binario invertido, con cada nodo del árbol conectado a solo dos nodos debajo de él (de ahí el nombre «árbol binario»). Tiene un hash raíz en la parte superior, que se conecta a dos hash en el nivel uno, cada uno de los cuales se conecta nuevamente a los dos hash en el nivel tres (nivel de hoja), y la estructura continúa dependiendo del número de hash de transacción.

El hash comienza en los nodos de nivel más bajo (nivel de hoja) y los cuatro hash se incluyen en el hash de los nodos que están vinculados a él en el nivel uno. De manera similar, el hash continúa en el nivel uno, lo que conduce a hash de hash que alcanzan niveles más altos, hasta que alcanza el hash de raíz superior único.

Este hash raíz se llama raíz Merkle y, debido al enlace de los hash en forma de árbol, contiene toda la información sobre cada hash de transacción que existe en el bloque. Ofrece un valor hash de un solo punto que permite validar todo lo presente en ese bloque.

Por ejemplo, si uno tiene que verificar una transacción que dice provenir del bloque # 137, solo necesita verificar el árbol Merkle del bloque, sin preocuparse por verificar nada en cualquier otro bloque de la cadena de bloques, como el bloque # 136 o el bloque # 138.

Ingrese la raíz de Merkle, que acelera aún más la verificación. Dado que lleva toda la información sobre todo el árbol, solo es necesario verificar el hash de la transacción, su nodo hermano (si existe), y luego continuar hacia arriba hasta llegar a la parte superior.

Esencialmente, el árbol de Merkle y el mecanismo de raíz de Merkle reducen significativamente los niveles de hash que se deben realizar, lo que permite una verificación y transacciones más rápidas.