Seleccionar página

¿Qué es una bifurcación (fork) de blockchain?

En desarrollo de software, una bifurcación (fork, en inglés) es la creación de un proyecto en una dirección distinta del proyecto principal u oficial a partir del código fuente de este ya existente. Esta práctica es de uso común en proyectos de código abierto o software libre. En las redes blockchain, las bifurcaciones son usadas tanto para crear nuevos proyectos partiendo de uno anterior, como para actualizar un proyecto en cuestión.

Las redes blockchain se rigen bajo unas reglas codificadas en el protocolo que permiten a los nodos validar bloques de transacciones de la misma forma y mantenerse en consenso. Estas reglas verifican que la estructura del bloque y las transacciones incluidas en él, como el tamaño del bloque (cantidad de espacio disponible), sean correctas.

En ocasiones las reglas de consenso pueden ser modificadas, para agregar actualizaciones o proteger a la red de ataques, o violadas adrede con propósitos específicos como dar nacimiento a una nueva criptomoneda. Sin importar cuál sea el motivo de la modificación, hay dos maneras de cambiar las reglas: mediante una bifurcación suave (soft fork, en inglés) o bifurcación fuerte (hard fork, en inglés).

Las bifurcaciones suaves cambian el protocolo de forma que los nodos actualizados rechazan transacciones previamente válidas, pero los nodos con software viejo validan tanto las transacciones con formato viejo como nuevo, haciendo más fácil para los nodos actualizados crear la cadena de bloques más larga. Este tipo de bifurcaciones son más difíciles de implementar en código que las fuertes ya que se debe cuidar la compatibilidad con versiones pasadas del software, lo que añade limitaciones a la hora de programar.

Cadena de bloques soft fork blockchain

En una bifurcación suave exitosa se extiende más rápido la cadena con las nuevas reglas y tanto nodos actualizados como no construyen sobre ella.

Las bifurcaciones fuertes modifican el protocolo de manera que los nodos actualizados aceptan las transacciones con el nuevo formato, pero los nodos desactualizados las rechazan. En estos casos, la nueva estructura de las transacciones puede incluir formatos previamente inválidos (por ejemplo, las reglas viejas permiten bloques de 1MB y las nuevas de 1 a 2 MB) o cambiar el formato de forma que sean incompatibles (por ejemplo, la estructura de las direcciones era ‘ABC’ y ahora solo puede ser ‘XYZ’).

Cadena de bloques Hard Fork Bitcoin

En una bifurcación fuerte exitosa se extiende más rápido la nueva cadena con los nodos actualizados y los desactualizados quedan desacoplados, pudiendo dejar la cadena vieja morir o continuar soportándola.

Tanto en los soft forks como hard forks los usuarios deben participar en la actualización de la red ya sea mediante la descarga del nuevo software y puesta en marcha de nodos actualizados o por medio de la abstención de hacerlo, si así lo deciden. Sin embargo, las bifurcaciones suaves no excluyen a aquellos que no actualicen, mientras que las fuertes si lo hacen. Sin importar la forma en que se lleve a cabo el cambio, es necesario desarrollar aplicaciones que saquen provecho de la actualización realizada. Ejemplo clave de esto es Segregated Witness o Segwit (Testigo Segregado), actualización que fue implementada a través de un soft fork en la red Bitcoin, pero que ha tardado mucho en ser implementada por las diversas carteras y servicios, ocasionando que sus mejoras aún no puedan ser percibidas por todos los usuarios.

Cuando las bifurcaciones se usan para actualizar la red en cuestión, es necesario alcanzar el umbral de adopción por parte de los nodos de la red, previamente acordado e implementado en código por los desarrolladores del protocolo. Si por el contrario se quiere crear una nueva criptomoneda, el consenso no es un problema. Los desarrolladores de la nueva blockchain especifican los nuevos parámetros y un punto de partida respecto a la cadena bifurcada, sea este cero (como Litecoin) o una altura de bloque específica (como Bcash).

En el caso de las bifurcaciones fuertes, una vez activadas, se inicia una especie de juego de mercado en el que las dos cadenas pueden competir por supervivencia, lo que puede terminar en uno de los siguientes escenarios:

  • La cadena vieja o nueva queda desolada y la restante queda activa, con nodos y mineros migrados mayoritariamente a ella. En este escenario es posible que los mineros que se queden en la cadena minoritaria o tarden en mudarse a la más larga pierdan dinero.
  • Ambas cadenas sobreviven y el poder de procesamiento y valor de cada criptoactivo se divide según lo determine el mercado. Ejemplo de esto es la bifurcación de Ethereum y Ethereum Classic.

bifuracion fuerte, hard fork, ethereum, eth, ethereum classic, etc, blockchain, mineros

El caso de la bifurcación Ethereum (ETH) – Ethereum Classic (ETC) demostró que el poder de procesamiento de los mineros se mueve de acuerdo al precio de cada criptoactivo, en búsqueda de maximización de ganancias. Fuente: Vitalik Buterin.

En resumen, las bifurcaciones suaves son difíciles de programar, reducen las reglas de consenso y su implementación no implica la actualización por parte de todos los nodos de la red, aunque es el escenario más deseable. En cambio, las bifurcaciones fuertes son más fáciles de desarrollar en código, agregan o cambian las reglas actuales de consenso y su implementación comprende una actualización obligatoria de los nodos o la exclusión de la red de no hacerlo; puede derivar en dos cadenas independientes.

Con información de: bitcoin.org

¡Mantente al día!