Si ha visto las frases ‘Compatible con SegWit’ o ‘Aprobado por SegWit’ y se preguntó ‘¿Qué es Segwit?’, ¡Ha venido al lugar correcto! En este artículo, respondemos algunas preguntas comunes con respecto a este protocolo de testigos segregados, como ‘¿qué es SegWit?’, ¿Cómo funciona SegWit? ‘Y’ ¿Cuáles son los beneficios de SegWit? ‘. Explicaremos cómo ocurrió la transición, por qué no se aplica a todos los bloques y qué sucede con estas transacciones heredadas o que no son de Segwit.
En caso de que encuentre la siguiente pieza un poco demasiado técnica, puede ser una gran idea inscribirse en Ivan en Tech Academy para obtener una comprensión más firme de la tecnología blockchain y las criptomonedas. Ivan on Tech Academy es una de las plataformas educativas blockchain más populares y ofrece innumerables cursos relevantes. ¡Inscríbase hoy y potencie su educación en blockchain y criptografía!
Qué es SegWit: descripción general
Segregated Witness, comúnmente conocido como SegWit, es una actualización del protocolo de Bitcoin que solucionó los problemas de maleabilidad de las transacciones y sirvió como una forma de ayudar a escalar la red de Bitcoin sin la necesidad de una bifurcación dura (que se explica a continuación). Bitcoin es una red global y descentralizada, lo que significa que, en caso de que surja algún problema, depende de la comunidad de desarrolladores y contribuyentes de Bitcoin organizar en colaboración una solución de tal manera que cause molestias mínimas.
SegWit fue creado por el Dr. Pieter Wuille, el ganador del premio Coindesk’s Most Influential in Blockchain Award en 2017, quien es cofundador de Blockstream y trabaja con el equipo de desarrollo de Bitcoin Core. La primera propuesta SegWit2X fue descartada, antes de lanzar el código para la segunda propuesta en 2015, que es el SegWit que conocemos hoy. Después de un par de años de desarrollo, SegWit se puso en marcha en la red Bitcoin el 23 de agosto de 2017.
La implementación de SegWit ha aumentado el tamaño máximo de bloque y más del doble de las transacciones por segundo (TPS) confirmadas en la cadena de bloques de Bitcoin. Además, SegWit ha traído soluciones innovadoras de escalamiento de capa dos a Bitcoin, creando la base de Lightning Network.
Algunos miembros de la comunidad minera de Bitcoin no estaban contentos con la actualización y sintieron que SegWit era una debilidad para la cadena de bloques de Bitcoin. A pesar de que el protocolo SegWit en sí no forzó una bifurcación dura, la cadena de bloques de Bitcoin sí se bifurcó en una nueva cadena de bloques llamada Bitcoin Cash en 2017. Bitcoin Cash es la cadena de bloques heredada de Bitcoin que existía antes de la implementación de SegWit.
Por qué SegWit
Antes de la solución SegWit, había una falla perniciosa en el código de Bitcoin. Específicamente, la recopilación de datos para una transacción incluye una firma digital, firmada por el remitente de una transacción para confirmar su intención de hacerlo. La firma digital también es parte de la función de hash criptográfico utilizada por la cadena de bloques de Bitcoin, lo que da como resultado un ID de transacción único.
El protocolo Bitcoin presentaba una falla que podría permitir a cualquier atacante malintencionado acceder a la firma digital y manipular la identificación de la transacción resultante para robar fondos. Más adelante en este artículo, explicamos en detalle cómo SegWit ha logrado resolver el problema de maleabilidad de las transacciones, al tiempo que aumenta la densidad de transacciones del bloque.
La introducción de SegWit también fue en parte para ayudar a escalar la cadena de bloques de Bitcoin, ya que la velocidad de transacción fue bastante lenta entre 2009 y finales de 2017, alrededor de 3 TPS. SegWit logró más del doble de esto a 7 TPS mientras aumentaba la capacidad máxima de tamaño de bloque cuatro veces, de 1 MB a 4 MB.
Con el éxito de SegWit en la solución de los problemas de maleabilidad de las transacciones, esto permitió el desarrollo de una solución de escalado de capa dos, lo que permitió una mayor creación y desarrollo sobre la cadena de bloques de Bitcoin. Esto incluye Lightning Network, que permite tiempos de transacción súper rápidos, al permitir transferencias de cifrado de igual a igual, sin que las transacciones sean públicas en la cadena de bloques, y los malos actores reciben sanciones por transacciones no válidas o fraudulentas.
Otro factor importante que se tuvo en cuenta con la propuesta de SegWit fue el enfoque de bifurcación suave, lo que significa que los nodos de minería aún aceptarían bloques, ya sea que se hayan actualizado al protocolo SegWit o no. La comunidad de Bitcoin tenía como objetivo encontrar una solución que supusiera una interrupción mínima de la cadena, mientras se mantenía la seguridad y la cooperación de la red.
tenedores
Las aplicaciones de criptomonedas no se pueden actualizar simplemente como, por ejemplo, las aplicaciones bancarias tradicionales. No existe una entidad central que dicte cambios en el protocolo y, en cambio, se debe lograr el consenso. Para que se produzca un cambio a un protocolo descentralizado, esto solo se puede lograr mediante consenso o acuerdo mayoritario entre los nodos.
Cuando una comunidad de blockchain o el equipo de desarrollo de una criptomoneda en particular no puede llegar a un acuerdo sobre los cambios en las reglas del protocolo, o la dirección futura del proyecto, puede resultar en lo que se conoce como bifurcación. Ejemplos de bifurcaciones conocidas incluyen:
Ethereum Classic: la iteración original de la red Ethereum. El equipo estaba dividido sobre cómo proceder después de que se expusieran varias fallas en el protocolo, lo que resultó en el Ethereum ahora dominante que todos conocemos.
Como se mencionó anteriormente, Bitcoin Cash es una bifurcación de Bitcoin. Junto con otras criptomonedas como Litecoin y Bitcoin SV, surgieron varias bifurcaciones del protocolo Bitcoin, todas con varias ventajas sobre la criptomoneda original.
Una bifurcación permite que una cadena alternativa emerja de una cadena existente. Las bifurcaciones se pueden usar para agregar nuevas funciones a un protocolo o, para revertir o prevenir la piratería, sin la necesidad de una autoridad central.
Hay dos tipos principales de horquillas:
Horquillas duras
Se puede utilizar un hard fork para realizar actualizaciones a un protocolo y requiere un consenso total de todos los nodos dentro de la red. A menos que todos los nodos lleguen a un consenso, no se puede realizar una bifurcación.
Las bifurcaciones duras son un cambio drástico en el protocolo y pueden validar bloques que antes no eran válidos y viceversa. Cuando ocurre una bifurcación, todos los nodos eventualmente rechazan la versión anterior del software, creando un cambio permanente de la versión anterior a una nueva versión mejorada de la cadena de bloques.
SegWit2X se propuso como un hard fork para actualizar a bloques de 2MB, sin embargo, esto fue rechazado por la comunidad.
Horquillas blandas
Una horquilla blanda es compatible con versiones anteriores. Los nodos no actualizados aún pueden comunicarse con los nodos actualizados. Las bifurcaciones suaves cambian el protocolo de una manera que solo invalida las transacciones y los bloques anteriores, y solo requiere que la mayoría de los mineros acepten actualizar el protocolo, a diferencia de todos los nodos, como con una bifurcación dura.
Las bifurcaciones blandas se pueden usar para agregar nuevos tipos de transacciones a un protocolo y hacer divergencias temporales en la cadena de bloques cuando se violan nuevas reglas de consenso. Las bifurcaciones blandas se utilizan generalmente para crear reglas que no interrumpen las reglas anteriores y, a menudo, son una opción preferible.
SegWit realizó cambios en el formato de las transacciones. Esto no rompió las reglas, solo significaba que solo los nodos que se habían actualizado al software más reciente comprenderían realmente todos los datos de las solicitudes de transacciones.
Cómo funciona SegWit
Para comprender cómo funciona SegWit en la cadena de bloques, primero debe comprender un poco más sobre cómo funcionan las transacciones en la cadena de bloques.
Los nodos de la red verifican matemáticamente las transacciones, utilizando datos sobre la transacción en sí, en la ecuación. Las transacciones verificadas se colocan en un bloque con una capacidad de 1 MB, que generalmente atiende a un promedio de 3500 transacciones por bloque. Una vez que el bloque está lleno, se agrega a la cadena de bloques.
Parte de la belleza de la tecnología blockchain es el libro mayor distribuido de código abierto en tiempo real que está disponible para cualquier persona. Un libro mayor es tradicionalmente un libro o una colección de registros transaccionales, la cadena de bloques almacena automáticamente toda la información y los datos sobre cada transacción en varios nodos, lo que significa que no hay un solo punto de falla.
Los datos de la transacción se codifican criptográficamente dentro del algoritmo y permanecen seguros, por lo que no se pueden reconocer ni retraer a las direcciones originales. Dentro de cada bloque comprende:
- clave pública del destinatario
- la cantidad de BTC que se envía
- clave pública del remitente
- firma digital del remitente
Firmas digitales
La firma digital se utiliza para firmar y confirmar la transacción, por lo que también se la denomina “testigo”. Se necesitan testigos para a) confirmar la validez de la transacción yb) para ser utilizados en la fórmula de hash criptográfico para el algoritmo de minería de PoW.
Aunque son cruciales para la transacción, las firmas digitales ocupan la mayor parte del tamaño de archivo de una transacción; dependiendo de dónde lo lea, puede variar entre un 60 y un 70%. En los primeros días, esto no fue un gran problema, hasta que el crecimiento en la adopción congestionó la red, lo que resultó en transacciones extremadamente lentas y costosas.
Antes de que se introdujera SegWit, la firma digital solía estar en el medio de la estructura de datos de transacciones. Ahora, SegWit elimina el testigo de la estructura central y lo coloca al final de la estructura de datos. Esto significa que ahora, se crean ID de transacción únicos utilizando todos los datos de transacción excepto el testigo, que son validados por diferentes nodos.
La segregación del testigo elimina la amenaza de maleabilidad, además de reducir sustancialmente el tamaño del archivo de las transacciones. Reducir el tamaño del archivo de las transacciones permite más transacciones por bloque o una mayor densidad de transacciones, lo que aumenta las transacciones por segundo sin ningún ajuste en el tamaño de los bloques.
Tras el lanzamiento de SegWit, existe una nueva forma de calcular el peso del bloque utilizando la fórmula: (tamaño de la transacción con datos de testigos eliminados) * 3 + (tamaño de la transacción).
¿Te sientes un poco confundido después de leer todos estos términos criptográficos? En ese caso, debes inscribirte absolutamente en Ivan en Tech Academy. Únase a más de 20.000 estudiantes que ya estudian en la Academia. Además, ¡ahora mismo puede obtener un 20% de descuento al inscribirse con el código de promoción exclusivo BLOG20!
Nodos SegWit
Cuando una transacción está siendo validada por un nodo heredado o un nodo que no es SegWit, los datos del testigo se eliminan del centro de los datos de la transacción, creando así un tamaño de transacción más pequeño que permite más transacciones por bloque.
Las transacciones heredadas no tienen datos de testigos debido a que están despojadas, mientras que las transacciones de SegWit sí, pero al final de la estructura y son procesadas por separado por los nodos de SegWit.
Los nodos SegWit son capaces de extraer bloques que apenas superan los 4 MB, casi cuatro veces más que Bitcoin. ¿Cómo? Cuando se descomponen, los nodos pueden extraer casi 3 MB de datos de testigos (firmas digitales) y hasta 1 MB de datos de script (datos de la transacción), ¡por lo que siguen siendo compatibles con Bitcoin!
Aunque técnicamente hablando, los nodos SegWit son capaces de extraer un bloque de 4 MB, en realidad, este es un bloque anormalmente grande para procesar. La mayoría de los bloques no superan los 2 MB para una máxima eficiencia de transacción.
SegWit vs SegWit nativo
Native Segwit, también conocido como bech32, mejoró aún más la velocidad de transacción, redujo las tarifas de transacción, mejoró la detección de errores y aumentó la escalabilidad.
Uno de los inconvenientes más notables de Native Segwit es que no es compatible con todos los intercambios y billeteras. Aunque este no es un problema importante, puede ser un inconveniente. Dicho esto, se está estandarizando rápidamente.
SegWit como lo conocemos, ocasionalmente también se puede denominar SegWit ‘envuelto’ o ‘anidado’. La diferencia visual más reconocible entre direcciones es cómo comienzan.
Dirección nativa de SegWit: “bc1 …”
Dirección SegWit: “3 …”
El futuro de SegWit
Como tal, algunos observadores dirían que SegWit ha resuelto una falla fundamental y potencialmente fatal en el protocolo de Bitcoin, eliminando la vulnerabilidad de manipulación de la laguna de maleabilidad de la transacción por parte de los piratas informáticos. Además, SegWit ha permitido que la cadena de bloques de Bitcoin escale y aumente el TPS a medida que la adopción continúa creciendo.
Sin embargo, por muy bueno que sea, no todos los nodos se han actualizado al protocolo Segwit por un par de razones diferentes:
- SegWit no es compatible con el firmware de minería Asicboost, que promete acelerar el tiempo de verificación de transacciones en casi un 20%. Algunos mineros prefieren permanecer fieles a una marca de firmware conocida y no comprar equipos de minería nuevos y costosos si no es necesario.
- SegWit no fue una actualización obligatoria, y la decisión de implementar SegWit está en manos de los CEO de criptoempresas (billeteras, intercambios, etc.) que pueden no querer cambiar de rumbo y ajustar su protocolo cada vez que hay una nueva actualización. El CEO de Binance, Chanpeng Zhao, o CZ, discutió públicamente la adición de compatibilidad de SegWit al intercambio en una entrevista con Altcoin Daily, diciendo que la adición de SegWit está en marcha, pero requiere mucho trabajo y no puede dar una línea de tiempo.
La adopción de SegWit ha crecido exponencialmente desde su lanzamiento en 2017. Para 2018, el 29% de los usuarios de Bitcoin habían implementado SegWit, y en 2019, esto aumentó al 60%.
Las carteras de hardware líderes, Ledger y Trezor, son compatibles con SegWit, y el intercambio de cifrado Gemini está liderando el camino al ser el mayor intercambio centralizado que admite transacciones de SegWit, con la esperanza de que sigan muchos más.
Con suerte, hemos respondido a todas sus preguntas sobre ‘¿qué es SegWit?’, Y si desea obtener más información sobre los fundamentos de la tecnología blockchain y las criptomonedas, no dude en consultar nuestro blog, repleto de artículos interesantes sobre la casos de uso de blockchain, cómo mantenerse a salvo de estafas, viajar por el mundo con cripto y mucho más.