¿Qué es SegWit?

¿Qué es SegWit?

Segregated Witness, comúnmente conocido como SegWit, representa una actualización fundamental del protocolo Bitcoin Core, introducido en 2017. SegWit, que se originó como un medio para abordar los desafíos de escalamiento y las vulnerabilidades particulares de Bitcoin, generó una serie de mejoras significativas. Entre sus logros más importantes, el protocolo rectificó los problemas de maleabilidad de las transacciones y aumentó el límite de tamaño de bloque de Bitcoin, facilitando así la inclusión de más transacciones dentro de cada bloque. Además, esta actualización marcó el comienzo de dos tipos de scripts innovadores para las transacciones de Bitcoin y presentó un nuevo enfoque de codificación conocido como Bech32 .

El camino hacia la activación de SegWit no estuvo exento de desafíos, ya que generó un debate considerable dentro de la comunidad Bitcoin. Tales disputas subrayaron la naturaleza descentralizada inherente de Bitcoin: un ecosistema que depende del consenso entre sus participantes globales. Si bien los sistemas centralizados pueden implementar cambios mediante decretos autorizados, Bitcoin exige un acuerdo colectivo para cualquier modificación del protocolo. A pesar de la controversia en torno a SegWit, Bitcoin demostró resiliencia y adaptabilidad, destacando su capacidad para resistir la influencia indebida de mineros y figuras prominentes de la comunidad.

¿Cómo funciona SegWit?

Segregated Witness, más comúnmente conocido como SegWit, representa una actualización transformadora del protocolo de transacciones de Bitcoin. Su intención principal es mejorar la eficiencia de las transacciones y resolver la maleabilidad de las transacciones no intencionales. Al dividir la transacción en dos componentes, el primero que incluye las direcciones de billetera del remitente y del receptor y el segundo que contiene las firmas de la transacción o los datos de los testigos, SegWit alivia el peso del bloque. Esta separación garantiza que quepan más transacciones dentro de un único bloque de Bitcoin, fomentando así un mayor rendimiento y disminuyendo las tarifas de transacción.

A diferencia de un hard fork, que divide una cadena de bloques en dos cadenas distintas, SegWit se implementó como un soft fork . Esto significa que permaneció una cadena de bloques de Bitcoin unificada que acepta bloques de usuarios habilitados y no habilitados para SegWit. Al reubicar los datos de la firma fuera del bloque de transacciones principal pero conservando sus capacidades de verificación, se mantiene la integridad de Bitcoin, lo que permite más transacciones dentro del bloque estándar de 1 megabyte. El resultado es una red Bitcoin que es a la vez más rápida y segura.

Complementando a SegWit está el estándar de direcciones Bech32. Estas direcciones 'nativas SegWit', identificables por su prefijo " bc1 ", contrastan con las direcciones heredadas tradicionales que comienzan con "1". Al adoptar SegWit y el estándar Bech32, los usuarios se beneficiarán de tarifas de transacción reducidas. Es esencial tener en cuenta que, si bien Bitcoin almacenado en direcciones heredadas permanece allí hasta que se realiza la transacción, cualquier cambio de estas direcciones, cuando sea parte de una transacción, pasará a una dirección SegWit. Con el tiempo, a medida que los usuarios realicen transacciones y reciban fondos en direcciones SegWit, sus saldos de Bitcoin se desplazarán orgánicamente hacia estas direcciones más eficientes.

¿Cómo resuelve SegWit la maleabilidad de las transacciones?

Segregated Witness, comúnmente conocido como SegWit, es una actualización crucial en el protocolo Bitcoin, diseñada principalmente para abordar el problema de la maleabilidad de las transacciones. Este problema se refiere a la posible modificación de los datos de la transacción antes de su confirmación en la cadena de bloques.

Profundizando en la maleabilidad de las transacciones

