En este artículo
¿Cómo funciona?
Cada 2.016 bloques, la red compara el tiempo real que tardaron en minarse con el tiempo esperado (20.160 minutos). Si tardaron menos, la dificultad sube. Si tardaron más, baja. El ajuste máximo por período es de un factor de 4 (para evitar oscilaciones bruscas).
¿Por qué 10 minutos?
Los 10 minutos son un compromiso entre seguridad y usabilidad. Un tiempo menor significaría más bloques huérfanos y menos seguridad por confirmación. Un tiempo mayor haría las transacciones más lentas. Diez minutos permite que los bloques se propaguen por la red antes de que aparezca el siguiente.
¿Por qué importa?
Si la mitad de los mineros desaparecieran mañana, Bitcoin seguiría funcionando. Los bloques saldrían cada ~20 minutos hasta el siguiente ajuste, y lo que quedara del periodo tardaría el doble: en el peor caso, 2.016 bloques llevarían unas cuatro semanas. Después la dificultad bajaría y los bloques volverían a los 10 minutos. Nadie tiene que intervenir: cada nodo hace el mismo cálculo y llega al mismo resultado.
Errores habituales
- Creer que si se unen más mineros, se producen más bitcoins
- Pensar que el ajuste de dificultad es manual o requiere intervención
- Confundir dificultad con "hashrate" (están relacionados, pero no son lo mismo)
Conceptos relacionados
Fuentes primarias
- Whitepaper de Bitcoin, Sección 4
- Bitcoin Core, src/pow.cpp (CalculateNextWorkRequired)