CriptoDinero
Altcoins

¿Qué es un Fork? Y los tipos de bifurcación hard fork y soft fork

Alan Savedra
01 marzo, 2018

El fork es una práctica habitual en proyectos de software libre o de código abierto, que en el contexto de la tecnología blockchain y las criptomonedas, se refiere a cuando sucede una bifurcación, ya sea para crear una nueva criptomoneda, una nueva y mejorada blockchain basada en una versión anterior, o para el desarrollo de un nuevo proyecto bajo una dirección diferente del proyecto original, pero basado en su código fuente…

la bitcoineta

¿Qué es un fork?

En las redes de blockchain, las bifurcaciones sirven para agregar nuevas características a una cadena de bloques, para realizar actualizaciones o para el desarrollo de nuevos proyectos, que parten de las raíces técnicas de uno anterior.

Se habla de fork o de una bifurcación, cuando los desarrolladores se desvían hacia un nuevo proyecto, utilizando código de programación basado en otro ya desarrollado.

El uso de criptomonedas como Bitcoin es posible, precisamente, gracias a su software de código abierto, lo cual significa que cualquier desarrollador puede acceder al código fuente y usarlo de modo libre, aportando modificaciones, mejoras, nuevas funciones, etc.

Un fork consiste en clonar el código original y desarrollar a partir del mismo nuevas características, funcionalidades e implementaciones para ese proyecto, así como también para crear otros nuevos con diferentes rasgos, funciones y propósitos.

Así se han creado las altcoins, nuevas criptomonedas creadas a partir de un fork o bifurcación y basadas en el código fuente de Bitcoin.

Además de introducir modificaciones o actualizaciones, los forks pueden utilizarse para crear una nueva criptomoneda o una nueva blockchain, e incluso con el propósito de mejorar funcionalidades para la protección de la red de posibles ataques.

Si lo que se quiere es crear una nueva criptomoneda, los desarrolladores especifican los nuevos parámetros y un punto de partida respecto a la cadena bifurcada de la que se partió. De este modo, han surgido Bitcoin Cash o Bitcoin Gold, diferentes derivaciones de Bitcoin.

Cualquier persona o desarrollador con conocimientos avanzados de blockchain puede ejecutar una bifurcación. No hay impedimientos para la creación de un nuevo proyecto blockchain basado en el código abierto de Bitcoin, aunque para hacer una actualización del código existente e instaurarlo se necesita de un consenso previo.

Te pueden interesar los siguientes artículos relacionados:

¿Qué es Bitcoin Cash? La bifurcación nacida a partir de Bitcoin

¿Qué es Bitcoin Gold? El fork de Bitcoin contra el monopolio de la minería

¿Cómo es posible el surgimiento de  un fork?

A modo de síntesis y sin entrar en la complejidad del universo blockchain, digamos que por un lado están los nodos; por otro, los mineros.

Los nodos se encargan de actualizar la blockchain y de la verificación de los bloques antes de su incorporación a la cadena.

Los mineros son los responsables de crear los bloques y, en caso haber alguna discrepancia, tienen la función de resolver cuál es la cadena legítima.

En otras palabras, son redes distribuidas de computadoras y hardware especializado los responsables de procesar y validar cada vez que un usuario hace una transferencia o movimiento de bitcoins u otras criptomonedas.

El protocolo de Bitcoin contiene, justamente, una serie de reglas codificadas para la validación de las transacciones y operaciones por parte de los nodos y mineros.

Mediante un proceso descentralizado, los nodos autentifican los bloques de transacciones según las reglas de consenso establecidas; es decir, aquellas que los bloques deben cumplir para ser validados y aceptados en una cadena.

Al tratarse de un consenso descentralizado, no hay autoridad o empresa centralizada a quien acudir y todo depende de la confianza y honestidad de las partes del sistema, incentivadas a operar bajo esas reglas de juego específicas para así maximizar la rentabilidad de su labor.

Si los mineros no cumplen con dichas reglas de consenso, no podrán minar ni obtener su recompensa en criptomonedas.

