Skip to main content

Raíz Merkle | Bitcoin Glossary | Mapping Bitcoin

Raíz Merkle

Protocolo

Hash único que resume criptográficamente todas las transacciones de un bloque Bitcoin. Cualquier modificación en una transacción cambia el merkle root.

Descripción general

La raíz Merkle es un único hash de 32 bytes que se ubica en el vértice de un árbol de Merkle y se compromete criptográficamente con cada transacción incluida en un bloque. Se almacena en el encabezado del bloque, convirtiéndola en una huella compacta de todo el conjunto de transacciones. Cualquier cambio en cualquier transacción del bloque produciría una raíz Merkle completamente diferente.

Cómo se calcula

La raíz Merkle se construye hasheando recursivamente pares de hashes de transacciones (usando doble SHA-256) hasta que solo queda un hash:

            Raíz Merkle
           /           \
       Hash AB         Hash CD
      /      \        /      \
   Hash A   Hash B  Hash C   Hash D
     |        |       |        |
   Tx A     Tx B    Tx C     Tx D

Si hay un número impar de elementos en cualquier nivel, el último elemento se duplica antes de hashear.

Rol en los encabezados de bloque

El encabezado del bloque contiene seis campos: versión, hash del bloque anterior, raíz Merkle, marca de tiempo, objetivo de dificultad (bits) y nonce. Al incluir la raíz Merkle, el encabezado se compromete con el conjunto completo de transacciones sin tener que incluirlas todas directamente. Esto es lo que permite a los clientes ligeros realizar verificación SPV.

Pruebas Merkle

Una prueba Merkle permite verificar que una transacción específica está incluida en un bloque proporcionando solo los hashes hermanos a lo largo del camino desde la transacción hasta la raíz. Esto requiere solo log2(N) hashes para un bloque con N transacciones, haciendo la verificación extremadamente eficiente.

Casos límite

Si un bloque contiene solo la transacción coinbase (sin otras transacciones), la raíz Merkle es simplemente el hash de esa única transacción. La duplicación de elementos impares también puede crear una vulnerabilidad sutil conocida como el problema de maleabilidad del árbol de Merkle, que fue abordado por BIP 98.