Glosario / Protocolo y actualizaciones
Bifurcación dura
- ¿Qué es una bifurcación dura?
- Una bifurcación dura (hard fork) relaja o cambia las reglas de bitcoin para que se vuelvan válidos bloques que el software antiguo rechaza, así que todo nodo debe actualizarse o quedarse atrás en una cadena distinta.
La compatibilidad con versiones anteriores solo funciona en un sentido, y una bifurcación dura apunta en el sentido equivocado. El software antiguo trata los bloques nuevos como inválidos y sigue construyendo su propia cadena, así que, salvo que la adopción sea casi unánime, el resultado son dos monedas donde había una. Así nació Bitcoin Cash, en el bloque 478.558, el 1 de agosto de 2017.
Cómo funciona
Una bifurcación dura amplía el conjunto de bloques que un nodo acepta, y ampliar es el sentido que no se puede ocultar.
Piense en un cambio que permite un bloque de ocho megabytes. Los nodos actualizados aceptan tanto bloques pequeños como grandes. Los nodos no actualizados solo aceptan los pequeños. Mientras nadie mine un bloque grande, los dos grupos son indistinguibles y la división solo existe sobre el papel. En el instante en que un minero publica uno, los grupos tienen puntas de la cadena distintas y nada en el protocolo volverá a unirlos nunca, porque ninguno de los dos lados está dispuesto a deshacer un bloque que considera perfectamente válido.
Por eso las bifurcaciones duras necesitan una coordinación que las bifurcaciones blandas (soft forks) no necesitan. El cambio se establece para una altura de bloque o una fecha de calendario, se anuncia con mucha antelación y se espera que todos se hayan actualizado antes. Si no se actualiza a tiempo, su nodo no solo ejecuta software antiguo: sigue una cadena que han abandonado las personas con las que usted opera.
Una bifurcación dura pensada para producir una segunda cadena duradera también necesita protección contra la repetición. Sin ella, una transacción firmada es válida en las dos cadenas, así que un gasto en una puede volver a difundirse en la otra y gastar allí también las monedas correspondientes. Bitcoin Cash lo resolvió exigiendo un nuevo tipo de hash de firma, SIGHASH_FORKID, que vuelve sus transacciones estructuralmente inválidas en bitcoin, y las de bitcoin, inválidas en Bitcoin Cash. Las divisiones que se saltaron este paso hicieron que los usuarios perdieran monedas por repeticiones accidentales.
El propio Bitcoin solo ha cambiado sus reglas de este modo en sus primeros años, bajo presión. El incidente de desbordamiento de valor del 15 de agosto de 2010 produjo un bloque que creó 184 mil millones de monedas a partir de un error aritmético, y la reparación exigió un cliente parcheado más una reorganización de la cadena, hecha a propósito, que retrocedió hasta antes de ese bloque. La división de la cadena de marzo de 2013 se resolvió con una transición programada documentada en el BIP-50. Desde entonces nada se le ha acercado, y no existe ningún mecanismo para provocar una por la fuerza: en bitcoin, una bifurcación dura es una propuesta que solo prospera si toda la economía decide seguirla.
Por qué importa cuando compra bitcoin
Cada vez que se anuncia una bifurcación dura surgen dos preguntas prácticas, y solo una de ellas tiene que ver con sus monedas.
La primera es la custodia. Las monedas de una billetera cuyas claves tiene usted existen automáticamente a ambos lados de cualquier división, porque las dos cadenas heredan el mismo registro público hasta el bloque de la bifurcación. Usted no las reclama, no las registra ni conecta nada a un sitio web. Si quiere acceder al segundo activo, lo que debe hacer es importar la misma frase semilla en un software que siga la segunda cadena, y hacerlo en un dispositivo que no contenga nada más, porque ese software lo escribe gente en la que usted no tiene ningún motivo para confiar.
La segunda es su exchange. Las monedas que guarda una plataforma son decisión de la plataforma, no suya. En 2017, algunos de los exchanges que reseña este sitio acreditaron Bitcoin Cash en los saldos de sus clientes, otros activaron su trading semanas después y otros nunca llegaron a admitirlo, todo ello mientras los depósitos y los retiros estaban suspendidos. Nada de eso figura en ningún contrato. Si una división le importa, las monedas tienen que estar fuera de la plataforma antes.
La capa de estafas es peor que el riesgo del protocolo. Los falsos airdrops de bifurcaciones son uno de los patrones más antiguos de nuestra guía de estafas: un sitio que anuncia una cadena nueva, un formulario para reclamar monedas y un campo para las palabras de su frase semilla. Ninguna división las ha exigido nunca. Cualquier cosa que pida una frase semilla para liberar monedas bifurcadas está robando las monedas originales.
Bitcoin Cash, la bifurcación dura que ocurrió de verdad
Bitcoin Cash es el caso de estudio claro porque todo lo que hizo se publicó por adelantado y todo lo que necesitaba ya había salido mal antes en otra parte.
La especificación estableció un momento de activación el 1 de agosto de 2017 y una regla según la cual el primer bloque posterior debía superar un megabyte, lo que garantizaba la división en lugar de dejarla al azar. El bloque 478.558 fue ese bloque. Las nuevas reglas elevaron el límite base a ocho megabytes, rechazaron SegWit y añadieron SIGHASH_FORKID para que nunca fuera posible la repetición de transacciones entre las dos cadenas.
La lección duradera es lo que pasó después. Una vez demostrado que un grupo puede irse con una copia del registro público, el propio Bitcoin Cash sufrió otra bifurcación dura a manos de una facción que discrepaba de su rumbo, y las cadenas sucesoras no han dejado de dividirse desde entonces. Una bifurcación dura no es un suceso único en la vida de un proyecto; es un precedente que el próximo desacuerdo puede invocar.
Bifurcación dura frente a altcoin
Una bifurcación dura hereda un registro público; un altcoin empieza con uno vacío. Litecoin se lanzó como una cadena propia sin ningún saldo, así que nadie amaneció siendo dueño de nada. Bitcoin Cash se lanzó con todos los saldos de bitcoin existentes en el bloque 478.558 ya acreditados en su cadena, y por eso a los tenedores se les dijo de repente que poseían algo. Después de la división, la distinción deja de importar en lo técnico, ya que ambos son activos separados con reglas separadas y precios separados, pero importa por completo para cómo se distribuyeron las monedas.
Bifurcación dura frente a bifurcación blanda
La diferencia es el sentido, y el sentido decide quién está obligado a actuar. Una bifurcación dura vuelve válidos bloques que antes eran inválidos, así que todo nodo debe actualizarse o quedarse fuera de la cadena en la que está el resto de la economía. Una bifurcación blanda vuelve inválidos bloques que antes eran válidos, así que un nodo no actualizado sigue la misma cadena sin notar que algo haya cambiado. Una exige que todos actúen antes de una fecha límite; la otra no pide nada a quien no esté minando.