El Árbol de Merkle
¿Qué es?
Un Árbol de Merkle (Merkle Tree) es una estructura de datos en forma de árbol invertido que combina funciones hash para resumir miles o millones de transacciones en un solo código alfanumérico:
- Hojas (nodos hoja): contienen el hash individual de cada transacción.
- Ramas (nodos intermedios): se obtienen combinando los hashes de dos nodos hijos y aplicando de nuevo la función hash al resultado.
- Raíz de Merkle (Merkle Root): el hash final único en la cima del árbol — representa de forma compacta e inalterable el conjunto completo de transacciones del bloque.
¿Para qué sirve?
- Verificación eficiente: permite comprobar si una transacción específica pertenece a un bloque sin descargar ni procesar todas las demás.
- Inmutabilidad encadenada: si se altera un solo bit de una transacción, el cambio se propaga en cascada (efecto avalancha) y cambia por completo la Raíz de Merkle.
Forma de uso — cómo se construye
Veamos cómo se construye la Raíz de Merkle a partir de 4 transacciones (TA, TB, TC, TD):
Ejemplo resuelto
- Paso 1 — hash de transacciones (hojas): se calcula el hash de cada transacción por separado (HA, HB, HC, HD).
- Paso 2 — combinación por pares (nodos intermedios): se concatenan los hashes vecinos y se aplica de nuevo la función hash: HAB = Hash(HA + HB), HCD = Hash(HC + HD).
- Paso 3 — hash raíz final: se combina el resultado de los dos nodos intermedios para obtener el resumen único del bloque: Merkle Root = Hash(HAB + HCD).
Combina Hash (Programa 12) con la estructura de Blockchain (Programa 13) y Ledger (Programa 14) — es la pieza que hace posible verificar una sola transacción sin descargar el bloque completo.
Con las piezas de hash, firma digital y árbol de Merkle completas, el siguiente paso natural es ver cómo la red decide, sin autoridad central, quién tiene el derecho de proponer el próximo bloque — eso es Minería (Programa 15) y su alternativa, Proof of Stake.
¿Quieres ir más a fondo?
En el curso completo profundizamos en cada bloque de la Serie Conceptos Clave, con más ejemplos y ejercicios.
Ver el curso — próximamente