La idea de que SegWit mejoraría los procesos dentro de la red Bitcoin de la noche a la mañana parece haber calado en las expectativas de la mayoría. Sin embargo, fue sorpresa para muchos que la activación del código dependiese de un proceso prolongado de actualización del software de las casas de cambio y de las carteras para criptomonedas.
La razón es que, para que la actualización surta efecto, no es suficiente tan solo el consenso de los mineros. Otro nivel de consenso que involucre a cada usuario es necesario para obtener todo el potencial de SegWit en la red. Básicamente los usuarios deben mudar sus bitcoins a una nueva dirección SegWit para obtener los beneficios.
A dos semanas de la activación de SegWit sólo el 1% de las transacciones por cada bloque agregado a la cadena utiliza el método de testigo segregado. Por ejemplo, el bloque 483.844 registró 2.732 transacciones, pero sólo 16 se hicieron a través del método SegWit. Esto significa que un porcentaje alto de usuarios todavía no ha realizado los procedimientos de actualización del software.
Recordemos que Bitcoin tiene un tamaño límite de bloque de 1MB -si bien SegWit habilita transacciones algo más pesadas-, y no admite más de 20.000 comprobaciones de firmas por cada bloque; con todo, esta no es una operación barata. SegWit puede solucionar ese problema especificando el valor de entrada de la transacción, una cartera sólo necesita comprobar el gasto de la transacción, sin importar qué tan compleja o grande haya sido. Aunque esto quizá implique un límite de tamaño de bloque combinado o ligeramente variable.
En el siguiente gráfico se puede observar una curva ligera de incremento en el conteo de transacciones SegWit, aunque muy lejos de un estándar aceptable de uso.
Las principales críticas que muchos usuarios han esgrimido en contra de SegWit están relacionadas con el hecho de que las altas tarifas y la lentitud de las confirmaciones persisten en la cadena de bloques. Y por supuesto se han creado dudas sobre si la activación de SegWit será el fin de estos problemas. Pero los beneficios relacionados con la aceleración de los procesos de la firma en cada transacción no han llegado porque las casas de cambio y las carteras que soportan SegWit han implementados los cambios con cautela.
¿QUIÉNES SOPORTAN SEGWIT?
Los proveedores de carteras frías, Trezor y Ledger, estuvieron entre los primeros que anunciaron el soporte de SegWit. Por ejemplo, Trezor indicó a sus clientes que se crearía una nueva dirección en sus carteras que estarían señaladas con un “3” al comienzo (para diferenciar la nueva dirección de la antigua que está señalada por un “1” al comienzo). Los usuarios sólo tienen que mover sus fondos a la nueva dirección haciendo una transacción normal. Todas las actualizaciones de Trezor serán compatibles con SegWit de ahora en adelante.
Por su parte, Ledger también emitió un comunicado explicando el procedimiento que deben seguir sus clientes. En resumen, los usuarios de Ledger deben seguir una serie de pasos para poder usar su nueva dirección SegWit, aunque por el momento todavía podrán dividir sus fondos entre su dirección antigua de Bitcoin y la dirección SegWit. La dirección SegWit también está señalada por un “3” al comienzo; recomiendan que no se realicen transacciones de Bitcoin Cash a la nueva cuenta SegWit porque podrían perder sus fondos.
Algunos usuarios comentan en Reddit que una vez que mudaron sus fondos a una cartera SegWit, pudieron comprobar quelas comisiones establecidas por defecto eran cercanas a 5 o 10 satoshis por byte. Al mismo tiempo comprobaron que esta tarifa podía estar relacionada con el hecho de que hay muy pocas transacciones en la mempool de Bitcoin.
Una lista completa de carteras que ya soportan SegWit se puede consultar en el siguiente link. Carteras como Electrum, GreenAddress, Keepkey, GreenBits, ya soportan la actualización. Las principales casas de cambio que tienen servicio de cartera que se han sumado son BTCC, Bitso, Bitfinex, Coincheck, Gatecoin, Gemini, LocalBitcoins.
SegWit está soportado también por varios pool de minería como Slush Pool, F2Pool y BTCC, Bitfury, entre otros; exploradores de bloques como Blockonomics, Blockchain.info; otras compañías de servicios relacionados con Bitcoin están en proceso de adopción, por ejemplo Coinbase, Abra, BitGo, Breadwallet, BTC.com, Bitwala, Copay y Exodus, entre los principales.
BENEFICIOS DE SEGWIT
Las principales mejoras que SegWit aporta a la cadena de bloques pueden ser verificadas tan pronto el usuario realiza las primeras transacciones a través de las nuevas direcciones SegWit, es decir, direcciones P2HS.
El código impide ataques de maleabilidad de terceros, debido a que los datos que son susceptibles de ser modificados en el almacenamiento de la transacción son calculados por un método de supervisión que verifica las firmas. Resulta más fácil seguir y supervisar las transacciones de micropagos, como las que usa Ligthning Network. Esta protección se debilita si alguna de las entradas no utiliza SegWit.
Precisamente las transacciones multifirma que utilizan direcciones P2HS o contratos inteligentes se benefician por las modificaciones que evitan ataques al script de la transacción, que es el valor de trabajo de operaciones complejas que realiza la cadena, calculado en bits.
Al quitar la firma de los datos de la transacción, también resultará más fácil para los mineros rellenar cada bloque, acortando el tiempo de agregar bloques a la cadena.
En la medida que las transacciones a través de SegWit se vuelvan más comunes, el gasto de energía, de ancho de banda y el uso del espacio del disco duro se reducirá:
Las firmas para las transacciones históricas pueden ser menos interesantes que las señales para transacciones futuras, por ejemplo, Bitcoin no comprueba las firmas anteriores al punto de control por defecto, y algunos clientes SPV no chequean las firmas ellos mismos en lo absoluto, confiando que todo está realizado por los mineros o los nodos. En la actualidad, sin embargo, los datos de la firma son parte integrante de la transacción y deben estar presentes para calcular el hash de la transacción.
Segregar los datos de la firma permite a los nodos que no están interesados en esa información reducirla en el disco, o evita descargarlos en primer lugar, ahorrando recursos.
Bitcoin Core
Quizá el tema que causa más dudas entre los usuarios de Bitcoin es el tamaño del bloque, debido a que se ha popularizado la idea de que el tamaño podría resolver los problemas de congestionamiento de la red. SegWit permite un incremento de tamaño de los bloques cercano a 1.6MB, las personas que utilicen carteras que ya estén implementando el código de testigo segregado, podrán aprovechar el espacio de bloques más grandes al mover las firmas a través de otra sección de la cadena.
Algunos en la red ya están utilizando direcciones SegWit en pequeñas transacciones, método que podría dar más beneficios utilizando los canales de pago de Lightining Network. También carteras que utilizan esta tecnología ofrecen los beneficios de los canales de pago de LN como ZAP y Eclair, por medio de las cuales se pueden realizar micropagos que no generan comisiones.