¿Qué es un Fork?

Un fork se trata de una bifurcación de un proyecto a partir del código fuente de este ya existente. Suele darse en protocolos de código abierto o software libre.

En las redes blockchain, estos forks son bastante comunes para crear nuevos proyectos partiendo de uno anterior o para actualizar un proyecto en cuestión.

Una de las causas de estos forks puede ser la naturaleza descentralizada de las criptomonedas. Esto quiere decir que todos los participantes en su red tienen que estar de acuerdo a la hora de establecer reglas que regulen su funcionamiento, en el caso de que no sea así cualquier usuario puede hacer un fork de la criptomoneda en cuestión, si se trata de una criptomoneda de código abierto como es el caso de Bitcoin, no obstante no le servirá de nada si nadie usa esa criptomoneda.

¿Cómo funciona un fork?

La red blockchain trabaja bajo unas reglas codificadas que se encuentran programadas en el protocolo. Estas hacen posible la validación de bloques y el consenso entre los nodos. Gracias a estas reglas se verifica que cada transacción sea válida, además de la estructura y el tamaño del bloque a validar.

Estas reglas pueden ser modificadas en la mayoría de los casos como ya hemos mencionado. Las modificaciones pueden hacerse con propósitos específicos como crear una nueva criptomoneda a partir de la ya existente o simplemente corregir un error en el sistema. A estas modificaciones es a lo que se le conoce como bifurcación.

¿Qué es un Soft Fork?

Una bifurcación puede ocurrir a raíz de proteger la red, arreglar fallos o incluso dar nacimiento a una nueva criptomoneda. Según cuál sea el propósito existen dos tipos de bifurcaciones. Una de ellas es Soft Fork.

Soft fork es una Bifurcación suave en las cuales en ocasiones modifican las reglas de consenso para agregar actualizaciones o proteger a la red de ataques. Es decir, un Soft Fork es básicamente una actualización en el código del software que gestiona una blockchain. Todo esto sin alterar las reglas básicas y el funcionamiento de la blockchain que será actualizada.

Las blockchains constantemente necesitan actualizarse, mejorarse o corregir algún desperfecto. Los Soft Fork son la vía perfecta para hacerlo sin interrumpir el funcionamiento de la red y sin causar problemas de compatibilidad con la red anterior que no está actualizada.

Esta actualización suele darse a causa de una corrección de algún error o una nueva funcionalidad en la blockchain del proyecto. A diferencia de un Hard Fork, la nueva actualización sigue siendo compatible con la cadena de bloques del proyecto antiguo.

Los usuarios del proyecto que decidan no actualizar la versión pueden seguir participando del proyecto y podrán operar con los nuevos bloques. Simplemente no dispondrán de las mejoras de la nueva actualización, pero sus bloques seguirán siendo verificados.

Cuando se produce un Soft Fork este puede ser de dos tipos:

MASF o Soft Fork activado por minero. Este tiene lugar cuando la gran mayoría de mineros actualizan su versión para acatar las nuevas reglas.

UASF o Soft Fork activado por el usuario. Este tiene lugar cuando son los nodos quienes actualizan la versión de forma general sin el apoyo de los mineros. Esta actualización tiene el objetivo de cumplir las nuevas reglas del Soft Fork

¿Qué es un Hard Fork?

El otro tipo de Fork sería el Hard Fork. En este caso se produce una gran actualización en el protocolo de un proyecto obligando a todos sus usuarios a elegir entre quedarse en la antigua cadena de bloques o en la nueva.

Hard fork (Bifurcación dura) en este caso, a partir del código fuente de una criptomoneda se puede cambiar con propósitos específicos, como dar nacimiento a una nueva criptomoneda. Como es el caso de Litecoin. En un Hard Fork el cambio en el código fuente obliga a los usuarios a elegir si usar la versión anterior o la nueva versión, ya que el hard fork hace incompatibles ambas versiones.

A este suceso le llamamos Bifurcación en la red. Esta bifurcación puede causarse por accidente. Es decir, si una criptomoneda presenta un error en su código fuente y este se corrige puede dar lugar a una bifurcación. Otro motivo puede ser una nueva propuesta en el protocolo anterior que se acaba aplicando en la nueva versión del código.

Cuando tiene lugar un Hard Fork, este puede originar dos tipos de cadenas blockchain. La cadena original de la versión anterior y la nueva cadena. Esto conlleva a que se originen dos redes pero a la vez dos criptomonedas diferentes. Un ejemplo de esto es la criptomoneda Bitcoin y su Hard Fork de Bitcoin Cash.

Litecoin se trata de un hard fork de Bitcoin, sin embargo Litecoin cuenta con una mayor escalabilidad que Bitcoin. Litecoin no ha sido el único fork de Bitcoin, ya que la mayoría de altcoins han sido desarrolladas a partir del código fuente de Bitcoin.