Contenido
Introducción
¿Quién toma las decisiones en una red blockchain?
¿Qué es un tenedor?
Bifurcaciones duras vs. bifurcaciones blandas
¿Qué es un hard fork?
¿Qué es un tenedor blando?
Bifurcaciones duras versus bifurcaciones duras Horquillas blandas: ¿cuál es mejor?
Consideraciones finales
Introducción
Cuando recibes una notificación de una actualización de tu aplicación de banca digital en tu teléfono inteligente, probablemente no lo pienses dos veces antes de aceptarla. Quizás tu teléfono se actualice automáticamente sin que te des cuenta. Después de todo, es un proceso necesario: si no instala la última versión del software, corre el riesgo de no poder utilizar sus servicios cuando los necesite.
Sin embargo, cuando se trata de criptomonedas de código abierto, la situación es diferente. No es necesario leer cada línea de código en el sistema Bitcoin para usarlo, pero es importante tener la opción de hacerlo. No existe una jerarquía ni un banco que pueda simplemente enviar actualizaciones y realizar cambios como mejor le parezca. Por lo tanto, implementar nuevas funciones en las redes blockchain puede ser un desafío.
En este artículo, analizaremos cómo se pueden actualizar las redes de criptomonedas a pesar de que no exista una autoridad central. Para ello se utilizan dos mecanismos diferentes: hard fork y soft fork.
¿Quién toma las decisiones en una red blockchain?
Para comprender cómo funcionan las bifurcaciones, es importante primero comprender a los participantes involucrados en el proceso de toma de decisiones (gobernanza) de la red.
En el sistema Bitcoin, podemos distinguir tres subconjuntos de participantes: desarrolladores, mineros y usuarios de nodos completos. Estos son los partidos que realmente contribuyen a la red. Los nodos ligeros (como aplicaciones de billetera en teléfonos móviles, portátiles, etc.) se utilizan ampliamente, pero en realidad no son “participantes” del funcionamiento de la red.
Desarrolladores
Los desarrolladores son responsables de crear y actualizar el código. Considerando una moneda típica, cualquiera puede contribuir al proceso. El código está disponible públicamente, lo que significa que puede enviar cambios para que otros desarrolladores los revisen.
mineros
Los mineros son responsables de proteger la red. Ejecutan el código de la criptomoneda y dedican recursos para agregar nuevos bloques a la cadena de bloques. En la red Bitcoin, por ejemplo, lo hacen mediante Prueba de Trabajo. Los mineros son recompensados por sus servicios mediante recompensas en bloque.
Usuarios de nodo completo
Los nodos completos son el núcleo de la red de criptomonedas. Validan, envían y reciben bloques y transacciones. Además, los nodos completos también mantienen una copia de la cadena de bloques.
Es común encontrar superposiciones en estas categorías. Podrías, por ejemplo, ser desarrollador y usuario de nodo completo al mismo tiempo. O un minero y un usuario de nodo completo. Es posible actuar en las tres categorías o en ninguna. De hecho, muchos usuarios de criptomonedas no desempeñan ninguna de estas funciones. En su lugar, optan por utilizar nodos ligeros o servicios centralizados.
Al observar las descripciones anteriores, podemos estar convencidos de que son los desarrolladores y mineros quienes toman decisiones relacionadas con la red. Los desarrolladores crean el código; sin ellos, no habría software en ejecución ni nadie para corregir errores o agregar nuevas funciones. Los mineros protegen la red: sin una competencia minera sana, la cadena puede ser robada o paralizada por completo.
Sin embargo, si estas dos categorías intentaran obligar al resto de la red a seguir sus deseos, no funcionaría muy bien. Muchos consideran que el poder sobre la red está, en realidad, concentrado en nodos completos. Probablemente porque la red es voluntaria, lo que significa que los usuarios pueden elegir qué software quieren ejecutar.
Los desarrolladores no irrumpen en tu casa armados y te obligan a descargar archivos binarios de Bitcoin Core. Si los mineros adoptan una postura autoritaria que obliga a los usuarios a realizar cambios no deseados, los usuarios simplemente abandonarán la red.
Estos participantes no son soberanos: son proveedores de servicios. Si la gente decide no utilizar la red, la moneda perderá su valor. La pérdida de valor afecta directamente a los mineros (sus recompensas valen menos cuando están denominadas en dólares). En cuanto a los desarrolladores, los usuarios pueden simplemente ignorarlos.
Como podemos ver, no es que el software sea dueño de la red. Puede realizar los cambios que desee y, si otras personas ejecutan su software modificado, todos podrán mantener la conexión. En este caso, habría bifurcado el software y creado una nueva red en el proceso.
¿Qué es un tenedor?
Cuando el software se bifurca, se copia y modifica. El proyecto original sigue existiendo, pero separado del nuevo, que toma un rumbo diferente. Supongamos que el equipo de su sitio web favorito, en términos de contenido de criptomonedas, tiene un gran desacuerdo. Una parte del equipo puede replicar el sitio en un dominio diferente. Sin embargo, después de la separación, publicarían contenido diferente al del sitio web original.
Los proyectos tienen una base común y comparten parte de su historia. Así como un camino se bifurca en dos, ahora hay una divergencia permanente en los caminos de cada proyecto.
Tenga en cuenta que este tipo de cosas suceden mucho en proyectos de código abierto y han estado sucediendo mucho antes de la aparición de Bitcoin o Ethereum. Sin embargo, la distinción entre hard forks y soft forks es casi exclusiva de los entornos blockchain. Discutamos esto un poco más.
➠ ¿Estás pensando en invertir en criptomonedas? ¡Compre Bitcoin en Binance!
Bifurcaciones duras vs. bifurcaciones blandas
A pesar de tener nombres similares y esencialmente el mismo propósito, los hard forks y los soft forks tienen diferencias significativas. Evaluamos cada uno.
¿Qué es un hard fork?
Las bifurcaciones duras son actualizaciones de software que son incompatibles con versiones anteriores. Normalmente, ocurre cuando los nodos (nodos) agregan nuevas reglas que entran en conflicto con las reglas de nodos más antiguos. Los nuevos nodos sólo pueden comunicarse con otros que operan la nueva versión. Como resultado, la cadena de bloques se divide, creando dos redes distintas: una con las reglas antiguas y otra con las nuevas.
Los nodos se vuelven azules cuando se actualizan. Los nodos amarillos (mayores) los rechazan, mientras que los azules se conectan entre sí.
Ahora hay dos redes funcionando en paralelo. Ambos seguirán propagando bloques y transacciones, pero ya no funcionarán en la misma cadena de bloques. Todos los nodos compartieron la misma cadena de bloques hasta el punto de bifurcación (este historial permanece sin cambios), pero después de eso, tendrán diferentes bloques y transacciones.
Teniendo en cuenta este historial compartido, si ha tenido monedas desde antes de la bifurcación, tendrá monedas en ambas redes. Suponga que tiene 5 BTC cuando se produce una bifurcación en el bloque 600.000. Podrías gastar estos 5 BTC en la cadena antigua, en el Bloque 600.001, pero no se gastarán en el Bloque 600.001 de la nueva blockchain. Suponiendo que no hubo cambios en el cifrado, sus claves privadas aún contienen cinco monedas en la red bifurcada.
Un ejemplo de bifurcación dura fue la de 2017 que dividió la cadena de Bitcoin en dos: la original, Bitcoin (BTC), y una nueva, Bitcoin Cash (BCH). La bifurcación se produjo después de mucha discusión sobre el mejor enfoque para la escalabilidad. Los defensores de Bitcoin Cash querían aumentar el tamaño del bloque, pero los miembros de la red Bitcoin original se opusieron al cambio.
Un aumento en el tamaño del bloque requiere la modificación de las reglas. Esto fue antes de la bifurcación suave de SegWit (lo discutiremos en breve), por lo que los nodos solo aceptarían bloques de menos de 1 MB. Si crearas un bloque de 2 MB que fuera válido, otros nodos lo rechazarían debido a su tamaño.
Solo los nodos que hicieron cambios en el software para permitir bloques de más de 1 MB podían aceptar estos bloques. Por supuesto, esto los haría incompatibles con la versión anterior, por lo tanto, sólo podrían comunicarse nodos con las mismas modificaciones de protocolo.
¿Qué es un tenedor blando?
Una bifurcación suave es una actualización que es compatible con versiones anteriores, lo que significa que los nodos actualizados aún pueden comunicarse con aquellos que aún no se han actualizado. En un soft fork se suele añadir una nueva regla que no entra en conflicto con las reglas anteriores.
Por ejemplo, se puede implementar una reducción del tamaño del bloque mediante una bifurcación suave. Usando Bitcoin nuevamente como ejemplo: aunque hay un límite para el tamaño máximo de un bloque, no hay límite para el tamaño mínimo. Si solo desea aceptar bloques más pequeños que un tamaño específico, simplemente rechace los más grandes.
Sin embargo, esto no lo desconecta automáticamente de la red. Aún te comunicas con nodos que no han implementado las nuevas reglas, pero parte de la información que te transmiten se filtra.
Un buen ejemplo de la vida real de una bifurcación suave fue el Testigo Segregado (SegWit) antes mencionado, que ocurrió poco después de la división Bitcoin/Bitcoin Cash. SegWit fue una actualización que cambió el formato de bloques y transacciones, pero fue diseñada meticulosamente. Los nodos antiguos aún podían validar bloques y transacciones (la actualización no violó las reglas), pero simplemente no las entendían completamente. Algunos campos solo se pudieron leer cuando los nodos cambiaron al software más reciente, lo que permitió un análisis de datos adicional.
Incluso dos años después de la activación de SegWit, no todos los nodos se actualizaron. La actualización completa tiene algunas ventajas, pero no hay urgencia, ya que no se trata de cambios que perjudiquen el buen funcionamiento de la red.
Bifurcaciones duras versus bifurcaciones duras tenedores blandos: ¿cuál es mejor?
Básicamente, los dos tipos de horquillas tienen finalidades diferentes. Los hard forks controvertidos pueden dividir a una comunidad entera, pero los bien planificados brindan libertad para modificar el software cuando todos están de acuerdo.
La bifurcación blanda es una opción menos radical. En general, las posibilidades son más limitadas, ya que los nuevos cambios no pueden entrar en conflicto con las reglas existentes. Dicho esto, si su actualización se puede diseñar de manera que siga siendo compatible, no hay que preocuparse por la fragmentación de la red.
Consideraciones finales
Las bifurcaciones duras y blandas son cruciales para el éxito a largo plazo de las redes blockchain. Permiten cambios y actualizaciones en sistemas descentralizados, incluso en ausencia de una autoridad central.
Las bifurcaciones permiten que las cadenas de bloques y las criptomonedas integren nuevas funciones a medida que se desarrollan. Sin estos mecanismos, necesitaríamos un sistema centralizado con control de arriba hacia abajo. De lo contrario, nos quedaríamos atrapados con exactamente las mismas reglas durante todo el tiempo que existió el protocolo.
➠ ¿Preguntas sobre las horquillas? ¡Accede a Ask Academy!