Bifurcación de la cadena de bloques (fork)

Bifurcación de la cadena de bloques (fork)

18 enero, 2018 1 Por Alter Consciens

De un tiempo a esta parte, en el mundo crypto mucha gente habla de los forks o bifurcaciones en la cadena de bloques. Para comprender lo que significa una bifurcación, hablaremos sobre las diferencias entre un hard fork y un soft fork. Sin embargo, primero tengamos los siguientes conceptos básicos claros:

Un fork o bifurcación es una división de una blockchain en dos ramas, donde los usuarios deberán decidir cuál prefieren. Algunas de las ramas funcionarán con facilidad. Sin embargo, podrá encontrar otras con importantes problemas, generando como resultado que las cadenas se dividan en dos (chain split). De este modo, brotan dos blockchains y dos criptomonedas independientes.

Bifurcación en Bitcoin

En el caso de Bitcoin, cualquiera puede alterarlo bajo su propio criterio, pues se trata de un software de código abierto. Por lo tanto, un fork comprende la modificación del código fuente y ocurre cada vez que dos mineros toman una clave del bloque al mismo tiempo. Sencillamente se agrega el bloque siguiente, la cadena más larga gana, y la corta es rechazada por la red.

Sin embargo, los desarrolladores también pueden originar una bifurcación. Sencillamente, cambiando las reglas que definen la veracidad de una transacción. Los mineros pueden estar interesados en obtener bloques para introducirlos en la cadena más larga, decidiéndose por mantener transacciones no válidas en la blockchain, logrando así que la red los ignore.

Con el tiempo, las monedas necesitan alteraciones en sus protocolos, pues forman parte de su evolución. Las alteraciones varían desde la adición de características a cambios macro, como el aumento del tamaño de bloque. Y, de vez en cuando, esas alteraciones en la blockchain no son aceptadas por algunos en la comunidad de mineros. Las divisiones en la infraestructura de red provocan por lo general el origen de nuevas blockchains y criptomonedas. Hasta la fecha, las bifurcaciones más comunes son:


Bifurcación dura (hard fork) 

También llamada bifurcación dura o compleja, es una transformación básica en el protocolo del software de la criptomoneda, una nueva regla, no compatible con versiones anteriores de la moneda. Podría decirse también que se trata de un estiramiento de las reglas. Por ejemplo, si deseamos aumentar el tamaño de bloque de 1 MB a 2 MB, necesitamos realizar un hard fork.

Todo el que ejecute un nodo en la red de Bitcoin, indispensablemente necesitará actualizar su software para reconocer estos nuevos bloques. La bifurcación se produce cuando una parte importante de los nodos está intentando ejecutar la nueva versión, mientras la otra parte se mantiene trabajando con la antigua, extrayendo a su vez un conjunto diferente de bloques, lo que explicaría el término fork en su esencia.

Inconvenientes

Los inconvenientes han surgido en la comunidad cuando se divide en opiniones y parte de ella decide unirse a las reglas anteriores, considerando que lo que les importa es que sus datos y reglas se consideren valiosos para los mineros, y los desarrolladores, por supuesto, los apoyan.

El hard fork en la red de Ethereum es un ejemplo de la partición de la comunidad debido a un cambio en las reglas del juego.Esto sucedió a raíz del hackeo del proyecto The DAO (la organización autónoma descentralizada, por sus siglás en inglés), un ambicioso proyecto para la firma de capital de riesgo humano, construida exclusivamente mediante contratos inteligentes en la plataforma de Ethereum.

Después de recaudar 150 millones de dólares, alguien comenzó a desviar dinero del proyecto, que perdió alrededor de 50 millones de dólares en Ether. Esto resultó en la decisión de «hackear al hacker», es decir, la Fundación Ethereum decidió intervenir y simplemente bifurcar la totalidad de la blockchain desde el bloque donde tuvo lugar el robo. Quienes no estaban de acuerdo se mantuvieron en la cadena que incluía los bloques desechados por Ethereum, dando lugar a Ethereum Classic.

Bifurcación suave (soft fork)

A diferencia de la anterior, la «bifurcación suave» es tan sólo un cambio en el protocolo de criptografía. Por ejemplo, con una nueva regla se podrían obtener bloques más reducidos, de 500KB en lugar de sólo 1MB.

Lo que ocurre es que los nodos de las redes que usan el software anterior consideran que las nuevas transacciones son válidas. Pero si los nodos antiguos continúan minando esos bloques, serán rechazados por parte de los que sí han actualizado su software.

Si una bifurcación suave es soportada sólo por una minoría de la potencia hash de la red, la cadena podría ser abandonada, al pasar a ser la más corta, o quizás, si esa minoría así lo decide, como un hard fork.

Hasta el presente, es el procedimiento más usado para actualizar la blockchain de Bitcoin y básicamente porque se considera un riesgo menor de separación en la red. En el caso anterior, se requiere que todos los mineros actualicen y cumplan las nuevas reglas. Por su parte, el soft fork requiere que sólo la mayoría de los nodos se actualicen y acuerden la nueva versión.

La mayoría de soft forks han consistido en actualizar la cadena de bloques de Bitcoin, ya que supuestamente tienen un menor riesgo de dividir la red. Algunos ejemplos de bifurcaciones con éxito son las actualizaciones de software, como BIP 66, que trató la validación de firmas, y P2SH, que cambió el formato de dirección de Bitcoin.