Proof of Work en detalle
El puzzle que asegura la red. Por qué gastar energía es exactamente el punto.
El problema a resolver
Los mineros compiten por el derecho a añadir el siguiente bloque a la blockchain. El mecanismo de competición es Proof of Work (PoW): demostrar que has gastado recursos computacionales.
El puzzle: encontrar un valor (nonce) tal que el hash del header del bloque sea menor que un número objetivo (target). SHA256(SHA256(block_header)) < target
Por qué funciona
Los hashes son impredecibles. No hay forma de saber qué nonce producirá un hash bajo excepto probando. Cada intento tiene la misma probabilidad de éxito.
Si el target requiere que el hash empiece con 20 ceros en binario, la probabilidad de éxito por intento es 1/2²⁰ ≈ 1 en un millón.
Con la dificultad actual (2025), la probabilidad es aproximadamente 1 en 10²² por intento. Esto requiere una cantidad astronómica de intentos.
El proceso del minero
- Construir el bloque candidato:
- Seleccionar transacciones de la mempool
- Crear la coinbase transaction (recompensa + fees)
- Calcular la Merkle root
- Montar el header:
- Version, prev block hash, merkle root, timestamp, bits, nonce=0
- Buscar el nonce:
while SHA256(SHA256(header)) >= target: nonce += 1 actualizar header con nuevo nonce
- Si se encuentra:
- Broadcast del bloque a la red
- Cobrar la recompensa
- Si se agotan los nonces (2³² = 4 mil millones):
- Modificar el extraNonce en la coinbase
- Esto cambia la Merkle root
- Empezar de nuevo con nonce=0
Target y bits
El target es un número de 256 bits. El campo bits en el header es una codificación compacta: bits = 0x1903a30c Exponente: 0x19 = 25 Coeficiente: 0x03a30c Target = 0x03a30c × 2^(8×(25-3)) = 0x03a30c × 2^176 = un número muy grande con muchos ceros al inicio
Cuanto menor es el target, más difícil es encontrar un hash válido.
Ajuste de dificultad
Cada 2016 bloques (~2 semanas si los bloques son de 10 minutos), la dificultad se ajusta: nuevo_target = target_actual × (tiempo_real / tiempo_esperado)
Donde:
- tiempo_esperado = 2016 × 10 minutos = 20160 minutos
- tiempo_real = tiempo que tardaron los últimos 2016 bloques
Si los bloques se minaron más rápido de lo esperado → el target baja → la dificultad sube.
Si fueron más lentos → el target sube → la dificultad baja.
Hay límites: el ajuste no puede ser más de 4x en ninguna dirección.
Por qué el gasto energético es una feature
Crítica común: "Bitcoin gasta demasiada energía."
La respuesta técnica: el gasto energético es exactamente lo que hace a Bitcoin seguro.
El coste de atacar
Para reorganizar la blockchain y revertir transacciones, un atacante necesitaría:
- Más del 50% del hashrate de la red
- Mantenerlo el tiempo suficiente para construir una cadena más larga
- Gastar electricidad durante todo ese tiempo
Con el hashrate actual (~500-700 EH/s), esto costaría miles de millones de dólares en hardware y electricidad. Y el atacante obtendría... la posibilidad de gastar dos veces sus propios bitcoin (no robar los de otros).
El ataque destruiría la confianza en la red, hundiendo el valor de cualquier bitcoin que el atacante tuviera. Es económicamente irracional.
Sin gasto, sin seguridad
Un sistema sin coste de participación sería trivial de atacar. El coste energético de PoW es el "muro" que protege las transacciones confirmadas.
Alternativas como Proof of Stake tienen sus propios trade-offs. Bitcoin eligió un modelo donde la seguridad está anclada en el mundo físico (energía), no en la posesión de tokens.
Hash rate de la red
El hash rate total de la red Bitcoin ha crecido exponencialmente:
- 2010: MH/s (megahashes)
- 2013: TH/s (terahashes)
- 2017: EH/s (exahashes)
- 2025: ~500-700 EH/s
Esto representa una inversión acumulada de miles de millones en hardware y electricidad. Es esta inversión lo que hace a la red segura.
Puedes ver cómo funciona el hashing y experimentar con diferentes inputs en /herramientas/hash. Observa cómo un cambio mínimo produce un hash completamente diferente.