Prueba de trabajo y árboles de Merkle: la matemática que pone de acuerdo a la red Bitcoin
Artículo 7 de 9 de la serie «Las Matemáticas Invisibles en Bitcoin». Hasta ahora hemos visto cómo se firma (artículo 5) y cómo se construye una dirección (artículo 6). Falta responder a la pregunta de fondo: ¿cómo se pone de acuerdo una red sin jefe sobre qué transacciones valen y en qué orden?
Una firma válida demuestra que el dueño de una clave autorizó un pago. No evita que firme dos pagos incompatibles con las mismas monedas, el famoso doble gasto. Para resolverlo, alguien tiene que decidir qué transacción llegó primero, y en una red abierta nadie puede fiarse de la palabra de nadie. Bitcoin lo resuelve con dos herramientas matemáticas que se complementan: la prueba de trabajo, que convierte el orden en algo costoso de falsificar, y el árbol de Merkle, que permite resumir y verificar miles de transacciones con una sola huella.
La cabecera del bloque: 80 bytes que lo sostienen todo 🟢
Un bloque contiene miles de transacciones, pero lo que se hashea para la prueba de trabajo es solo su cabecera, de 80 bytes (Bitcoin Developer Reference):
- Versión (4 bytes).
- Hash de la cabecera anterior (32 bytes), que encadena cada bloque con el anterior.
- Raíz de Merkle (32 bytes), el resumen de todas las transacciones.
- Tiempo (4 bytes).
- nBits (4 bytes), la forma codificada del umbral que el hash debe cumplir.
- Nonce (4 bytes), el número que el minero va cambiando.
Esta estructura ya contiene las dos ideas de este artículo. El hash anterior encadena la historia; la raíz de Merkle ata las transacciones al bloque.
Prueba de trabajo: una lotería sin memoria
La regla es sencilla. Un minero tiene que encontrar una cabecera cuyo doble SHA-256 (el hash que estudiamos en el artículo 4), leído como número, sea menor que el objetivo (target) fijado por la red:
SHA-256(SHA-256(cabecera)) < objetivo
Como SHA-256 se comporta como una función impredecible, no existe atajo conocido para acertar. La única estrategia es probar: cambiar el nonce, calcular el hash, comprobar. Cada intento tiene la misma probabilidad de éxito, sin importar los anteriores. Es una lotería sin memoria: perder mil veces no aumenta la probabilidad de ganar la siguiente.
La probabilidad de que un intento concreto sea válido es:
P = objetivo / 2²⁵⁶
Un ejemplo con el primer bloque de Bitcoin
Hemos recalculado a partir de la cabecera del bloque génesis (publicada en la cadena) su doble SHA-256 con código, y el resultado es:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Empieza por diez ceros hexadecimales. Su campo nBits vale 0x1d00ffff, que equivale a un objetivo de aproximadamente 2²²⁴. Entonces:
- La probabilidad por intento es unos 2,3 × 10⁻¹⁰.
- El número esperado de intentos es unos 4.295 millones, es decir, alrededor de 2³².
Lo emocionante de esta cifra es que cualquiera puede comprobarla en un instante: basta un solo hash para verificar que alguien hizo, en promedio, miles de millones de intentos. Producir la prueba es costoso; verificarla es casi gratis. Esa asimetría es el corazón de la prueba de trabajo.
El ajuste de dificultad
Si la potencia de cálculo de la red crece, los bloques se encontrarían más rápido. Para evitarlo, el objetivo se recalcula cada 2.016 bloques, aproximadamente cada dos semanas, para mantener un ritmo medio de unos diez minutos por bloque (Learn Me a Bitcoin, s. f.). Si ha habido más intentos de los esperados, el objetivo baja y el problema se endurece; si ha habido menos, se relaja. El resultado es que la dificultad no la decide nadie: la fija una regla matemática aplicada a datos que cualquiera puede ver.
Árboles de Merkle: una huella para miles de transacciones
La cabecera tiene solo 80 bytes, pero el bloque contiene miles de transacciones. ¿Cómo se ata cada una a la cabecera? Con un árbol de Merkle:
- Se calcula el hash de cada transacción (las «hojas»).
- Se agrupan en parejas, se concatenan sus hashes y se vuelven a hashear. Si queda un hash suelto, se duplica.
- Se repite el proceso hasta que queda un único hash: la raíz de Merkle, que se guarda en la cabecera.
Para fijar ideas, hagamos un ejemplo diminuto con cuatro transacciones ficticias («tx1» a «tx4»), con SHA-256 simple por claridad (Bitcoin usa doble SHA-256). Las hojas empiezan así: 709b55bd, 27ca64c0, 1f3cb18e, 41b637cf. El primer nivel da bbea820f y 5709445d, y la raíz empieza por ea59a369.
La prueba de pertenencia
Imagina que alguien quiere demostrarte que tx3 está en el bloque sin enviarte las cuatro transacciones. Le basta enviarte:
- el hash de tx4 (su «hermana» en el árbol), y
- el hash del primer nivel de la otra rama (
bbea820f…).
Tú calculas el hash de tx3, lo combinas con el de tx4, combinas el resultado con bbea820f… y comparas la raíz con la de la cabecera. Si coincide, tx3 está en el bloque.
El tamaño de la prueba crece de forma logarítmica: para un bloque de 4.096 transacciones bastan 12 hashes (log₂ 4096 = 12), unos 384 bytes. Esa propiedad hace posible la verificación simplificada de pagos (SPV) que describe la propia propuesta original de Bitcoin (Nakamoto, 2008): un dispositivo ligero no necesita descargar todo, solo las cabeceras y las pruebas de Merkle que le interesan.
¿Cuánto cuesta reescribir la historia? 🟢
Supongamos que un atacante quiere deshacer un pago ya confirmado. Tendría que rehacer el bloque donde está y todos los siguientes, porque cada cabecera contiene el hash de la anterior. Y debe hacerlo más rápido que el resto de la red junta.
La propuesta original analiza este escenario como una carrera de dos cadenas (Nakamoto, 2008, sección 11). Si el atacante controla una fracción q de la potencia de cálculo y el pago tiene z confirmaciones, la probabilidad de que alcance a la cadena honesta cae exponencialmente con z cuando q < 0,5. Hemos calculado la fórmula con código y reproduce la tabla de la propuesta:
| Confirmaciones (z) | Atacante con q = 10 % | Atacante con q = 30 % |
|---|---|---|
| 0 | 100 % | 100 % |
| 1 | 20,5 % | 62,8 % |
| 2 | 5,1 % | 44,6 % |
| 3 | 1,3 % | 32,5 % |
| 6 | 0,024 % | 13,2 % |
| 10 | 0,00012 % | 4,2 % |
Las cifras no son una promesa de seguridad absoluta. Son una probabilidad que baja con cada bloque. Con q ≥ 0,5, el atacante alcanza a la cadena honesta con certeza, y por eso se habla del «ataque del 51 %».
Matices importantes
- El modelo supone que los participantes honestos siguen las reglas. Hay trabajos que muestran que un grupo de mineros puede ganar más de lo que le corresponde con estrategias como el selfish mining, incluso con menos de la mitad de la potencia (Eyal y Sirer, 2013). La prueba de trabajo no es un dogma, sino un diseño con supuestos que se pueden estudiar.
- El coste de atacar depende de la potencia de la red en cada momento. Por eso no damos aquí cifras de dinero ni de energía: cambian con el tiempo y deben consultarse en fuentes actualizadas.
Una lectura filosófica 🟡
Quienes siguen la línea editorial de Nakamotobook reconocerán aquí una idea: la prueba de trabajo es una verdad costosa. Falsificar el pasado exige repetir un trabajo que solo se puede hacer gastando recursos reales, mientras que comprobar que el trabajo se hizo cuesta un solo hash. La matemática no vuelve verdadero el registro; vuelve caro mentir sobre él. Esta lectura es interpretativa (🟡): es un marco para entender el diseño, no una afirmación sobre la seguridad cuantificada del sistema.
Compruébalo tú mismo
Las cifras de este artículo (el hash del bloque génesis, el árbol de Merkle y la tabla de probabilidades del atacante) se han calculado con un pequeño programa en Python. Puedes descargarlo y ejecutarlo en tu ordenador para obtener los mismos números. No necesita instalar nada ni toca dinero real.
Descargar el código (.zip) Programa de este artículo: pow_merkle.py
Falsadores de este artículo
- F1. Si se publica un método para encontrar entradas de SHA-256 con un hash por debajo de un objetivo con mucho menos trabajo que la búsqueda por fuerza bruta, la premisa de la lotería sin memoria cae.
- F2. Si el cálculo del hash del bloque génesis y las cifras del árbol de Merkle de este artículo no se reproducen, el artículo es incorrecto.
- F3. Si la frecuencia de reorganizaciones profundas de la cadena observada en la práctica fuera sistemáticamente mayor que la que predice la fórmula para el poder de hash estimado de los atacantes, el modelo debería revisarse.