¿Qué es un Hard Fork y un Soft Fork?

Existen 2 modos de introducir cambios en las reglas:

  • Soft fork – una bifurcación suave
  • Hard fork – bifurcación dura o fuerte

Una de las principales diferencias entre soft fork y hard fork radica en el nivel de compatibilidad de las bifurcaciones con las versiones anteriores del software.

Un soft fork es compatible con versiones anteriores, mientras que un hard fork no lo es .

Soft Fork

Las bifurcaciones suaves se han usado, por ejemplo, en los blockchains de Bitcoin y Ethereum, con el fin de introducir nuevas funcionalidades compatibles con versiones anteriores.

Se trata de un tipo de bifurcación menos radical, en que los bloques (o transacciones) anteriores que habrían sido válidos bajo las antiguas reglas podrán ser inválidos con la aplicación de las nuevas reglas, aunque los bloques inválidos bajo las viejas reglas siguen siendo inválidos con las nuevas reglas de juego acordadas.

En términos de la tecnología blockchain, se habla de una bifurcación suave cuando se introduce una modificación en el protocolo de software, donde sólo los bloques (o transacciones) previamente válidos se vuelven inválidos.

Es un tipo bifurcación más difícil de ejecutar, dado que se debe mantener la compatibilidad con versiones anteriores del software, lo cual llega a ser una limitación para los desarrolladores.

Para su activación, se requiere del apoyo de la mayoría de los mineros, que deberán actualizar el sistema para así minar los nuevos bloques válidos.

La actualización para los usuarios es, sin embargo, opcional. Sólo se necesita que la mayoría de los mineros se actualicen para así hacer cumplir las nuevas reglas.

En otras palabras, los usuarios sólo deben actualizar su software Bitcoin para beneficiarse de las nuevas funciones, pero los que no quieran actualizar su software pueden, igualmente, seguir con la versión anterior.

El soft fork alude a cambios no drásticos en el protocolo, cuyo resultado es compatible con versiones de software anteriores, pudiendo incluso coexistir ambas versiones sin conflictos en la misma red Bitcoin.

Hacer cualquier cambio compatible con versiones anteriores supone que no se requiere actualizar los nodos para mantener las reglas de consenso, dado que los bloques con las nuevas reglas creadas tras la bifurcación, también siguen las reglas anteriores establecidas.

Las bifurcaciones suaves son más difíciles de programar y si bien su implementación no significa la actualización por parte de todos los nodos de la red, esto sería lo más deseable.

Un soft fork supone, al igual que un hard fork, una actualización consensuada del código abierto de Bitcoin.

Hard fork

El hard fork consiste en una bifurcación intencionada para actualizar o rediseñar el código, ya sea para ampliar el tamaño de los bloques o por ejemplo, con el objetivo de cambiar sus reglas.

Por lo general, se tratan de cambios importantes y el software nuevo derivado del mismo será incompatible con las versiones anteriores.

En este tipo de bifurcaciones se aplica una modificación radical al protocolo, que permite a los nodos actualizados aceptar las transacciones con el nuevo formato. Pero las mismas serán rechazadas por los nodos desactualizados.

Con un hard fork la intención es cambiar el protocolo para que los bloques (o transacciones) previas que eran inválidos sean válidos.

Para su activación, se requiere que todos los participantes de la red se actualicen, dado que la vieja versión de software ya no será compatible con la nueva.

A diferencia de las bifurcaciones suaves, la implementación de un hard fork depende de una actualización obligatoria por parte de todos los nodos, pudiendo derivar en 2 cadenas independientes: la original y la nueva.

Aquellos que permanezcan en la versión desactualizada observarán que sus transacciones se vuelven inválidas y no son incluidas en la cadena de bloques, salvo que la antigua versión cuente con el apoyo suficiente como para bifurcarse de la nueva, creando de este modo una nueva blockchain y una nueva criptomoneda, en que se conservan las mismas reglas, pero con otro plan de desarrollo diferente a la actualización propuesta por el hard fork.