Imagine un escenario en el que John le debe a Steven 10 BTC. Steven, con intenciones maliciosas, altera los datos de los testigos de John antes de que la red confirme la transacción. El ID de la transacción cambia, aunque el contenido de la transacción permanece sin cambios. Una vez confirmada la transacción manipulada, se cancela la original. Si Steven afirma falsamente que no recibió los 10 BTC, John podría reenviar los BTC y convertirse en víctima de la estafa sin siquiera darse cuenta. Tales manipulaciones eran invisibles para la red, lo que hacía difíciles de prevenir.

La solución de SegWit al problema

La función principal de SegWit es segregar los datos de los testigos de los datos de las transacciones, asegurando que no puedan modificarse para cambiar los ID de las transacciones. Al desarrollar una cadena lateral para almacenar estos datos de testigos por separado de la cadena de bloques principal, SegWit elimina la posibilidad de tales alteraciones maliciosas.

Además, SegWit mantiene compatibilidad con versiones anteriores, lo que significa que los nodos que se ejecutan en el protocolo SegWit aún pueden interactuar con nodos más antiguos. Este tipo de actualización es una bifurcación suave, a diferencia de las bifurcaciones duras que no son compatibles con versiones anteriores y pueden dividir la cadena de bloques. Un aspecto único de SegWit es que, si bien cifra todos los datos de los testigos en una cadena lateral, el código raíz permanece en la cadena de bloques principal.

SegWit y escalabilidad : una combinación hecha para el futuro

Más allá de abordar la maleabilidad de las transacciones, SegWit aporta importantes beneficios de escalabilidad. La escalabilidad es la capacidad de la red para manejar un aumento en las transacciones sin comprometer la velocidad. Aunque muchas redes blockchain se ralentizan a medida que se expanden, SegWit mejora la eficiencia de Bitcoin.

El proceso de consenso es la causa fundamental de los desafíos de escalabilidad en muchas criptomonedas. Una transacción debe ser verificada por más de la mitad de los nodos de Bitcoin antes de agregarse a la cadena de bloques. Con un número cada vez mayor de nodos, llegar a un consenso lleva más tiempo. Sin embargo, SegWit alivia esta preocupación. Anteriormente, los datos de los testigos consumían alrededor del 65% del espacio de un bloque de Bitcoin. El enfoque de SegWit de descargar datos de testigos de la cadena de bloques primaria proporciona más espacio para las transacciones, optimizando la capacidad de procesamiento de la red sin ampliar la cadena de bloques de Bitcoin. En esencia, SegWit optimiza la cadena de bloques, haciéndola más eficiente.

¿Hay desventajas de SegWit?

SegWit, o Testigo Segregado, está estrechamente vinculado a la evolución de Bitcoin y genera varias perspectivas sobre su eficacia e intención.

En esencia, el diseño de SegWit tiene como objetivo optimizar la capacidad del bloque mediante el almacenamiento selectivo de ciertos datos de transacciones fuera de la cadena de bloques principal, utilizando la cadena primaria como referencia. Este enfoque se desarrolló para aliviar los problemas de escalabilidad inherentes al diseño original de Bitcoin. Los críticos argumentan que la descarga de datos compromete la integridad de la cadena de bloques, lo que sugiere que es una solución alternativa para un sistema inherentemente defectuoso.

Este escepticismo en torno a SegWit llevó a una facción de la comunidad a divergir, iniciando una bifurcación dura que resultó en la creación de Bitcoin Cash en 2017. En esencia, Bitcoin Cash refleja el modelo original de Bitcoin antes de la implementación de SegWit. Su solución a los problemas de escalabilidad se centra en ampliar el tamaño del bloque, garantizando que todos los datos transaccionales permanezcan en la cadena. Este enfoque contrasta marcadamente con la filosofía de los desarrolladores de Bitcoin Core que ven a SegWit como la base para un sistema blockchain de múltiples capas.

