Horquillas de string de bloques

Requisitos previos: Introducción a la tecnología Blockchain , Cómo funciona la tecnología Blockchain , Introducción a Blockchain
La naturaleza descentralizada de las strings de bloques públicas (por ejemplo, Bitcoin y Ethereum) significa que los participantes en la red deben poder llegar a un acuerdo sobre el estado compartido de la string de bloques. (libro mayor público compartido y bloques y el protocolo blockchain). El consenso unánime entre los Nodes de la red da como resultado una sola string de bloques que contiene datos verificados (transacciones) que la red afirma que son correctos. Sin embargo, muchas veces, los Nodes de la red no pueden llegar a un consenso unánime sobre el estado futuro de la string de bloques. Este evento conduce a bifurcaciones(como un diapasón utilizado en la ciencia experimental), lo que significa ese punto en el que la string de bloques ‘única’ ideal se divide en dos o más strings que son todas válidas.

an example gfg blockchain fork

Figura: un ejemplo de bifurcación de string de bloques de GeeksforGeeks

Esto da lugar a tres tipos de bifurcaciones que pueden ocurrir en función de la compatibilidad con versiones anteriores del protocolo blockchain y el instante de tiempo en el que se extrae un nuevo bloque. Estos tipos son los siguientes:

  1. Soft Fork: cuando el protocolo blockchain se modifica de manera compatible con versiones anteriores
  2. Hard Fork: cuando el protocolo de la string de bloques se modifica de forma no compatible con versiones anteriores
  3. Bifurcación temporal: cuando dos mineros extraen un nuevo bloque al mismo tiempo

¡Ahora, es hora de profundizar más!

  1. Soft Fork:
    cuando hay un cambio en el software que se ejecuta en los Nodes (mejor llamados ‘Nodes completos’) para funcionar como un participante de la red, el cambio es tal que los nuevos bloques extraídos sobre la base de nuevas reglas (en el protocolo Blockchain) también se consideran válidos por la versión anterior del software. Esta función también se denomina compatibilidad con versiones anteriores.

    Ejemplo:
    La actualización SegWit de la red Bitcoin agregó una nueva clase de direcciones (Bech32). Sin embargo, esto no invalidó las direcciones P2SH existentes. Un Node completo con una dirección de tipo P2SH podría hacer una transacción válida con un Node de dirección de tipo Bech32.

  2. Bifurcación dura:
    cuando hay un cambio en el software que se ejecuta en los Nodes completos para funcionar como un participante de la red, el cambio es tal que los nuevos bloques extraídos sobre la base de nuevas reglas (en el protocolo Blockchain) no son considerados válidos por la versión anterior del software. Cuando ocurren bifurcaciones duras, surgen nuevas monedas (con una moneda original válida) como en el caso de Ethereum (original: Ethereum, nuevo: Ethereum Classic) y Bitcoin (original: Bitcoin, nuevo: Bitcoin cash). La cantidad equivalente de moneda se distribuye a los Nodes completos que eligen actualizar su software para que no se produzcan pérdidas materiales. Estas bifurcaciones duras suelen ser polémicas (generan conflictos en la comunidad).

    La decisión final de unirse a una string en particular recae en el Node completo. Si se elige unirse a la nueva string, el software debe actualizarse para que las transacciones más nuevas sean válidas, mientras que los Nodes que no eligen actualizar su software continúan funcionando igual.

    Ejemplo:
    La nueva actualización de Casper en Ethereum Blockchain en la que el protocolo de consenso cambiará de un tipo de Prueba de trabajo (PoS) a un tipo de Prueba de participación (PoS). Los Nodes que instalen la actualización de Casper utilizarán el nuevo protocolo de consenso. Los Nodes completos que no elijan instalar la actualización de Casper se volverán incompatibles con los Nodes completos que sí lo hagan.

  3. Bifurcación temporal / bifurcación accidental:
    cuando varios mineros extraen un nuevo bloque casi al mismo tiempo, es posible que toda la red no esté de acuerdo con la elección del nuevo bloque. Algunos pueden aceptar el bloque extraído por una de las partes, lo que lleva a una string diferente de bloques a partir de ese momento, mientras que otros pueden estar de acuerdo con las otras alternativas (de bloques) disponibles. Tal situación surge porque la información tarda un tiempo finito en propagarse en toda la red de la string de bloques y, por lo tanto, pueden existir opiniones contradictorias con respecto al orden cronológico de los eventos. En esta bifurcación, dos o más bloques tienen la misma altura de bloque.

    Las bifurcaciones temporales se resuelven eventualmente cuando una de las strings muere (se queda huérfana ) porque la mayoría de los Nodes completos eligen la otra string para agregar nuevos bloques y sincronizarse.

    Ejemplo:
    Las bifurcaciones temporales ocurren con mayor frecuencia y un evento habitual que desenstring esta bifurcación es la extracción de un bloque por más de una parte casi al mismo tiempo.

Razones para la aparición de una bifurcación de blockchain:

  • Agregar nueva funcionalidad:
    el código Blockchain se actualiza regularmente. Dado que la mayoría de las strings de bloques públicas son de código abierto, las desarrollan personas de todo el mundo. Las mejoras, los problemas se crean, resuelven y se lanzan nuevas versiones cuando es el momento adecuado.
  • Solucionar problemas de seguridad:
    Blockchain (y la criptomoneda encima) es una tecnología relativamente nueva en comparación con la moneda tradicional (billetes, monedas, cheques), la investigación aún está en curso para comprenderla por completo. Por lo tanto, las versiones se actualizan y se lanzan actualizaciones para solucionar los problemas de seguridad que surgen en el camino.
  • Transacciones inversas:
    la comunidad puede anular todas las transacciones de un período específico si se descubre que han sido violadas y maliciosas.

Publicación traducida automáticamente

Artículo escrito por Parikshit Hooda y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *