Descripción general
Los bits de versión (definidos en BIP9) es un mecanismo de despliegue que permite a los mineros de Bitcoin señalar su preparación para las actualizaciones de soft fork propuestas estableciendo bits específicos en el campo de versión de la cabecera del bloque. Este mecanismo permite que múltiples propuestas de actualización independientes sean señaladas simultáneamente y proporciona un proceso claro y medible para evaluar el soporte de los mineros antes de la activación.
Cómo funcionan los bits de versión
El campo de versión de la cabecera del bloque es un entero de 32 bits. BIP9 reserva los bits 0-28 para señalización, permitiendo rastrear hasta 29 propuestas de soft fork a la vez:
Campo de versión de cabecera de bloque (32 bits):
┌──────────────────────────────────────┐
│ Bits 31-29: Deben ser 001 (BIP9) │
│ Bit 28: Señalización propuesta A │
│ Bit 27: (no utilizado) │
│ Bit 26: (no utilizado) │
│ ... │
│ Bit 1: Señalización propuesta X │
│ Bit 0: Señalización propuesta Y │
└──────────────────────────────────────┘
Ejemplo: SegWit usó el bit 1
Taproot usó el bit 2 (vía BIP8/Speedy Trial)
Proceso de activación
Cada despliegue BIP9 sigue un ciclo de vida definido:
- Definido: La propuesta se especifica con un tiempo de inicio, tiempo límite y número de bit asignado.
- Iniciado: Después del tiempo de inicio, los mineros comienzan a señalizar estableciendo el bit asignado en los bloques que minan.
- Bloqueado: Si el 95% (u otro umbral) de los bloques en un período de retarget de 2016 bloques señalizan soporte, la actualización queda bloqueada.
- Activo: Después de un período de retarget adicional, las nuevas reglas de consenso entran en vigor.
- Fallido: Si el tiempo límite pasa sin alcanzar el umbral, la propuesta falla y el bit se libera.
Evolución de los métodos de activación
BIP9 se usó para la activación de SegWit pero resultó controvertido porque le daba a los mineros poder de veto sobre los cambios de consenso. Esto llevó a mecanismos alternativos:
- BIP148 (UASF): Los usuarios amenazaron con rechazar bloques que no señalizaran para SegWit, aplicando presión económica sobre los mineros.
- BIP8: Una versión mejorada de BIP9 con un "bloqueo en tiempo de espera" opcional (LOT=true) que fuerza la activación si se alcanza el tiempo límite.
- Speedy Trial: Una variante utilizada para la activación de Taproot con una ventana de señalización más corta y mayor confianza en que la adopción por parte de los mineros ya era generalizada.
Conceptos erróneos comunes
La señalización de los mineros a través de los bits de versión no es un "voto" en el sentido democrático. Indica preparación técnica en lugar de preferencia política. Los mineros señalizan para coordinar el momento de la activación, no para decidir si una actualización debe ocurrir. En última instancia, son los nodos que hacen cumplir las reglas de consenso los que determinan qué constituye un bloque válido.