Horquilla dura vs horquilla blanda

Última actualización: 16 de marzo de 2018

Las bifurcaciones, o la amenaza de ellas, parecen ser una característica establecida del panorama de las criptomonedas. ¿Pero que son? ¿Por qué son tan importantes? ¿Y cuál es la diferencia entre un tenedor duro y un tenedor suave?

Una “bifurcación”, en términos de programación, es una modificación de código de fuente abierta. Por lo general, el código bifurcado es similar al original, pero con importantes modificaciones, y los dos “dientes” coexisten cómodamente. A veces, se usa una bifurcación para probar un proceso, pero con las criptomonedas, se usa más a menudo para implementar un cambio fundamental o para crear un nuevo activo con características similares (pero no iguales) al original.

No todas las bifurcaciones son intencionales. Con una base de código de fuente abierta ampliamente distribuida, una bifurcación puede ocurrir accidentalmente cuando no todos los nodos replican la misma información. Sin embargo, por lo general, estas bifurcaciones se identifican y resuelven, y la mayoría de las bifurcaciones de criptomonedas se deben a desacuerdos sobre las características integradas.

Una cosa a tener en cuenta con las bifurcaciones es que tienen una “historia compartida”. El registro de transacciones en cada una de las cadenas (antiguas y nuevas) es idéntico antes de la división.

Horquillas duras

Hay dos tipos principales de bifurcaciones de programación: duras y blandas.

Un hard fork es un cambio en un protocolo que invalida las versiones anteriores. Si las versiones anteriores continúan ejecutándose, terminarán con un protocolo diferente y con datos diferentes a los de la versión más nueva. Esto puede dar lugar a una gran confusión y a posibles errores.

Con bitcoin, sería necesaria una bifurcación para cambiar los parámetros de definición como el tamaño del bloque, la dificultad del rompecabezas criptográfico que debe resolverse, los límites a la información adicional que se puede agregar, etc. Un cambio en cualquiera de estas reglas sería hacer que los bloqueos sean aceptados por el nuevo protocolo pero rechazados por versiones anteriores y podrían generar problemas graves, posiblemente incluso una pérdida de fondos.

Por ejemplo, si el límite de tamaño del bloque aumentara de 1 MB a 4 MB, los nodos que ejecutan la nueva versión aceptarían un bloque de 2 MB, pero los nodos que ejecutan la versión anterior lo rechazarían.

Digamos que este bloque de 2 MB es validado por un nodo actualizado y agregado a la cadena de bloques. ¿Qué pasa si el siguiente bloque es validado por un nodo que ejecuta una versión anterior del protocolo? Intentará agregar su bloque a la cadena de bloques, pero detectará que el último bloque no es válido. Entonces, ignorará ese bloque y adjuntará su nueva validación al anterior. De repente, tiene dos cadenas de bloques, una con bloques de versiones más antiguas y más nuevas, y otra con solo bloques de versiones más antiguas. Qué cadena crezca más rápido dependerá de qué nodos obtengan los siguientes bloques validados, y podría terminar siendo divisiones adicionales. Es factible que las dos (o más) cadenas crezcan en paralelo de forma indefinida.

Esta es una bifurcación difícil y potencialmente complicada. También es riesgoso, ya que es posible que los bitcoins gastados en un nuevo bloque se vuelvan a gastar en un bloque antiguo (ya que los comerciantes, las carteras y los usuarios que ejecutan el código anterior no detectarían el gasto en el nuevo código, que consideran no válido).

La única solución es que se abandone una sucursal en favor de la otra, lo que implica que algunos mineros salgan perdiendo (las transacciones en sí mismas no se perderían, simplemente se reasignarían). O bien, todos los nodos tendrían que cambiar a la versión más nueva al mismo tiempo, lo que es difícil de lograr en un sistema descentralizado y ampliamente extendido.

O, bitcoin se divide, lo que ha sucedido (hola, bitcoin cash).

Tenedor suave

Una bifurcación blanda todavía puede funcionar con versiones anteriores.

Si, por ejemplo, un protocolo se cambia de una manera que endurece las reglas, que implementa un cambio cosmético o que agrega una función que no afecta la estructura de ninguna manera, entonces los nuevos bloques de versión serán aceptados por los nodos de la versión anterior. Sin embargo, no al revés: la versión más nueva y “más ajustada” rechazaría los bloques de la versión anterior.

En bitcoin, idealmente los mineros de versiones antiguas se darían cuenta de que sus bloques fueron rechazados y actualizarían. A medida que más mineros se actualizan, la cadena con bloques predominantemente nuevos se vuelve la más larga, lo que dejaría huérfanos a los bloques de la versión anterior, lo que llevaría a más mineros a actualizar, y el sistema se autocorrige. Dado que los bloques de la nueva versión son aceptados por los nodos antiguos y actualizados, los bloques de la nueva versión finalmente ganan.

Por ejemplo, digamos que la comunidad decidió reducir el tamaño del bloque a 0,5 MB desde el límite actual de 1 MB. Los nodos de la nueva versión rechazarían bloques de 1 MB y se basarían en el bloque anterior (si se extrajo con una versión actualizada del código), lo que provocaría una bifurcación temporal.

Esta es una bifurcación suave y ya ha sucedido varias veces. Inicialmente, Bitcoin no tenía un límite de tamaño de bloque. La introducción del límite de 1 MB se realizó a través de una bifurcación suave, ya que la nueva regla era “más estricta” que la anterior. La función pay-to-script-hash, que mejora el código sin cambiar la estructura, también se agregó con éxito a través de una bifurcación suave. Este tipo de enmienda generalmente requiere que solo la mayoría de los mineros se actualicen, lo que lo hace más factible y menos perturbador.

Las bifurcaciones blandas no conllevan el riesgo de doble gasto que afecta a las bifurcaciones duras, ya que los comerciantes y los usuarios que ejecutan nodos antiguos leerán los bloques de versiones nuevas y antiguas.

Para ver ejemplos de cambios que requerirían una bifurcación suave, consulte la “lista de deseos de la bifurcación suave”.

Puede seguir las noticias y actualizaciones de CoinDesk sobre las bifurcaciones de criptomonedas aquí.

Escrito por Noelle Acheson; Imagen de la bifurcación a través de Shutterstock

CriptoMundo

CriptoMundo.com es un medio digital independiente que difunde noticias y contenido sobre criptomonedas y tendencias emergentes de tecnologías financieras. Ofrece noticias, guías, artículos de opinión y gráficos en tiempo real.

Monedas

Bitcoin

Ethereum