¿Cómo se construye la raíz de Merkle?
Empieza con el ID de cada transacción del bloque, que ya es un hash SHA-256 doble. Ponlos en orden, primero la coinbase. Combina los hashes vecinos de dos en dos y aplica un hash a cada par. Así obtienes la mitad de hashes. Repite el proceso hasta que quede uno: esa es la raíz de Merkle.
Si un nivel tiene un número impar de hashes, el último se empareja consigo mismo. Si cambias cualquier transacción, aunque sea por un satoshi, cambian todos los hashes de su camino hasta la cima, incluida la raíz. Pruébalo en la demostración de arriba.
¿Por qué un árbol y no un único hash grande?
Pruebas. Para demostrar que una transacción está en un bloque, solo necesitas los hashes de su rama, no el bloque entero. Un bloque con unas 4.000 transacciones necesita solo 12 de esos hashes, unos cientos de bytes. El documento técnico de Satoshi describe monederos ligeros que verifican los pagos así y solo guardan los encabezados de los bloques.
También es importante para la minería. Cuando un minero cambia el nonce extra de la transacción coinbase, cambia la raíz de Merkle y el encabezado del bloque recibe un nuevo conjunto de nonces para probar.
Fuentes
- Bitcoin: A Peer-to-Peer Electronic Cash System · Satoshi Nakamoto, 2008
- Referencia sobre la cadena de bloques: cabeceras, árboles de Merkle y objetivo · Documentación para desarrolladores de Bitcoin
- Árbol de Merkle · Bitcoin Wiki
Las cifras en tiempo real de esta página provienen de la API de CloudMineCrypto y de datos públicos de la cadena. Se actualizan periódicamente y están identificadas donde aparecen. Solo con fines educativos. No es asesoramiento financiero.