Saltar al contenido
buybitcoinsmart

Glosario / Protocolo y actualizaciones

Bifurcación blanda

¿Qué es una bifurcación blanda?
Una bifurcación blanda (soft fork) endurece las reglas de bitcoin para que los bloques válidos con el software nuevo sigan siéndolo con el antiguo, lo que permite actualizar la red sin expulsar a nadie de la cadena.

Todas las actualizaciones que bitcoin ha desplegado de verdad funcionan así. Hacer las reglas más estrictas significa que un nodo antiguo sigue aceptando los bloques nuevos, porque no infringen ninguna de las reglas que conoce. Las bifurcaciones blandas entre abril de 2012 y noviembre de 2021 dieron a bitcoin las direcciones de hash de script, los bloqueos temporales (timelocks), SegWit y Taproot, y ninguna de ellas dejó varada a una sola billetera.

Cómo funciona

Una bifurcación blanda reduce el conjunto de bloques válidos, de modo que todo lo que produce la red actualizada ya era válido con las reglas anteriores.

El truco que lo hace posible es que bitcoin dejó a propósito puertas abiertas en su lenguaje de script. Diez opcodes (códigos de operación) se definieron como operaciones nulas que tienen éxito sin hacer nada, y las salidas de un tipo que nadie había definido aún se trataban como gastables por cualquiera que pudiera satisfacerlas. Una bifurcación blanda cruza una de esas puertas: toma algo que los nodos antiguos dejan pasar sin más y le añade un requisito real. El opcode OP_NOP2 se convirtió en OP_CHECKLOCKTIMEVERIFY en diciembre de 2015 y OP_NOP3 en OP_CHECKSEQUENCEVERIFY en julio de 2016, y para un nodo de 2014 ambos siguen siendo operaciones nulas dentro de un script que sigue siendo válido.

La consecuencia es un reparto de papeles. Los nodos no actualizados siguen validando todas las reglas que conocen y permanecen en la misma cadena que todos los demás. Los nodos actualizados validan más. Los mineros son el grupo que de verdad tiene que moverse, porque un minero que no se ha actualizado puede construir un bloque que los nodos actualizados rechazan, perder la recompensa y arrastrar a quien lo siga a una rama condenada.

Por eso la parte difícil es la activación y no el código. Si la mayor parte del poder de hash hace cumplir la nueva regla, los bloques que la infringen quedan huérfanos y el endurecimiento se mantiene. Si no, la red se divide a lo largo de una línea de fractura que la bifurcación blanda estaba diseñada para evitar. Bitcoin ha probado varias formas de establecer esa mayoría: un recuento por supermayoría de las versiones de bloque, el esquema de bits de versión de BIP-9, las opciones de timeout (fecha de expiración) de BIP-8 y la ventana de tres meses de Speedy Trial que se usó para Taproot.

Una bifurcación blanda también puede deshacerse de un modo en que no puede deshacerse una bifurcación dura (hard fork). Como la nueva regla es una restricción que el software antiguo nunca exigió, abandonarla devuelve a todos a una cadena que todas las versiones siguen considerando válida.

Por qué importa cuando compra bitcoin

El titular honesto es que las bifurcaciones blandas son la razón por la que las actualizaciones de bitcoin nunca les han costado nada a los tenedores comunes.

No hay migración, ni fecha límite, ni anuncio que se pueda pasar por alto. Las monedas que están en una dirección P2PKH creada en 2013 pueden gastarse hoy con la misma clave y el mismo software, y cada bifurcación blanda posterior se ha cuidado de mantenerlo así. Compárelo con cualquier otra plataforma financiera que use: es la propiedad más infravalorada del sistema.

Lo que usted sí nota es el desfase, y aparece en los márgenes. El protocolo activa un nuevo tipo de salida; las billeteras tardan un año en hacerlo predeterminado; los exchanges tardan más en permitirle retirar a direcciones de ese tipo; algunos nunca lo hacen. Entre los exchanges que reseña este sitio, la compatibilidad con envíos a direcciones bech32 ya es habitual, mientras que la compatibilidad con destinos Taproot bech32m sigue siendo desigual, lo que supone un desfase de cuatro años en un cambio que fue ley de consenso desde el primer día. Esa brecha, y no el protocolo, es lo que decide si usted puede usar de verdad una funcionalidad nueva.