La evolución de Bitcoin y el auge de Bitcoin Cash ejemplifican las diversas perspectivas sobre cómo escalar y mantener mejor las redes blockchain descentralizadas. Han surgido otras criptomonedas y protocolos, cada uno de los cuales aporta nuevas soluciones e innovaciones. Si bien SegWit sigue siendo un hito importante para la comunidad de desarrolladores de Bitcoin, también representa el panorama más amplio y en constante evolución de la tecnología blockchain y sus diversos enfoques para resolver desafíos inherentes.

SegWit habilita la red Lightning

Uno de los avances más innovadores posibles gracias a SegWit fue la integración de Lightning Network, una solución de segunda capa diseñada para abordar los desafíos de escalabilidad de Bitcoin. Lightning Network promete velocidades de transacción más rápidas y tarifas reducidas mediante la creación de canales de pago fuera de la cadena entre las partes. Este enfoque innovador permite procesar numerosas transacciones fuera de la cadena de bloques principal de Bitcoin, y solo se registran en la cadena los saldos finales de las cuentas. El resultado es un sistema más eficiente y optimizado, capaz de manejar un mayor volumen de transacciones en una fracción del tiempo.

Sin embargo, no se podría aprovechar todo el potencial de Lightning Network sin la activación de SegWit. Esto se debe principalmente a que la fundación de Lightning Network dependía en gran medida de transacciones de bitcoins no confirmadas. En el estado inicial de la red Bitcoin, estas transacciones eran vulnerables a un tipo de ataque llamado "maleabilidad de las transacciones". Básicamente, los atacantes podrían alterar la identificación única de una transacción antes de que se confirme, creando discrepancias y posibles escenarios de doble gasto.

Al activar SegWit, la comunidad Bitcoin abordó este problema de maleabilidad de las transacciones. Al hacerlo, no solo fortaleció las defensas de la red, sino que también allanó el camino para el despliegue seguro de Lightning Network. Sin el riesgo de maleabilidad de las transacciones, Lightning Network puede funcionar sin problemas, garantizando que los usuarios puedan realizar transacciones con más velocidad, seguridad y rentabilidad.

Aumento del tamaño del bloque de SegWit

SegWit, aunque está categorizado como un soft fork, trajo cambios significativos a una de las reglas de consenso centrales de Bitcoin. Este cambio se implementó de manera que mantuviera la compatibilidad con versiones anteriores y tenía como objetivo aumentar la capacidad de transacciones dentro de cada bloque.

Antes de la llegada de SegWit, cada bloque tenía la restricción de contener hasta 1 MB de datos, lo que se traducía en aproximadamente 1650 transacciones cuando el bloque se llenaba hasta su capacidad máxima. Sin embargo, SegWit marcó el comienzo del concepto de peso del bloque, que suplantó al tamaño del bloque como la principal restricción en el contenido del bloque. En la actualidad, un bloque completamente cargado alberga cerca de 2700 transacciones.

Vale la pena señalar esta distinción: antes de la introducción de SegWit, cada bloque estaba limitado a un tamaño de 1 MB, lo que representa 1 millón de bytes de datos de transacciones.

Por el contrario, el peso del bloque utiliza un sistema de medición más matizado, que se basa en unidades de peso. En este sistema, un byte de datos que no son Testigos de una transacción equivale a 4 unidades de peso, mientras que un byte de datos Testigos equivale a solo 1 unidad de peso. Con un límite establecido en 4 millones de unidades de peso para un bloque, un bloque lleno únicamente de transacciones que no sean de SegWit seguiría observando la antigua restricción de 1 millón de bytes.

Este innovador método de medición garantiza que el incremento en el tamaño del bloque siga siendo consistente con los principios de una bifurcación blanda. Además, presenta tanto a los mineros como a los usuarios de Bitcoin motivaciones financieras para adoptar SegWit. Los usuarios que realizan transacciones con SegWit pueden beneficiarse de tarifas de transacción reducidas ya que los datos del Testigo ocupan una porción menor del límite de peso del bloque. Al mismo tiempo, los mineros que procesan transacciones SegWit tienen la oportunidad de incluir más transacciones en sus bloques, lo que genera un aumento en los ingresos por tarifas.

