Escrito por Robert Steinadler hace 2 meses

SegWit explicado: ¿Qué es el Testigo Segregado?

Algunos de nuestros lectores habrán notado que hay diferentes tipos de formatos de direcciones de Bitcoin. El testigo segregado fue una actualización del protocolo que ha sido desplegado por un soft fork en la red Bitcoin en 2017 y desde entonces hay tres tipos diferentes de formatos.

¿Cuál es el beneficio del testigo segregado? Por qué es importante y cómo funciona? En este artículo vamos a explicar qué es SegWit.

SegWit permite a Bitcoin escalar y mejorar la seguridad

El nacimiento del testigo segregado requiere una pequeña lección de historia en Bitcoin. El protocolo original de Bitcoins permitía la creación de un nuevo bloque cada diez minutos de media y cada bloque tenía un tamaño predeterminado de 1 megabyte. El tamaño del bloque limita el espacio para las transacciones y, por tanto, la escalabilidad de Bitcoins. A partir de algún momento del año 2015, la comunidad de Bitcoin comenzó a discutir cómo escalar Bitcoin para que la red pudiera manejar más transacciones.

Uno de los enfoques era aumentar drásticamente el tamaño del bloque, lo que simplemente permitiría más transacciones por bloque al aumentar el espacio. Otro era reordenar la información que se incluía en cada bloque y hacer más espacio al contener menos datos que no se necesitan inmediatamente para ser incluidos para que las transacciones ocurran. Vale la pena mencionar que hasta el día de hoy se sigue discutiendo si SegWit fue una buena idea y si un aumento del tamaño del bloque es una mejor solución. Históricamente este debate llevó a la bifurcación de Bitcoin Cash creando una nueva criptomoneda con Bitcoin implementando el testigo segregado y Bitcoin Cash optando por un tamaño de bloque drásticamente mayor.

Otra cuestión importante que a menudo se pasa por alto porque la escalabilidad parece ser el problema más acuciante es la prevención de la maleabilidad de las transacciones. Antes de que SegWit estuviera activo era posible que un nodo cambiara el hash de una transacción no confirmada.

Esto es extremadamente problemático, especialmente si la parte receptora depende de la fiabilidad de una cadena de transacciones no confirmadas. Al cambiar el hash de la primera transacción, ésta no se invalida, pero la siguiente transacción en la cadena depende de un hash que ha sido cambiado. Por lo tanto, todas las transacciones siguientes van a fallar y se consideran inválidas porque se están refiriendo al ID de TX equivocado.

La manipulación de los ID de las transacciones abre la puerta a todo tipo de fraudes. Pero aún más importante, esto es absolutamente inaceptable si se pretende utilizar una solución de segunda capa encima de Bitcoin como la Red Lightning.

¿Cómo funciona el testigo segregado?

El protocolo SegWit actualiza los datos de las transacciones segregadas de la firma digital del testigo de la transacción. El tamaño del bloque se incrementó de forma efectiva hasta 4 megabytes siendo compatible con el protocolo original de Bitcoin.

Originalmente, cada bloque heredado contenía la salida y la entrada de las transacciones, así como las firmas y, además, los scripts. Los bloques de SegWit son, de hecho, más grandes y están estructurados de forma diferente. Al segregar las firmas y los scripts, hay un bloque base que también se llama bloque de transacción, que se sigue considerando válido según el antiguo protocolo. Contiene entradas y salidas y no supera el límite de 1 megabyte.

El bloque ampliado, en cambio, es más grande y contiene hasta 3 megabytes de datos. A saber, las firmas y el script. Esta estructura permite que SegWit sea compatible con versiones anteriores, lo que significa que nadie tiene que usarlo mientras que al mismo tiempo ofrece grandes beneficios al hacerlo. También permitió que SegWit se implementara como una bifurcación suave en lugar de requerir una bifurcación dura que habría sido más estresante y podría haber puesto la red en riesgo de una división.

Tamaño VS peso

Con los bloques heredados que se miden en tamaño también hubo una actualización de cómo se miden las transacciones. Los bloques de SegWit no se miden en tamaño sino en peso. En lugar de medir cada bloque en megabytes (tamaño), se mide en unidades de peso. Un bloque SegWit tiene un peso de 4 millones de WU (unidades de peso) que equivalen a 4 megabytes de datos.

La fórmula para calcular el peso de una transacción SegWit es

(Tamaño de la transacción - Datos del testigo) * 3 + Tamaño de la transacción completa

El peso de una transacción heredada se calcula de forma diferente:

Tamaño de la transacción * 4

En efecto, las transacciones de SegWit son siempre más ligeras que las transacciones heredadas, lo que incentiva a los mineros a incluir esas transacciones en primer lugar, ya que pueden recaudar más tasas, puesto que cada bloque va a contener más transacciones. Esto también repercute en las tarifas para el emisor. Una transacción heredada es siempre más cara, ya que es más pesada y requiere el pago de una tarifa más alta para ser confirmada a la misma velocidad que una transacción SegWit.

Los formatos de dirección

Hay tres tipos de formatos de direcciones que se introdujeron con Bitcoin. El primero son las direcciones heredadas, que siempre empiezan por 1:

1Mpf72Q2xwi1okJL1RCaQeVRPKDhEWRtXt

Las segundas son las direcciones SegWit, que empiezan por 3:

392PTfCzykHSyteg6umCCvbrofRSoJb96i

Y la tercera son direcciones SegWit nativas (bech32) que empiezan por bc:

bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq

Native SegWit es un nuevo formato que es aún más eficiente en cuanto al peso y ofrece una mejor detección de errores que el formato original de SegWit. En efecto, el uso de bech32 da como resultado las tarifas más baratas y las transacciones más rápidas posibles en la red Bitcoin.

PREGUNTAS FRECUENTES: SegWit

¿Es seguro SegWit?

Sí, no hay ningún problema de seguridad en el uso de SegWit. De hecho, es una actualización de seguridad si se tiene en cuenta la eliminación de la maleabilidad de las transacciones no confirmadas.

¿Existen otras ventajas?

SegWit permitió la implementación de Taproot, que permite contratos inteligentes y validaciones aún más rápidas.

¿Es necesario aceptar las transacciones de SegWit?

Siempre se puede optar por un monedero heredado que no utilice SegWit. Todavía es posible enviar fondos entre direcciones heredadas y SegWit. Pero, a cambio, las transacciones costarán más y serán más lentas.

Espera, ¿significa eso que SegWit está aumentando el tamaño de los bloques después de todo? ¿Por qué se debate entonces?

El tamaño de los bloques se incrementó hasta un nivel teórico de 4 megabytes. El tamaño medio de los bloques es ahora de unos 2 megabytes. La ventaja de SegWit es el hecho de que es compatible a la baja respetando el límite de 1 megabyte de los bloques de transacción. No ha requerido un cambio en el protocolo original. Por otro lado, aumentar el tamaño de los bloques por encima de ese límite requeriría un hard fork que se considera un evento crítico.

Invierte en cualquier momento y lugar

Aumente su impacto comercial y tiempo de reacción en más de 70 criptomonedas a través del acceso instantáneo a su wallet con la aplicación LiteBit.

lb