
Segregated Witness (SegWit) supuso una de las actualizaciones técnicas más relevantes en la blockchain de Bitcoin, activándose oficialmente en agosto de 2017. Esta innovación reorganiza los bloques al separar las firmas de transacción (datos de testigo) de los datos de las propias transacciones, almacenándolos en una estructura independiente. Gracias a este diseño, se resuelve de manera efectiva el problema de la maleabilidad de las transacciones en la red de Bitcoin, se incrementa la capacidad de los bloques, se optimiza el rendimiento de la red y se sientan las bases para soluciones de escalabilidad de segunda capa como Lightning Network.
El concepto Segregated Witness fue planteado por el desarrollador de Bitcoin Core, Pieter Wuille, en diciembre de 2015 durante el taller Scaling Bitcoin celebrado en Hong Kong. En aquel momento, la red de Bitcoin sufría graves problemas de escalabilidad, ya que el límite de 1 MB por bloque provocaba congestión en las transacciones y un aumento de las comisiones. Además, la vulnerabilidad de maleabilidad permitía modificar los IDs de las transacciones antes de su confirmación, lo que dificultaba el desarrollo de canales de pago más avanzados.
En medio de un intenso debate dentro de la comunidad sobre cómo abordar el reto de la escalabilidad, SegWit se propuso como una actualización mediante soft fork capaz de incrementar la capacidad efectiva de los bloques sin romper el consenso, a la vez que resolvía el problema de la maleabilidad. Tras un año y medio de desarrollo y pruebas, SegWit se implementó finalmente a través de la BIP 141 (Bitcoin Improvement Proposal), activándose con éxito en agosto de 2017 al alcanzarse el umbral necesario.
El mecanismo central de SegWit consiste en reestructurar las transacciones, concretamente:
Separación de datos: los datos de “testigo” (firmas y scripts) se separan de los principales datos de la transacción y pasan a una estructura de “testigo” independiente.
Ajuste en el cálculo de peso: al calcular el tamaño del bloque, los datos de testigo tienen un peso reducido de solo 0,25 “unidades de peso” por byte, mientras que los datos no testigo permanecen en 1 unidad. Así, los bloques pueden contener más transacciones, elevando de forma efectiva el límite de tamaño hasta aproximadamente 4 MB.
Nuevo formato de dirección: se introdujo el formato Bech32 (direcciones que empiezan por “bc1”), diseñado para las transacciones SegWit, que mejora la detección de errores y permite códigos QR más cortos.
Cambio en el cálculo del ID de transacción: los datos de firma ya no se incluyen al calcular los IDs de las transacciones (txid), eliminando el problema de la maleabilidad y asegurando que los IDs no cambian tras la difusión.
En términos técnicos, SegWit introduce nuevas reglas de versión en el sistema de scripts de Bitcoin, marcando las transacciones antiguas con la versión 0 y las SegWit con la versión 1, garantizando la compatibilidad hacia atrás para que los nodos no actualizados puedan seguir validando la blockchain.
Pese a sus múltiples ventajas, la adopción de SegWit conllevó varios riesgos y retos:
Tasa de adopción: al ser una función opcional, requería el respaldo activo de monederos y exchanges para maximizar sus beneficios, lo que provocó una adopción inicial lenta.
Complejidad técnica: su implementación exigió modificaciones relevantes en el software de los monederos, aumentando la carga de trabajo de los desarrolladores y el riesgo de errores.
División comunitaria: la activación de SegWit provocó una profunda división en la comunidad de Bitcoin, que desembocó en un fork de la blockchain y la creación de Bitcoin Cash.
Seguridad: las nuevas reglas de verificación de scripts y el nuevo formato de dirección exigieron pruebas exhaustivas para evitar vulnerabilidades y problemas de seguridad.
Periodo de transición: hasta la adopción completa de SegWit en la red, hubo que mantener la compatibilidad con ambos tipos de transacciones, lo que incrementó la complejidad de la red.
Aun así, la activación satisfactoria de SegWit se considera un hito fundamental en la evolución técnica de Bitcoin, demostrando cómo es posible implementar grandes mejoras en una blockchain mediante un soft fork.
SegWit representa un punto de inflexión en el desarrollo técnico de Bitcoin, ya que resolvió problemas críticos y sentó las bases para futuras innovaciones. Gracias a la solución de la maleabilidad de las transacciones, SegWit hizo posible el desarrollo de soluciones de segunda capa como Lightning Network, abriendo el camino a la escalabilidad a largo plazo de Bitcoin. Al mismo tiempo, su implementación vía soft fork puso de manifiesto la complejidad de la gobernanza y de las actualizaciones técnicas en blockchain, así como los desafíos para lograr consenso en sistemas descentralizados. Con el tiempo, SegWit se ha normalizado y estandarizado en la red de Bitcoin, demostrando su valor técnico y la solidez de su diseño.
Compartir