Las bifurcaciones duras suelen ser más fáciles de desarrollar y consisten en cambios en las reglas actuales de consenso.

El hard fork se utiliza también para corregir riesgos de seguridad detectados en versiones anteriores del software, o también para revertir transacciones.

Luego del pirateo de The DAO, la comunidad de Ethereum se manifestó a favor de un hard fork para revertir las transacciones que logró desviar un pirata informático anónimo. Por medio de un hard fork, algunos titulares de tokens The DAO pudieron recuperar sus fondos de ether, a través de un contrato inteligente para que los propietarios originales los retiren.

Pero la adopción de un hard fork no supuso que la antigua red desapareciera. La red se dividió en Ethereum y Ethereum Classic. Si bien ambas ofrecen contratos inteligentes, poseen tipos de desarrollo diferentes y sus propias criptomonedas: ETH Y ETC.

Tal como detalla la web criptonoticias, cuando se activa un hard fork pueden darse -entre tantas otras- las siguientes situaciones:

  • Ambas versiones sobreviven y coexisten. La potencia de procesamiento y el valor de la criptomoneda se divide según lo establece el mercado. Un ejemplo, la bifurcación de Ethereum y Ethereum Classic tras el hard fork implementrado luego del ataque a The DAO.
  • La cadena que inicia la bifurcación se diferencia de la cadena principal, naciendo así una altcoin cuya creación no incide necesariamente en el poder de procesamiento o valor de mercado de la cadena original. Ejemplo, la bifurcación de Bitcoin Cash a partir de la blockchain de Bitcoin.

Polémica en torno a los forks

Dentro del campo del software libre y el ecosistema blockchain, los forks o bifurcaciones son consideradas por algunos como un derecho fundamental:

«El derecho a la bifurcación del código fuente abierto es el núcleo de la licencia de código abierto. Todas las licencias otorgan el derecho de bifurcar su código, es decir, iniciar un nuevo esfuerzo de desarrollo utilizando un código existente como base. Por lo tanto, la bifurcación representa la herramienta más grande disponible para garantizar la sostenibilidad en software de código abierto» – palabras de Juho Lindman y Linus Nyman / Escuela de Economía Hanken, Finlandia

Sin embargo, según Vitalik Buterin, creador de Ethereum, todos los forks son, a su modo, coercitivos.

En el caso de un hard fork, si los usuarios quieren permanecer en la plataforma, aunque no estén de acuerdo con las nuevas implementaciones, deberán cambiar a la nueva cadena si la mayoría adopta esa nueva ruta.

En el caso de un soft fork, al no existir la posibilidad de dividir la red y crear una nueva blockchain (como en el hard fork), de todos modos, o mejor dicho tarde o temprano, los mineros deberán adaptarse a la mayoría, en caso de querer seguir minando.

«Se siente que un hardfork ‘obliga’ al usuario a instalar una actualización de software, mientras que en el softfork los usuarios no ‘tienen’ que hacer nada en absoluto. Sin embargo, esta intuición (que el softfork es menos coercitivo) es desacertada. Lo que importa no es si los usuarios individuales tienen o no que cumplir con el requisito burocrático de clickear el botón “Descargar”, sino que el usuario esté siendo o no obligado a aceptar un cambio en las reglas del protocolo que de otro modo no aceptaría… Ambos tipos de forks son, en definitiva, coercitivas, y es difícil que sean mejores para preservar la libertad del usuario».
Lo cierto es que lograr un consenso absoluto es, en la práctica, casi imposible. Tras el fork de una plataforma o criptomoneda, en un primer momento no se sabe qué podría suceder. Según el científico computacional David Wheeler, los desenlaces posibles son 4:
  • La muerte de la bifurcación por falta de apoyo
  • La absorción posterior de la bifurcación por parte del original
  • La muerte del original
  • Una bifurcación exitosa
Con un poco de humor, los Cazadores de Mitos parece que tienen sus propios forks…



Copyright 2016 - 2022 © CriptoDinero - Todos los derechos reservados