SegWit es la abreviatura de Segregated Witness. Fue quizás la mayor actualización del protocolo de Bitcoin hasta la fecha, que reunió varias mejoras y correcciones en una.
¿CUÁLES SON LOS BENEFICIOS DE SEGWIT?
Como probablemente su solución más notable, SegWit se deshizo de la maleabilidad de las transacciones. Antes de SegWit, una rareza en las firmas criptográficas de Bitcoin hacía que las transacciones pudieran modificarse para “verse” diferentes, incluso por personas que no habían creado la transacción por sí mismas. Si bien esto no invalidaría la transacción ni cambiaría lo que hizo, aún enviaría la misma cantidad de monedas desde las mismas direcciones a las mismas direcciones, complicó severamente la implementación de protocolos de capa dos como Lightning Network.
SegWit resolvió este problema moviendo los datos del “testigo” de una transacción, que incluye la firma, a una nueva parte de un bloque de Bitcoin. Como tal, allanó el camino para Lightning Network y otros protocolos de capa dos.
Como beneficio adicional, SegWit también ofreció un modesto aumento del límite de tamaño de bloque a cuatro megabytes teóricos, o un límite más realista de dos megabytes, dependiendo de los tipos de transacciones incluidas en los bloques. (Para ser exactos: el límite de tamaño de bloque fue reemplazado por un límite de cuatro millones de unidades de peso, lo que introdujo una nueva forma de “contar” los datos de transacciones). Esto significa que los usuarios con billeteras compatibles con SegWit pagan tarifas de transacción más bajas.
Además, a través de un truco técnico llamado “versiones de script”, SegWit también facilitó la implementación de actualizaciones adicionales al protocolo Bitcoin. Una de estas próximas actualizaciones podrían ser las firmas de Schnorr, un nuevo algoritmo de firma que aumentaría aún más la capacidad de programación y la flexibilidad del protocolo Bitcoin.
Por último, pero no menos importante, todo esto fue posible sin requerir una actualización del protocolo de hard fork incompatible con versiones anteriores. (Las actualizaciones de bifurcaciones suaves requieren el soporte de solo la mayoría de la potencia hash para evitar una división de la red, mientras que las bifurcaciones duras requieren un consenso en toda la red).
¿QUIÉN DESARROLLÓ SEGWIT?
Blockstream desarrolló por primera vez una versión de SegWit para el proyecto de cadena lateral Blockstream Elements. Después de que el colaborador de Bitcoin Core, Luke-jr, descubrió cómo SegWit podría implementarse en el protocolo principal de Bitcoin a través de una actualización de bifurcación suave compatible con versiones anteriores, fue desarrollado por el equipo de desarrollo de Bitcoin Core. Específicamente, la propuesta de mejora de Bitcoin (BIP) relevante fue escrita por Eric Lombrozo, Johnson Lau y Pieter Wuille, quienes también hicieron la mayor parte de la codificación. El resto del equipo ayudó durante todo el proceso de varias formas, incluidas la revisión y las pruebas.
El desarrollador seudónimo de Litecoin, Shaolinfry, y el ingeniero de garantía de Bitmain, James Hilliard, se les atribuye el desarrollo de soluciones de activación alternativas para el soft fork. (Más sobre esto a continuación).
¿FUE SEGWIT CONTROVERSIAL?
Dentro de la comunidad técnica de Bitcoin, SegWit no fue controvertido.
Sin embargo, fuera de la comunidad técnica de Bitcoin, algunos preferían una solución de escalado diferente para Bitcoin o no creían que SegWit en sí fuera suficiente como solución de escalado. Esto tuvo el efecto de convertir la propuesta de SegWit en una especie de moneda de cambio en una disputa mucho más amplia y llena de controversias. Otros intentaron desacreditar a SegWit por completo.
El único punto de controversia que (posiblemente) tuvo cierta validez es que habría sido “más limpio”, en cuanto al código, implementar la actualización como una bifurcación dura en lugar de una bifurcación suave, ya que esto dejaría menos dudas técnicas en el protocolo. Sin embargo, la implementación de SegWit como un hard fork habría tenido sus propios problemas, que la mayoría de los desarrolladores y defensores de SegWit creían que serían mucho mayores.
Algunas de las otras controversias que rodean a SegWit, algunas, por ejemplo, afirmaron que permitiría a los mineros robar fondos, son simplemente tonterías. (Caso en cuestión: SegWit ha estado activo durante años y ningún minero ha podido robar monedas).
¿CÓMO Y CUÁNDO SE ACTIVÓ SEGWIT?
SegWit activado en agosto de 2017.
Cómo se activó es una larga historia. Si bien se propuso e incluyó por primera vez públicamente en la hoja de ruta de Bitcoin Core en diciembre de 2015, y el código estuvo listo menos de un año después, la actualización del protocolo tardó hasta el verano de 2017 en implementarse.
Esto se debe en gran parte a que algunos mineros importantes de Bitcoin se negaron a activar la actualización del protocolo. (Como se diseñó originalmente, SegWit entraría en funcionamiento en la red si una supermayoría de mineros indicara apoyo en los bloques que extrajeron). Aún se especula sobre las motivaciones de estos mineros, pero parece que utilizaron SegWit como moneda de cambio o “Bloquearon” la actualización porque era incompatible con una optimización de minería (llamada “AsicBoost”) que estaban usando en secreto, o ambas.
De cualquier manera, para 2017, un movimiento de base de usuarios de Bitcoin se unió en torno a una idea propuesta por primera vez por el desarrollador seudónimo de Litecoin, Shaolinfry. Llamado Soft Fork activado por el usuario (UASF), estos usuarios anunciaron que activarían la actualización en sus propios nodos de Bitcoin para el verano, independientemente de lo que hicieran los mineros. Si estos usuarios hubieran seguido con su plan original, podrían haber dividido la red de Bitcoin en una versión con SegWit y una versión sin él.
Pocos días antes de la “fecha límite” de UASF, los mineros activaron SegWit después de todo. Técnicamente hablando, lo hicieron a través de otro mecanismo de activación, propuesto por el ingeniero de garantía de Bitmain, James Hilliard.
Para obtener una descripción completa de este capítulo en la historia de Bitcoin, consulte también The Long Road to Segwit: How Bitcoin’s Biggest Protocol Upgrade Become Reality.
¿CÓMO UTILIZO SEGWIT?
Usa SegWit usando una billetera que tiene SegWit integrado. Esta billetera debería generar direcciones de SegWit para usted, y cuando realice un pago desde dicha dirección, la tarifa que deberá pagar será menor que si no hubiera usado SegWit.
Hay dos tipos de direcciones SegWit. Un tipo (“P2SH”) comienza con un “3”, aunque no todas las direcciones que comienzan con un 3 son direcciones Segwit. El otro (“bech32”) comienza con “bc1” y siempre es una dirección SegWit. Las direcciones P2SH SegWit son en realidad una pequeña solución; Si bien las transacciones de SegWit desde dichas direcciones son más baratas que las transacciones que no son de SegWit, las transacciones de las direcciones bech32 son las más económicas.
Las direcciones que comienzan con un “1” nunca son direcciones SegWit.
Algunas carteras que han integrado SegWit incluyen Bitcoin Core, Electrum, Green, Trezor, Ledger y varias otras.
¿POR QUÉ NO TODOS UTILIZAN SEGWIT?
Más de dos años después de la activación de SegWit, menos de la mitad de todas las transacciones en la red Bitcoin utilizan SegWit. Desde una perspectiva individual, probablemente haya dos razones para no usar SegWit.
La primera razón es que la implementación de SegWit requiere una actualización, y algunas personas simplemente tardan en hacerlo. Para las grandes empresas, puede requerir mucho tiempo y esfuerzo, ya que es posible que sea necesario migrar sistemas completos. Del mismo modo, algunas carteras y otras aplicaciones simplemente no han integrado SegWit todavía, presumiblemente porque tienen otras prioridades.
La segunda razón sería “política”: algunas personas sospechan que ciertas empresas no se están actualizando a SegWit como una especie de protesta. Habrían preferido diferentes soluciones de escala o más soluciones de escala. Incluso pueden estar tratando de aumentar las tarifas de transacción en Bitcoin para incentivar a los usuarios a migrar a altcoins.
Vale la pena señalar que incluso si no todos se actualizan a SegWit, aquellos que se actualizan disfrutan de los beneficios de todos modos. Si bien el nivel de tarifa general podría ser ligeramente más bajo para los usuarios de SegWit si todos los demás también usaran SegWit, el beneficio adicional de la migración completa es pequeño. Además, si menos personas usan SegWit, los bloques de Bitcoin son más pequeños, lo que también tiene beneficios.