Un fork o bifurcación es un proceso en el cual los nodos deciden realizar cambios en el software. Este consenso entre nodos puede ser parcial o total, lo que definirá si la bifurcación es dura o suave.
¿De qué hablamos cuando nos referimos a un ‘fork’?
Sabemos que está vinculado con una bifurcación en las cadenas de bloques y en los sistemas de software libre. Pero, ¿en qué consiste y cuál es su relación con Bitcoin? Entrá al artículo y enterate.
Una definición de diccionario
Para empezar el artículo sería conveniente que brindemos una definición de Fork. Pues podemos decir que, en desarrollo de software libre (donde es muy común que se utilice), 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. Sin embargo, en las redes blockchain, estas bifurcaciones pueden tomar dos orientaciones: se pueden usar tanto como para diseñar nuevos proyectos partiendo de uno anterior, o para la actualización de uno en cuestión.
Encontramos varios tipos de forks o bifurcaciones que utilizaremos por una cosa u otra, dependiendo lo que queramos hacer. Aunque se pueden dividir en dos subgrupos: las bifurcaciones suaves y las fuertes.
Tipos de bifurcaciones
Hay dos tipos de bifurcaciones: soft forks y hard forks. La principal diferencia radica en que, si la totalidad de los nodos está de acuerdo, la modificación será suave, poco notoria para los usuarios. Por el contrario, si una parcialidad de nodos decide implementar modificaciones estamos hablando de una bifurcación dura, que divide a la red.
Bifurcaciones suaves o soft forks
Cuando hablamos de soft, nos referimos a suave, por lo tanto, estas se utilizan para identificar cuando los cambios en el código no tienen repercusiones exageradas en el sistema, e incluso el resultado es compatible con versiones anteriores. 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.
Bifurcación dura o hard fork
Mientras tanto, cuando hablamos de hard fork, se trata de cambiar el protocolo para lograr que los bloques o transacciones previas que eran inválidos cambien a válidos. Esto incluye cambios en la estructura de bloque y reglas de dificultad en su resolución. Requiere que todos los participantes de la red se actualicen ya que la vieja versión ya no será compatible con la nueva. Por eso se ven obligados a actualizarla. Tanto en los soft forks (bifurcaciones suaves) como en los hard forks (bifurcaciones fuertes), los usuarios son los que deben participar en la actualización de la red (mediante la descarga del nuevo software o por medio de la abstención de hacerlo).
Características que las diferencian:
Hay tres diferencias claves entre ambas bifurcaciones:
- Los soft forks son más difíciles de programar, mientras que los hard forks son sencillos en este sentido
- Los hard forks cambian las reglas de consenso, a diferencia de los soft forks que se encargan de reducirlas.
- En la suaves la implementación no implica la actualización por parte de todos los nodos de la red. En cambio, en las fuertes, su implementación comprende una actualización obligatoria de los nodos o la exclusión de la red. Si no lo hace, puede derivar a cadenas independientes.
Bitcoin y los forks
Como se mencionó al principio del artículo, los forks se utilizan para los códigos de fuente de ciertos programas. Entre estos, se encuentra la plataforma Bitcoin. En dicha dimensión, los forks pueden tener dos funciones distintas, por un lado se usan para clonar el código bitcoin para crear una nueva criptomoneda. Y por otro lado, para realizar una actualización al código existente. De todos modos, lo utilicemos para lo que lo utilicemos, al tratarse de un sistema de código abierto, cualquiera puede tener acceso al código. Por tanto, todos aquellos con conocimientos de blockchain avanzado pueden ejecutar una bifurcación.
Desde su creación, Bitcoin ha tenido varios hard forks en su historia. El primero, realizado al poco tiempo del lanzamiento de la plataforma (en 2009), el llamado Bloque Génesis. Fue el primer bloque en el blockchain y representa la fundación de la criptomoneda tal como la conocemos. A partir de ahí Bitcoin fue evolucionando y generando bifurcaciones cada vez más fuertes. Una de ellas -y realizada recientemente- es Bitcoin Cash (ver el artículo las criptos más populares). Es el hard fork por el momento más exitoso de la principal criptomoneda y tiene la particularidad de que permite bloques de 8 MB (aumentado a 32 MB) y que no adoptó el protocolo SegWit (que se implementa en la cadena de bloques de Bitcoin desde 2017, luego de un soft fork en el sistema).
Forks – Preguntas relacionadas
¿Qué es un fork?
Un fork o bifurcación es un proceso en el cual los nodos deciden realizar cambios en el software. Este consenso entre nodos puede ser parcial o total, lo que definirá si la bifurcación es dura o suave.
¿Qué diferencia hay entre un hard fork y un soft fork?
La principal diferencia radica en que, si la totalidad de los nodos está de acuerdo, la modificación será suave. Por el contrario, si una parcialidad de nodos decide implementar modificaciones estamos hablando de una bifurcación dura, que divide a la red.
¿Qué es una bifurcación en criptomonedas?
El término de bifurcación es una manera más de hacer referencia a lo que llaman fork. Un proceso en el cual los nodos deciden realizar cambios en el software.