La escalabilidad de Bitcoin es un problema constante para la criptografía más popular del mundo y uno que los desarrolladores de Bitcoin han luchado por resolver. Una solución introducida fue la bifurcación suave SegWit, que alteró la cantidad de transacciones de Bitcoin que se podían procesar simultáneamente.
Si bien aumentar la cantidad de transacciones por bloque de Bitcoin parece una victoria segura, SegWit también tuvo problemas.
¿Cómo funcionan las transacciones de Bitcoin?
Las transacciones de Bitcoin utilizan el modelo UTXO (salida de transacción no gastada), en el que cada transacción gasta la salida de la transacción anterior en la cadena de bloques y genera una nueva salida que se puede gastar en la siguiente transacción.
Por diseño, no posee un token de Bitcoin. En su lugar, posee la producción no gastada de un número determinado de transacciones anteriores. Puede probar la propiedad de esta salida a través de la dirección requerida, la clave digital y la firma digital.
Supongamos que desea enviar bitcoins a su mejor amigo. Primero utilizará una clave privada para firmar un mensaje que contenga la entrada, la salida y la cantidad. La transacción se transmite a toda la red de Bitcoin y todos los usuarios pueden verla.
Cuando un nodo recibe la transacción, comprueba si:
- Su clave privada coincide con la clave pública que afirma poseer
- La suma de las entradas es mayor que la suma de sus salidas.
- La salida no se gasta.
Si la transacción cumple con estas tres reglas, se verifica y pasa a otros nodos, que repiten el proceso de verificación. Este proceso involucra acertijos matemáticos complejos, que los mineros con la tasa de hash criptográfico más alta tienen la mejor oportunidad de resolver primero.
Los nodos mineros compiten para resolver los acertijos y, si tienen éxito, extraen la plantilla del bloque en un bloque inmutable en la cadena de bloques. El bloque se transmite a toda la red y está claro que su mejor amigo posee la nueva salida no gastada.
¿Qué es el defecto de maleabilidad de la transacción?
La escalabilidad y la velocidad no son los únicos problemas que afectan a la cadena de bloques de bitcoin. Desafortunadamente, también existe el «defecto de maleabilidad de la transacción», un defecto que permite la alteración de la firma digital de una transacción antes de que se confirme en la cadena de bloques.
Esta modificación se realiza de tal manera que la transacción conserva su lógica matemática pero arroja un resultado diferente cuando se ejecuta a través de un algoritmo hash.
Tomemos, por ejemplo, el valor de la firma de su transacción con su mejor amigo, que fue (5). Si se cambia a (5-10+10), el valor matemático sigue siendo 5, pero si hacemos hash de estas diferentes versiones, obtenemos resultados diferentes.
Dado que el hash es la forma en que se identifica la transacción en la cadena de bloques, este cambio causa algunos problemas.
- Los malos actores pueden crear una segunda transacción en conflicto antes de que se confirme la primera, lo que genera confusión, retrasos y congestión en la red.
- Hace que sea problemático para los desarrolladores de blockchain crear soluciones de segunda capa destinadas a mejorar la velocidad y la escalabilidad de la red principal.
Entonces, este es un defecto con el potencial de hacer que la contabilidad de blockchain sea una pesadilla, y se han implementado varias soluciones para resolverlo. Y ahí es donde entra en juego Bitcoin SegWit.
¿Qué es Bitcoin SegWit?
Segregated Witness (SegWit) es una actualización del protocolo de cadena de bloques de Bitcoin desarrollada principalmente para proteger contra la maleabilidad de las transacciones.
SegWit se propuso por primera vez en 2015 como una bifurcación de blockchain para mejorar la escalabilidad. SegWit lograría esto al separar las firmas digitales de los datos de las transacciones, lo que permitiría almacenar más transacciones en un solo bloque y reducir el tiempo requerido para procesar un solo bloque.
La bifurcación suave SegWit finalmente se implementó en 2017, introduciendo muchas mejoras en la cadena de bloques de Bitcoin, además de resolver la falla de maleabilidad y mejorar la eficiencia de las transacciones.
¿Qué es SegWit2x?
Antes de que se implementara SegWit, hubo cierta disputa en la comunidad de Bitcoin debido a una propuesta de actualización de bifurcación dura destinada a aumentar el límite de tamaño de bloque de 1 MB a 2 MB para mejorar la velocidad de procesamiento de transacciones, de ahí el término «SegWit2x».
Si bien muchas partes interesadas apoyaron la idea, surgieron desacuerdos dentro de la comunidad y la falta de consenso provocó una división. La facción disidente formó Bitcoin Cash (BCH), mientras que el grupo matriz implementó SegWit.
¿Cómo funciona Bitcoin SegWit?
SegWit funciona separando algunos datos del bloque, por lo que no está disponible para modificaciones. Esta separación crea dos secciones. La primera sección del bloque contiene las direcciones de billetera del remitente y el destinatario, mientras que la segunda sección contiene las firmas digitales, también conocidas como «datos de testigo».
Debido a que los datos testigo están separados del bloque principal, se libera más espacio en el bloque para registrar más datos de transacciones. Esto, a su vez, aumenta la capacidad del bloque e impacta directamente en el rendimiento de la red Bitcoin, mejorando significativamente la escalabilidad.
Por otro lado, los datos segregados, es decir, la firma digital, se cifran y almacenan en una cadena lateral. Esta capa adicional de seguridad además de la separación de la red principal hace que sea imposible cambiar la firma digital de la transacción, por lo que resuelve la falla de maleabilidad.
Ventajas de Bitcoin SegWit
SegWit proporciona varios beneficios a la red Bitcoin.
- Resuelve la maleabilidad de las transacciones: Como se mencionó anteriormente, SegWit corrige la falla de maleabilidad de la transacción que causó mucha confusión y congestión en la cadena de bloques de bitcoin. Esto permitió transacciones más confiables y seguras.
- Seguridad mejorada: Al resolver la maleabilidad de las transacciones, SegWit hizo que la red bitcoin fuera más segura y menos vulnerable a los ataques. También facilitó la implementación de nuevas funciones de seguridad en el futuro.
- Escalabilidad mejorada: La escalabilidad es el aumento en el rendimiento de un sistema. Eso es lo que le sucedió a Bitcoin después de la bifurcación suave de SegWit. Se podrían incluir más transacciones en bloques debido al espacio liberado, lo que ofrece tarifas de transacción reducidas y tiempos de confirmación de transacción más rápidos.
- Tarifas de transacción más bajas: A medida que caben más transacciones en un bloque de Bitcoin, se reduce la competencia por el espacio del bloque, lo que a su vez reduce las tarifas de transacción. Esto fue especialmente beneficioso para las transacciones pequeñas.
- Compatibilidad mejorada: En virtud de ser una bifurcación suave, SegWit habilitó la extensibilidad de la cadena de bloques al mismo tiempo que abrió la puerta para futuras actualizaciones (como la actualización de Taproot) a la red de Bitcoin. Esta flexibilidad proporciona a la cadena de bloques la capacidad de implementar nuevas funciones y mejoras.
- Creación inspirada de Lightning Network (LN): Cuando SegWit mejoró la escalabilidad, su código inspiró el desarrollo de una solución de capa 2: Lightning Network. El código de LN permite la creación de un canal de pago fuera de la cadena entre dos partes que realizan transacciones, lo que mejora la velocidad de la red principal y reduce el costo de la transacción.
SegWit fue una actualización crucial para la red de Bitcoin porque ofreció soluciones que mejoraron su rendimiento y mejoraron la experiencia para los usuarios de Bitcoin. Sin embargo, no vino sin una buena cantidad de nuevos desafíos.
Desventajas de SegWit
La bifurcación suave SegWit introdujo un par de desventajas potenciales.
Por ejemplo, aunque muchos intercambios y billeteras han adoptado SegWit, no todos los nodos admiten el nuevo protocolo. Además, dado que SegWit reduce las tarifas de transacción y requiere soporte para la cadena lateral de datos testigo, a los mineros con fines de lucro no les gusta y pueden mostrarse reacios a aplicarlo.
Además, debido al gran tamaño de la red Bitcoin, SegWit no es suficiente para abordar su problema de escalabilidad. Existe la necesidad de un ajuste significativo de la cadena de bloques para reducir su tamaño y aumentar la escalabilidad a un nivel similar al de las cadenas de bloques alternativas.
Aunque SegWit tiene estos inconvenientes, está claro que los beneficios de seguridad y escalabilidad superan con creces los problemas.
¿Bitcoin SegWit fue una buena idea?
SegWit evitó que una falla causara tanto retraso en la cadena de bloques de Bitcoin en un momento en que su adopción estaba ganando terreno. De hecho, pasó mucho tiempo antes de que se implementara el desarrollo. Si bien algunos mineros experimentaron un impacto negativo en sus billeteras, la bifurcación blanda mejoró la seguridad y confiabilidad de la cadena de bloques, lo que tuvo un impacto positivo en la red de Bitcoin.