¿Por qué un softfork no puede dividir la red?

Me preguntaba por qué una bifurcación suave no puede, en principio, dividir la red de Bitcoin como lo puede hacer una bifurcación dura. Entiendo que una bifurcación suave, por definición, implica solo endurecer las reglas de consenso, pero el resultado seguirá siendo dos conjuntos diferentes de reglas de consenso. Si algunos nodos consideran que un bloque o una transacción son válidos y otros los consideran inválidos, debería ser posible una división de la red independientemente de las reglas de consenso de qué lado sean más nuevas. Los roles de cada lado en la división serían simplemente el reverso del caso de la bifurcación dura.

Respuestas (3)

Me preguntaba por qué una bifurcación suave no puede, en principio, dividir la red de Bitcoin como lo puede hacer una bifurcación dura.

Una bifurcación suave absolutamente puede dividir la red de Bitcoin, en principio, si no especifica ninguna otra suposición.

Sin embargo, el punto relevante que distingue a las bifurcaciones blandas y duras es que la red siempre convergerá siempre que la mayoría del hashrate haga cumplir las nuevas reglas .

La razón de esto es que incluso cuando los antiguos mineros producen un bloque que viola las reglas de la bifurcación suave, los nuevos mineros no trabajarán sobre él. Ignorarán dicho bloqueo y, en su lugar, comenzarán a trabajar en una rama competidora. Como tienen la mayoría, esta rama competidora en algún momento superará a la antigua rama de los mineros. La compatibilidad con versiones anteriores del softfork significa que los mineros antiguos en ese momento cambiarán a la nueva rama, abandonando la suya propia, ya que la nueva rama es más larga y válida para ellos. A través de esto, la bifurcación se resuelve y toda la red termina trabajando en una cadena nuevamente.

Como puede ver arriba, los mineros antiguos restantes causarán bifurcaciones aumentadas (temporales) en la cadena. Para evitar que estos interfieran con las propiedades de seguridad de la red, las bifurcaciones blandas recientes en Bitcoin han empleado umbrales del 95 % (medido de una forma u otra) de señalización del minero, dejando como máximo un 5 % que puede producir bifurcaciones.

Las bifurcaciones suaves no pueden dividir la red porque ocurren con el consenso de los mineros. Para que esto suceda, los mineros señalan que están listos y harán cumplir las nuevas reglas después de que se activen configurando ciertos bits en sus números de versión de bloque. Una vez que suficientes bloques indiquen que están listos (con BIP 9, esto suele ser 1916 de un período de reorientación de bloques de 2016, es decir, el 95 % de los bloques), se activarán las nuevas reglas.

No se produce una división de la cadena porque, en teoría, pocos o ningún minero está ejecutando nodos antiguos para producir bloques no válidos. Aquellos que normalmente se actualizan rápidamente de todos modos.

Las bifurcaciones duras pueden hacer algo similar para evitar divisiones de cadenas, sin embargo, lo que no pueden hacer las bifurcaciones duras es evitar que los nodos antiguos (no mineros) se bifurquen fuera de la red. La compatibilidad con versiones anteriores de las bifurcaciones suaves permite que los nodos antiguos permanezcan en la red luego de la activación de la bifurcación.

Bajo una bifurcación dura, los nuevos nodos piensan que los bloques de estilo antiguo no son válidos y los nodos antiguos piensan que los bloques de estilo nuevo no son válidos. Por lo tanto, si los nodos antiguos continúan creando bloques antiguos, obtenemos una cadena de bloques antiguos y una cadena de bloques nuevos. Cada comunidad piensa que la suya es la única cadena de bloques verdadera.

Bajo una bifurcación suave, los nuevos nodos piensan que los bloques de estilo antiguo no son válidos, pero los nodos antiguos piensan que ambos tipos de bloques son válidos. Los nuevos mineros, que suponemos que son la mayoría, crearán una cadena de bloques nuevos solamente. Los mineros antiguos pueden intentar crear bloques antiguos dentro de esta cadena, pero como los nuevos mineros no aceptarán esos bloques, quedarán huérfanos. Los nodos antiguos pensarán que los mineros antiguos simplemente tienen mala suerte y seguirán aceptando la cadena de bloques más larga que consideren válida. A la larga, dado que los nuevos mineros son mayoría, esta cadena más larga consistirá de hecho solo en nuevos bloques.

Entonces, en una bifurcación suave, los nodos antiguos acordarán que la cadena de bloques nuevos es la única cadena de bloques verdadera, sin tener que actualizarse, simplemente por el hecho de que será más larga que cualquier cadena que contenga bloques antiguos.