Compartir este artículo

Bifurcación dura vs. bifurcación suave

Los Eventos de bifurcación dura y bifurcación suave se refieren al proceso de implementar nuevos cambios en el código de un proyecto de blockchain.

bitcoin forks

Las bifurcaciones, o la amenaza de ellas, parecen ser una característica consolidada del panorama de las Criptomonedas . Pero ¿qué son? ¿Por qué son tan importantes? ¿Y cuál es la diferencia entre una bifurcación dura y una bifurcación suave?

Una "bifurcación", en términos de programación, es una modificación de código abierto. Normalmente, el código bifurcado es similar al original, pero con modificaciones importantes, y las dos "puntas" coexisten cómodamente. A veces se utiliza una bifurcación para probar un proceso, pero concriptomonedas, se utiliza más a menudo para implementar un cambio fundamental o para crear un nuevo activo con características similares (pero no iguales) al original.

CONTINÚA MÁS ABAJO
No te pierdas otra historia.Suscríbete al boletín de The Protocol hoy. Ver Todos Los Boletines

No todas las bifurcaciones son intencionales. Con un código fuente abierto ampliamente distribuido, una bifurcación puede ocurrir accidentalmente cuando no todos los nodos replican la misma información. Normalmente, este tipo de bifurcaciones accidentales se identifican y resuelven. La mayoría de las bifurcaciones en Criptomonedas ocurren debido a desacuerdos sobre las características integradas, como analizaremos a continuación.

Un aspecto a tener en cuenta con las bifurcaciones es que comparten un historial. El registro de transacciones en cada cadena (antigua y nueva) es idéntico antes de la división.

Horquillas duras

Hay dos tipos principales de bifurcaciones de programación:

  • Bifurcación dura.
  • Horquilla blanda.

Una bifurcación dura es un cambio a uncadena de bloquesProtocolo que invalida las versiones anteriores. Si las versiones anteriores continúan ejecutándose, terminarán con un protocolo y datos diferentes a los de la versión más reciente. Esto puede generar confusión y posibles errores.

Con BitcoinSería necesaria una bifurcación dura para modificar parámetros definitorios como el tamaño del bloque, el algoritmo de dificultad de minería, los límites a la información adicional que se puede añadir, ETC Un cambio en cualquiera de estas reglas provocaría que los bloques fueran aceptados por el nuevo protocolo, pero rechazados por versiones anteriores, lo que podría generar graves problemas, incluso la pérdida de fondos.

Por ejemplo, si ellímite de tamaño de bloqueSi se aumentara de 1 MB a 4 MB, un bloque de 2 MB sería aceptado por los nodos que ejecutan la nueva versión, pero rechazado por los nodos que ejecutan la versión anterior.

Supongamos que un nodo actualizado valida este bloque de 2 MB y lo añade a la cadena de bloques. ¿Qué ocurre si un nodo con una versión anterior del protocolo valida el siguiente bloque? Intentará añadir su bloque a la cadena de bloques, pero detectará que el último bloque no es válido. Por lo tanto, lo ignorará y añadirá su nueva validación a la ONE.

De repente, tienes dos cadenas de bloques: una con bloques de versiones antiguas y nuevas, y otra solo con bloques de versiones antiguas. La cadena que crezca más rápido dependerá de qué nodos validen los siguientes bloques, y podría haber divisiones adicionales. Es posible que las dos (o más) cadenas crezcan en paralelo indefinidamente.

Se trata de una bifurcación dura (hard fork) y es potencialmente problemática. Además, es arriesgada, ya que es posible que los bitcoins gastados en un nuevo bloque se gasten de nuevo en un bloque antiguo (ya que los comerciantes, monederos y usuarios que ejecutan el código anterior no detectarían el gasto en el nuevo código, que considerarían inválido).

La única solución es abandonar una rama en favor de la otra, lo que implica que algunos mineros saldrían perdiendo (las transacciones en sí no se perderían, simplemente se reasignarían). O bien, todos los nodos tendrían que migrar a la nueva versión simultáneamente, lo cual es difícil de lograr en un sistema descentralizado y ampliamente distribuido.

O bien, las divisiones de Bitcoin , lo cual ha sucedido (hola, Bitcoin Cash).

horquilla blanda

Una bifurcación suave es esencialmente lo opuesto a una bifurcación dura, en la que los cambios recientemente implementados siguen siendo compatibles con versiones anteriores.

Por ejemplo, si se modifica un protocolo de forma que se endurezcan las reglas, se implemente un cambio estético o se añada una función que no afecte en absoluto a la estructura de la cadena de bloques, los bloques de la nueva versión serán aceptados por los nodos de la versión anterior. Sin embargo, no al revés: la versión más reciente y "más estricta" rechazaría los bloques de la versión anterior.

En Bitcoin, versión antigua mineros Se darían cuenta de que sus bloques estaban siendo rechazados y se verían obligados a actualizar. A medida que más mineros actualizan a la última versión, la cadena con bloques predominantemente nuevos se vuelve más larga, lo que, a su vez, aumenta la cantidad de bloques huérfanos de versiones antiguas que se crean y provoca que más mineros actualicen. Este proceso garantiza la autocorrección del sistema. Dado que los bloques de la nueva versión son aceptados tanto por los nodos antiguos como por los actualizados, los bloques de la nueva versión finalmente WIN.

Por ejemplo, supongamos que la comunidad decidió reducir el tamaño del bloque a 0,5 MB desde su límite teórico actual de 4 MB (conBloques SegWit.) Los nodos de la nueva versión rechazarían los bloques con el límite anterior y construirían sobre el bloque anterior (si se extrajo con una versión actualizada del código), lo que causaría una bifurcación temporal.

Esta es una bifurcación suave, y ya ha ocurrido 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ó mediante una bifurcación suave, ya que la nueva regla era más estricta que la ONE.

El función de pago por hash de script, que mejora el código sin cambiar la estructura, también se añadió con éxito mediante una bifurcación suave. Este tipo de modificación generalmente requiere que solo la mayoría de los mineros actualicen, lo que la hace más viable y menos disruptiva.

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

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

Noelle Acheson

Noelle Acheson presenta el podcast " Mercados Daily" de CoinDesk y es autora del boletín "Cripto is Macro Now" en Substack. También fue jefa de investigación en CoinDesk y su empresa hermana, Genesis Trading. Síguenos en Twitter: @NoelleInMadrid.

Noelle Acheson