Un UASF es la forma con la que se introduce una actualización dentro de la blockchain, teniendo los usuarios la decisión de activarla o no. Conoce aquí todo lo que debes saber del mismo, su funcionamiento e importancia.
Las siglas UASF significan User Activated Soft Fork (UASF) o Bifurcación Suave Activada por el Usuario. Este es un mecanismo activado por nodos completos en un tiempo específico, lo que le permite al sistema Bitcoin poder realizar una transición o cambio a un nuevo conjunto de reglas de consenso. Todo esto sin provocar cambios abismales en la red, como por ejemplo, la división de la cadena en dos blockchain diferentes.
Un soft fork o bifurcación suave, se trata más bien de un cambio a las reglas de protocolo del software impuesto por los nodos completos. Incluso con estos nuevos cambios la compatibilidad con las versiones anteriores del software se mantiene. Esto permite a los nodos completos antiguos reconocer los nuevos bloques y transacciones como válidos. Y al resto de nodos nuevos, trabajar en sincronía con el resto de nodos estén o no actualizados.
Para ejecutar un UASF, se debe producir el soft fork con los nodos completos en un tiempo específico. Es decir, a una fecha y hora determinadas. Allí, los nodos completos deben activar las nuevas reglas de consenso, y rechazar todos aquellos bloques y transacciones que no se apeguen a las nuevas reglas. No obstante, los nodos completos podrán aceptar o rechazar los bloqueos de los mineros en función de las nuevas reglas. Por lo que los mineros podrían apegarse a las nuevas reglas de consenso para la minería de bloques, o rehusarse y arriesgarse a malgastar recursos si sus bloques son rechazados.
Funciones de un UASF
Las bifurcaciones suaves fueron creadas con la finalidad de crear nuevas características que mejoren de forma sutil ciertas funciones dentro de la blockchain. Perfeccionando su protocolo sin arriesgar el funcionamiento de la red. Es el punto contrario del hard fork, donde los cambios pueden llegar a dividir la red blockchain en dos cadenas distintas.
En un inicio, estas bifurcaciones son activadas por los mineros, quienes controlan el poder de hash de la red. Decidiendo si adoptar o no los cambios propuestos. Pero debido a que las opiniones en torno a estas bifurcaciones pueden ser muy variadas por parte la comunidad. Estos podrían estar de acuerdo o no con las decisiones de los mineros, entonces se implementó el concepto de UASF. Este cambio permite que sean los participantes de la red quienes puedan activar la bifurcación suave. Esto provoca que los mineros, aunque puedan rechazar el soft fork, simplemente no lo hagan por el hecho de no perder las comisiones que generan las transacciones y la producción de bloques. Una forma sutil de hacer que los mineros acepten los cambios.
En caso de que una bifurcación suave sea activada, todas las operaciones que se realicen en la red que no cumplan con las nuevas reglas de protocolo serán rechazadas. Por tanto si los mineros la ignoran y siguen validando con las anteriores reglas, sus esfuerzos de minería serán desperdiciados, al aprobar transacciones y bloques que serán inválidos ante las nuevas reglas de consenso. Acción con la cual no podrán recibir ninguna recompensa por el trabajo que han realizado, malgastando su poder de hash (hash rate).
Por lo tanto, el mecanismo de UASF permite a los usuarios tomar el control sobre los mineros e incentivarlos para que acepten las nuevas reglas. Por lo que requiere de mucha coordinación por parte de la comunidad de toda la red para activarlo.
¿Qué es el BIP 148?
La Propuesta de Mejora de Bitcoin BIP 148 es un ejemplo claro de UASF, que incentiva a la red para la implementación de SegWit con la finalidad de mejorar la utilización del espacio del bloque. Para así poder procesar un mayor número de transacciones dentro del bloque y de forma mucho más rápida. SegWit es un cambio propuesto en la red que permite separar las firmas digitales en Bitcoin de la sección original del bloque, logrando una mejor administración del espacio dentro del bloque.
Esta bifurcación suave no causa ninguna división a la red Bitcoin, sino que busca incentivar a los mineros a que actualicen sus software para implementar SegWit. El cual requería de al menos un 95% de aceptación por parte de los mineros para que fuera activado por completo.
Entonces, como la adopción de SegWit por parte de los mineros no se estaba alcanzando al nivel que se esperaba, los desarrolladores optaron por crear otra propuesta. Una que permitiera a los nodos completos activar SegWit de forma coordinada, sin la necesidad de aprobación por parte de la mayoría de los nodos mineros. Esta propuesta es User Activated Soft Fork o UASF.
Por ello que el mecanismo de UASF le otorga el poder a los participantes de la red y no a los mineros. De allí su nombre de bifurcación blanda activada por los usuarios.
Implicaciones de activar un UASF
Como la activación de UASF no requiere de la aprobación de los mineros, como en el caso inicial de SegWit que era de al menos el 95%, las bifurcaciones blandas activadas por los usuarios sólo requieren de la coordinación de la comunidad. Por ejemplo, los usuarios particulares, casas de intercambio, servicios de monederos y otros proveedores de servicios pueden activar un UASF dentro de su propio cliente de Bitcoin. Para ello deben especificar un tiempo determinado en el futuro para la activación del soft fork.
Así pues, con la implementación de un UASF se les incentiva u obliga a los mineros a participar en la red con las nuevas reglas de consenso establecidas. Pues si las rechazan, corren el riesgo de minar bloques y validar transacciones que serán rechazadas. Ya que los nodos completos no se han apegado a las nuevas reglas de consenso.
Por otra parte, aunque activar un UASF puede sonar bastante fácil incluso para los usuarios menos experimentados o con pocos conocimientos en cuanto a tecnología, la implementación de un UASF puede tener consecuencias negativas no deseadas. Por ejemplo, la implementación de un UASF no es nada fácil y podría resultar en una división de la cadena de Bitcoin. Algo que no se desea ni se quiere por ningún motivo.
Además, aunque los nodos completos puedan aceptar el UASF, puede que no lo activen en ningún momento. O que los mineros se niegan a aceptar la implementación hasta cierto punto. Lo que podría dejar a los usuarios expuestos a ataques de doble gasto mientras los mineros aceptan la actualización.
Así mismo, para implementar un UASF se requiere disponer de al menos un 50% de los nodos completos, para que sean capaces de interrumpir la transmisión de los bloques generados con las antiguas reglas de consenso en la red principal.
¿Cuánto sabes, criptonauta?
¿La principal ventaja de los UASF es su capacidad de mantener la retrocompatbilidad?¡CIERTO!
La principal utilidad y ventaja de los UASF es que su función facilita la retrocompatibilidad en Bitcoin, y una de las principales razones por la que es ampliamente utilizado en este proyecto.
Otras implementaciones de UASF
Uno de los casos más conocidos de UASF ocurrió en el protocolo de Ethereum. Cuando a unos pocos días de haber comenzado con el proyecto DAO un hacker robó alrededor de 55 millones de dólares de las cuentas de los usuarios. A causa de este incidente, como era de esperarse, muchos de los participantes de la comunidad se encontraban preocupados y enojados.
Debido a esto surgieron tres propuestas principales para solucionar el incidente. La primera propuesta era simplemente aceptar el robo y continuar con el proyecto. La segunda propuesta hacía referencia a revertir la blockchain al momento antes del robo. De esta forma se podría continuar desde ese punto como si nada, ya que el robo es como si no fuera existido. Y la tercera propuesta, se trataba de aceptar como falsas todas las transacciones realizadas por el hacker y devolver el dinero a los usuarios.
La segunda propuesta era una bifurcación dura o hard fork que dividiría a la cadena de Ethereum en dos partes, mientras que la tercera propuesta se trataba de una bifurcación suave o soft fork.
Entonces, gran parte de la comunidad de Ethereum optó por elegir la segunda opción. Con ello se revertía la cadena y se eliminaban los datos del robo. Pero otra parte de la comunidad que no estuvo de acuerdo con esta propuesta, optó por continuar con la cadena según la tercera propuesta. Esto dio como resultado que Ethereum se dividiera en dos cadenas, la primera conocida como Ethereum (ETH) y la segunda conocida como Ethereum Classic (ETC). Este es un hecho que nos muestra el alcance y la importancia de este tipo de acciones.