Árboles Merkle

Merkle Trees permite que las cadenas de bloques sean más eficientes y confiables. Merkle Trees puede ahorrar memoria y potencia de procesamiento al tiempo que mantiene la seguridad.

Para comprender en profundidad cómo funcionan las cadenas de bloques, debe comprender parte de su infraestructura fundamental, y no es más fundamental que Merkle Trees. En este artículo, llegamos a la raíz de cómo funcionan las cadenas de bloques al indagar en Merkle Trees.

Problema

En una red centralizada, organizar los datos de manera eficiente no es tan importante porque solo necesita una copia y los usuarios generalmente confían en que los datos son válidos. En una red blockchain descentralizada, la organización eficiente de los datos lo es todo: cada nodo de la red necesita una copia o al menos acceso a todos los datos en todo momento. Debido a que no existe una autoridad central, los usuarios de blockchain también necesitan una forma de verificar si la información que reciben es verdadera. Ingrese Merkle Trees.

¿Qué son los árboles Merkle?

Merkle Trees permite que las cadenas de bloques sean más eficientes y confiables. Al organizar los datos de cierta manera, Merkle Trees puede ahorrar memoria y potencia de procesamiento mientras mantiene todo seguro. La seguridad proviene de la criptografía y las funciones hash, que explicamos más a continuación.

Funciones hash

Un componente crítico de Merkle Trees y la criptografía, en general, es el hash. Una función hash es un proceso que convierte información en un conjunto único de letras y números. La cadena única se llama hash. Si incluso una pequeña parte de la entrada cambia, la salida hash cambiará por completo. Una función hash criptográfica es una función unidireccional: fácil de introducir información, pero casi imposible sacarla. Merkle Trees se basa en estas dos funciones para organizar y verificar los datos.

¿Cómo se organizan los árboles Merkle?

merkle-tree-3716636

Merkle Trees hace que las cadenas de bloques sean más escalables al dividir los datos en diferentes partes. En su forma más básica, un árbol de Merkle se parece un poco a un árbol de Navidad y cada nodo “padre” tiene exactamente dos nodos “secundarios”. El hash de dos nodos secundarios crea el hash del nodo principal. El proceso de hash recorre todo el árbol hasta que termina en un hash “raíz” en la parte superior. Casi cualquier cantidad de datos se puede colocar en un árbol Merkle, pero siempre terminará en un hash raíz en la parte superior.

¿Como funciona?

En un árbol de Merkle, los datos, como las transacciones en un contrato inteligente o entre cuentas, se procesan con hash o se convierten en una cadena de números y letras. Ese hash se vuelve a codificar, pero esta vez en combinación con el hash de los datos junto a él en el árbol: su “hermano”. El nuevo hash de los dos hermanos crea un nuevo hash del “padre”. Este proceso de hash recorre todo el árbol hasta llegar al hash de una raíz en la parte superior.

Recuerde que cambiar cualquier parte de la entrada de un hash cambiará drásticamente su salida. Sabiendo esto, también sabemos que cambiar cualquier dato en el árbol Merkle hace que su hash cambie y el hash del nodo padre cambie, lo que eventualmente provocará un cambio en el hash raíz. Esta propiedad garantiza que la información del árbol Merkle se congele y no se pueda cambiar, pero se puede comprobar y verificar.

¿Qué son las pruebas Merkle?

Los árboles de Merkle organizan cuidadosamente los datos que se recuperarán más adelante, pero las pruebas de Merkle se utilizan para verificar que la información sea verdadera. Una prueba de Merkle utiliza la información que está examinando y todas las “ramas” del árbol conectadas a él que van hasta el hash raíz. Si el hash es coherente desde esa rama hasta la raíz, entonces es cierto. Si el hash de la raíz no coincide, los datos se han manipulado.

En lugar de tener que verificar toda la información en todo el árbol, Merkle Proofs solo necesita suficiente potencia informática para verificar una pequeña cantidad de datos y ver si es cierto.

¿Quién inventó los árboles Merkle?

Los árboles Merkle llevan el nombre de Ralph Merkle, un científico informático y profesor que inventó la criptografía de clave pública y el hash criptográfico junto con los propios árboles Merkle. El concepto fue inventado en 1987.

¿Qué tiene de especial?

Las cadenas de bloques como Ethereum tienen que almacenar, procesar y verificar los datos de casi 9 millones de bloques, cada uno de los cuales contiene cientos de miles de transacciones. Incluso una cadena de bloques relativamente simple como Bitcoin tiene cientos de miles de bloques y miles de transacciones en cada bloque. Merkle Trees permite que eso suceda, sin la necesidad de una gran potencia informática.

¿Qué más es diferente?

Las pruebas de Merkle se utilizan en clientes ligeros de blockchain. Estos programas que requieren menos memoria permiten a las personas participar en la cadena de bloques sin necesidad de descargar todas las transacciones y todos los datos de cada bloque. Los clientes ligeros simplemente necesitan conocer el hash raíz de cada bloque y luego usar Merkle Proofs para verificar la información cuando sea necesario.

El futuro

Las cadenas de bloques como Ethereum aún no son escalables incluso con Merkle Trees, por lo que esta herramienta criptográfica fundamental no desaparecerá pronto. No importa lo grande que crezca el bosque, siempre necesitará sus raíces.

CriptoMundo

CriptoMundo.com es un medio digital independiente que difunde noticias y contenido sobre criptomonedas y tendencias emergentes de tecnologías financieras. Ofrece noticias, guías, artículos de opinión y gráficos en tiempo real.

Monedas

Bitcoin

Ethereum