Un bloque puede contener miles de transacciones, pero su cabecera solo tiene 80 bytes. La raíz Merkle es cómo se compromete con todas ellas en 32 bytes.
Cómo se construye
Toma el txid de cada transacción. Empáralos y hashea cada par con doble SHA-256. Empareja los resultados y repite hasta que quede un solo hash: la raíz. Si un nivel tiene un número impar de elementos, el último se empareja consigo mismo.
Por qué es útil
Para demostrar que una transacción está en un bloque solo necesitas los hashes de su rama, unos log2(n). Para un bloque con 4.000 transacciones, son solo 12 hashes. El documento técnico de Satoshi llamó a esto Simplified Payment Verification (SPV).
Una rareza conocida
Como el último elemento se duplica, dos listas de transacciones distintas pueden producir la misma raíz. Ese fue el fallo CVE-2012-2459, y Bitcoin Core ahora rechaza bloques que contienen transacciones duplicadas de esa forma.