Conclusión
La firma demuestra quién autoriza; la prueba de trabajo, junto con el árbol de Merkle, demuestra qué se aceptó y en qué orden sin necesidad de una autoridad. Con eso queda cerrado el círculo técnico de Bitcoin: curva, hash, firma, dirección y consenso. En los dos últimos artículos miramos hacia delante: qué ocurriría con todo esto si llegan los ordenadores cuánticos, y hacia dónde apuntan las matemáticas que vienen detrás, como las pruebas de conocimiento cero.
Si quieres profundizar con lecturas en español, en nuestra librería Bitcoin hay una selección curada de libros sobre Bitcoin y criptografía, pensada como educación Bitcoin y contenido para bitcoiners. (Los enlaces a libros de Amazon se indicarán como enlaces de afiliado.)
Preguntas frecuentes
Es la regla por la que un minero debe encontrar una cabecera de bloque cuyo doble SHA-256 sea menor que un objetivo fijado por la red. No hay atajo conocido: se prueba hasta acertar, y cualquiera puede verificar el resultado con un solo hash.
Es una estructura que resume todas las transacciones de un bloque en un único hash, la raíz de Merkle. Permite demostrar que una transacción pertenece al bloque con solo log2(n) hashes.
Cada 2.016 bloques, aproximadamente cada dos semanas, para mantener un promedio de unos diez minutos por bloque.
Si controla menos de la mitad de la potencia de cálculo, la probabilidad baja exponencialmente con el número de confirmaciones, según el análisis de la propuesta original de Bitcoin. Con más del 50 %, alcanza a la cadena honesta con certeza.
Referencias
- Bitcoin Developer Documentation. (s. f.). Block Chain. https://developer.bitcoin.org/reference/block_chain.html
- Eyal, I. y Sirer, E. G. (2013). Majority is not Enough: Bitcoin Mining is Vulnerable. https://arxiv.org/abs/1311.0243
- Learn Me a Bitcoin. (s. f.). Target. https://learnmeabitcoin.com/guide/target
- Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System. https://bitcoin.org/bitcoin.pdf
Nota de transparencia: este artículo ha sido elaborado con la asistencia de un asistente de escritura (Claude). Las cifras del ejemplo han sido calculadas con código; las citas y enlaces deben ser validados por Kiko Tsuki antes de publicar.
Valor por valor: ¿te ha servido esta serie?
En Nakamotobook el contenido es de acceso libre, sin muros de pago. Si lo que has leído te ha aportado valor, puedes devolverlo como creas justo con unos sats por Lightning. Es voluntario y sin contrapartida: no desbloquea contenido ni es una compra.
Dirección Lightning: Tomyy@coinos.io
Escanea el código QR con tu cartera Lightning o copia la dirección. Comprueba siempre que coincide con la de arriba antes de enviar.

Compartir el artículo, comentarlo o corregirnos un error también es valor. Las donaciones no constituyen asesoramiento financiero ni una inversión.
Kiko Tsuki es escritor de ciencia ficción y editor de una revista digital centrada en Bitcoin y la cultura libertaria. En sus textos explora cómo la tecnología descentralizada transforma la vida cotidiana y la relación de las personas con el poder. Cree en una futura Holocracia.