Nuevos tipos de secuencias de comandos de SegWit

En el mundo de Bitcoin, los tipos de secuencias de comandos representan distintos métodos para realizar transacciones con Bitcoin en la cadena de bloques a través de su lenguaje de secuencias de comandos patentado llamado "Script". Con la llegada de SegWit, se introdujeron dos nuevos tipos de scripts para aprovechar las capacidades del campo Witness: a saber, Pay-to-Witness-Pubkey-Hash (P2WPKH) y Pay-to-Witness-Script-Hash (P2WSH).

Información esencial: esos tipos de secuencias de comandos, incluidos P2PKH y P2SH, que existían antes de la era SegWit, se denominan "tipos de secuencias de comandos heredadas".

Pago-a-testigo-PubKey-Hash (P2WPKH)

Antes de la incorporación de SegWit, el script más utilizado era Pay-to-Pubkey-Hash (P2PKH), un mecanismo que anclaba efectivamente bitcoin al hash de una clave pública. P2WPKH, una innovación de SegWit, refleja las funcionalidades de P2PKH con una variación sutil. En el escenario de gastar una salida P2WPKH, los componentes esenciales (la firma y la clave pública) están alojados de forma segura en el Testigo. Mientras tanto, el ScriptSig permanece intacto. Este movimiento estratégico tiene como objetivo evitar una posible maleabilidad en la identificación de la transacción.

Hash de script de pago a testigo (P2WSH)

Después de P2PKH, Pay-to-Script-Hash (P2SH) ganó fuerza como un tipo de script heredado destacado. Permite a los usuarios enviar bitcoins a un hash de script exclusivamente arbitrario, denominado canjeScript. Cualquier persona equipada con este canjeScript y que cumpla con los criterios estipulados puede reclamar este bitcoin.

En sus inicios, P2SH se ocupaba principalmente de transacciones multifirma, ofreciendo mayor eficiencia de espacio y discreción en comparación con sus contrapartes, como la multifirma simple.

Ingrese el Pay-to-Witness-Script-Hash (P2WSH) de SegWit. Su modus operandi resuena estrechamente con P2SH. Las salidas P2WSH se desbloquean cuando se presentan con Witness Script (la versión de SegWit de canjeScript) junto con las firmas y claves públicas necesarias. Reflejando el enfoque en P2WPKH, las entradas de P2WSH requieren un campo ScriptSig vacío, relegando el Script Witness (que abarca las firmas vitales y las claves públicas) al territorio de los testigos.

SegWit envuelto

Introducir nuevos tipos de scripts en el protocolo de Bitcoin no es tarea fácil, considerando la gran cantidad de billeteras, aplicaciones y servicios que interactúan con él. Para suavizar la transición y facilitar una adopción gradual de SegWit, se conceptualizó un intermediario denominado "SegWit envuelto".

En esencia, SegWit envuelto funciona como una variante de script P2SH tradicional. Integra a la perfección un script SegWit nativo, ya sea P2WPKH o P2WSH, y lo asigna al papel de canjeScript de un script P2SH. En consecuencia, los scripts SegWit empaquetados resultantes se clasifican como P2SH-P2WPKH o P2SH-P2WSH.

Este acuerdo garantiza que incluso aquellos sistemas que no estén actualizados para SegWit puedan transferir bitcoins a direcciones de SegWit. Los beneficiarios de estas transacciones SegWit envueltas están autorizados a utilizar bitcoin a través de una entrada SegWit, lo que puede ser una vía potencial para ahorrar tarifas.

Tenga en cuenta que Plisio también le ofrece:

Cree facturas criptográficas en 2 clics and Aceptar donaciones criptográficas

12 integraciones

6 bibliotecas para los lenguajes de programación más populares

19 criptomonedas y 12 blockchain

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.