Qué es una bifurcación (fork) de blockchain
En el desarrollo de software, la bifurcación es la creación de un proyecto cuya dirección es diferente a la del proyecto principal u oficial,pero cuyo código es el código fuente de un proyecto existente.
En una red de cadena de bloques, las bifurcaciones se utilizan tanto para crear un elemento nuevo a partir de un elemento anterior como para actualizar elementos existentes. La red blockchain se rige por reglas especificadas en el protocolo, que permiten a los nodos verificar bloques de transacciones de la misma manera y mantener el consenso. Estas reglas verifican que la estructura del bloque y las transacciones que contiene, como el tamaño del bloque (cantidad de espacio libre), sean correctas. Las reglas de consenso a veces se pueden cambiar para agregar actualizaciones o proteger la red de ataques, o se pueden cambiar para fines específicos, como crear nuevas criptomonedas.
Conocer este detalle es importante a la hora de invertir en criptomonedas, pues los desarrolladores de cada proyecto suelen especificar las actualizaciones que quieren hacer y qué es el estado final del proyecto al que se anhela llegar.
Independientemente del motivo del cambio, hay dos formas de cambiar las reglas: usando una bifurcación suave o una bifurcación dura. También recordarte que el hacer transacciones; por ejemplo, pasar 1 bitcoin a dólar, no afecta al sistema (bifurcaciones de la red). Solo es posible modificar el sistema mediante un consenso entre los desarrolladores.
Las bifurcaciones blandas cambian el protocolo para que los nodos actualizados rehagan las transacciones previamente válidas, mientras que los nodos que utilizan el software antiguo confirman las transacciones en los formatos antiguo y nuevo, lo que facilita que los nodos actualizados creen cadenas de bloques más largas.
Estas bifurcaciones suaves son más difíciles de implementar a nivel de código debido a problemas de compatibilidad con versiones anteriores que limitan la programación.
Una bifurcación dura cambia el protocolo totalmente para que los nodos actualizados puedan aceptar transacciones en el nuevo formato, mientras que los nodos obsoletos las rechacen. En tales casos, la nueva estructura de transacción puede contener formatos que anteriormente no eran válidos. Por ejemplo, imagina que las reglas anteriores permitían bloques de 1 MB de almacenamiento,mientras que las nuevas reglas permiten 2 MB. O por ejemplo, imagina que la estructura de la dirección era “ABC”, mientras que ahora solo puede ser "XYZ".
Lo interesante es que los usuarios de dicha red también participan a la hora de aceptar una bifurcaciones blanda o dura, ya sea participando en las actualizaciones de la red descargando nuevo software y ejecutando los nodos actualizados, o absteniéndose de hacerlo (si no están en acuerdo). Es decir que todo se realiza con un consenso.
Cuando la red en cuestión se actualiza a través de una bifurcación suave, se debe alcanzar un umbral de toma de control del nodo de red, que se debe acordar entre los desarrolladores del protocolo por adelantado, y siendo este acuerdo implementado en el código. Por otro lado, si se desea crear una nueva criptomoneda, el consenso no es un problema, ya que todo se inicia desde cero. Los desarrolladores de la nueva cadena de bloques especifican nuevos parámetros y puntos de partida para la cadena de bifurcación.