La regla práctica que se deduce es sencilla. Tenga a mano una dirección de un tipo más antiguo para las plataformas que no se han puesto al día, y compruebe la pantalla de retiro antes de dar por hecho que un formato funciona. Una dirección de retiro rechazada es una molestia; una solicitud de soporte por una que se aceptó y luego falló es peor.

Pay to script hash, la bifurcación blanda que hizo usable el multisig

P2SH es la primera bifurcación blanda que vale la pena estudiar, porque muestra el patrón en miniatura.

Antes de abril de 2012, pagar a una configuración multisig significaba que el pagador tenía que poner el script entero en la salida que financiaba. Eso hacía al remitente responsable de la política de seguridad de otra persona, producía salidas enormes e impedía una dirección impresa o dicha en voz alta. BIP-16 lo reemplazó todo por un hash de 20 bytes del script, presentado como una dirección que empieza por el dígito 3.

Para un nodo con las reglas antiguas, el script de bloqueo es una comparación de hash que tiene éxito cuando quien gasta apila datos que coinciden. Para un nodo con las reglas nuevas, lo que se apiló se ejecuta luego como un script, que a su vez debe satisfacerse. La nueva regla es estrictamente más fuerte, así que los nodos antiguos aceptan todo gasto nuevo válido, que es la definición de una bifurcación blanda.

La activación fue caótica de una forma que se ha repetido desde entonces. Una propuesta rival, BIP-17, dividió la opinión de los desarrolladores; la fecha límite se retrasó del 1 de febrero al 1 de abril de 2012; y los mineros señalizaron su apoyo escribiendo la cadena de caracteres "/P2SH/" en los bloques que minaban. Casi todas las direcciones existentes que empiezan por 3, incluidas las que entregan los exchanges para los depósitos, descienden de aquella discusión.

Bifurcación blanda frente a BIP

Un BIP es un documento; una bifurcación blanda es una regla que los nodos hacen cumplir. BIP-341 es un archivo de texto en un repositorio de GitHub que cualquiera podría haber escrito, mientras que Taproot es lo que se convirtió en ley de consenso en el bloque 709.632, el 14 de noviembre de 2021. La distinción importa porque la mayoría de los BIP nunca se activan, entre ellos BIP-17 y las propuestas de covenants (restricciones sobre cómo se puede gastar una moneda), y porque una sola bifurcación blanda suele abarcar varios documentos a la vez, como hizo SegWit con BIP-141, BIP-143, BIP-144 y BIP-147. Decir un número de BIP cuando se quiere decir una regla activada es inofensivo en una conversación y engañoso cuando usted intenta averiguar qué hace cumplir realmente su nodo.

No confundir con

Preguntas frecuentes

¿Tengo que actualizar mi billetera cuando se activa una bifurcación blanda?

No. Una billetera no actualizada sigue la misma cadena y sigue gastando las monedas que ya tiene. Actualizar solo importa cuando usted quiere usar la nueva funcionalidad, como un tipo de dirección más barato.

¿Puede una bifurcación blanda quitarme monedas que ya tengo?

Una bifurcación blanda solo puede volver inválido lo que antes era válido, así que en principio una regla podría dirigirse contra un tipo de salida. En la práctica, toda bifurcación blanda activada se ha escrito para que las salidas existentes sigan siendo gastables, y una propuesta que las rompiera no pasaría el filtro de los operadores de nodos.

¿En qué se diferencia una bifurcación blanda de una bifurcación dura?

En el sentido del cambio. Una bifurcación blanda reduce el conjunto de bloques válidos, así que el software antiguo se queda en la misma cadena sin notarlo. Una bifurcación dura lo amplía, así que el software antiguo rechaza los bloques nuevos y sigue una cadena distinta salvo que se actualice.

Para seguir leyendo

Términos relacionados

Más en la sección Protocolo y actualizaciones

Leer esta página en inglés