socrates980
01-03-2021, 11:15 PM
¡Bienvenido a otra guía para principiantes sobre criptografía! Hoy les contaré qué es SegWit.
Hay cientos de criptomonedas en el mercado y cada una tiene un conjunto de reglas que guían la forma en que funcionan. Este conjunto de reglas se llama protocolo. Entonces, ¿qué tiene que ver todo esto con SegWit? ¿Qué es SegWit?
Bueno, como todos los programas de computadora, las criptomonedas deben actualizarse y mejorarse. Se descubren errores y fallas que deben solucionarse. Esto es lo que sucede cuando su computadora portátil le pide que se apague y actualice.
Cuando es necesario actualizar o mejorar una criptomoneda, se deben realizar cambios en su protocolo. SegWit fue una actualización del protocolo de Bitcoin el año pasado.
En esta guía, le contaré todo lo que necesita saber sobre SegWit. Les voy a contar qué es SegWit y cómo funciona. También les voy a decir qué mejoras ha hecho a la red Bitcoin y qué significan estas mejoras para sus usuarios.
Al final de esta guía, nunca tendrá que preguntarse: "¿Qué es SegWit?" otra vez.
Comencemos observando de dónde vino SegWit y qué estaba tratando de lograr ...
Tabla de contenido
• 1. La historia de SegWit
• 2. Los fundamentos de Blockchain
• 3. Transacciones para principiantes
• 4. Transacción Bitcoin estándar
• 5. Cómo funciona la maleabilidad de las transacciones
• 5.1. Parcheo de maleabilidad de transacciones
• 6. Escalabilidad de Bitcoin SegWit
• 6.1. La red Lightning
• 7. Qué es SegWit: los pros
• 8. Qué es SegWit: los contras
• 9. Conclusión
La historia de SegWit
16889
La idea de SegWit fue presentada por primera vez por Pieter Wuille en una conferencia de Bitcoin en 2015. Wuille es un desarrollador de Bitcoin y cofundador de Blockstream, una empresa de software que se especializa en seguridad digital para servicios financieros.
Wuille sugirió SegWit como una solución a una falla en el protocolo de Bitcoin. En el desarrollo de software, las soluciones a las fallas se denominan parches. El problema que quería solucionar se llama maleabilidad de la transacción. La maleabilidad de las transacciones es una forma nerd de decir que se puede robar Bitcoin a los usuarios cambiando pequeños fragmentos de información de la transacción. No se preocupe, voy a cubrir todo esto con más detalle en la siguiente sección.
La propuesta SegWit de Wuille provocó un gran debate en la comunidad de Bitcoin y pasaron casi dos años antes de que se pusiera en marcha. Finalmente se activó el 23 de agosto de 2017. El mismo parche se aplicó al protocolo Litecoin el 10 de mayo de 2017.
Nota: Litecoin es una criptomoneda cuyo código se basa en el protocolo Bitcoin. Debido a que son muy similares, compartieron el problema de la maleabilidad de las transacciones.
SegWit solucionó el problema de maleabilidad de la transacción y también hizo posibles otras mejoras en el protocolo Bitcoin. Sin embargo, todavía tiene muchas críticas y no todos los usuarios de la red Bitcoin han acogido con satisfacción los cambios. ¡Algunos miembros de la comunidad de Bitcoin no están de acuerdo con SegWit tanto que han creado sus criptomonedas rivales!
Antes de entrar en nada de eso, veamos más de cerca el problema de la maleabilidad de las transacciones. Entonces, ¿qué es la maleabilidad de las transacciones y qué está haciendo SegWit para detenerla?
La maleabilidad de las transacciones es bastante complicada. Para comprenderlo, primero debe comprender cómo funcionan las transacciones de Bitcoin ...
Los fundamentos de Blockchain
Bitcoin es una gran red compuesta por miles de computadoras llamadas nodos. Cada nodo mantiene un registro completo de cada transacción de Bitcoin que se haya realizado. Este registro se llama blockchain.
La mayor parte del trabajo involucrado en el procesamiento de nuevas transacciones se realiza mediante nodos especiales llamados mineros. Los usuarios pagan tarifas de transacción a los mineros por el trabajo que realizan. Las nuevas transacciones solo se pueden agregar a la cadena de bloques después de que los mineros las hayan colocado en grupos de transacciones llamados bloques. Cada bloque de la cadena de bloques de Bitcoin contiene 1 MB de información sobre transacciones.
La red debería tardar unos 10 minutos en procesar un bloque de transacciones, pero puede llevar mucho más tiempo. La red Bitcoin puede procesar entre 3 y 7 transacciones por segundo (Tx / s). Sin embargo, esto puede ralentizarse mucho cuando la red está ocupada.
Ahora voy a usar dos ejemplos para mostrarle cómo funcionan las transacciones simples de Bitcoin. La primera será una transacción estándar de Bitcoin. La segunda será una transacción en la que un usuario aprovecha la maleabilidad de la transacción para robar Bitcoin a otro usuario.
16890
Transacciones para principiantes
Lucy quiere enviar 10 Bitcoin (BTC) a Jude. Para hacer esto, Lucy y Jude necesitan dos tipos de información:
• Una dirección pública: es como una dirección de correo electrónico de Bitcoin. Una dirección pública es una ubicación digital a la que Lucy puede enviar Bitcoin. Jude tiene una dirección pública para recibir Bitcoin. Las direcciones públicas pueden ser vistas por toda la red.
• Una clave privada: si las direcciones públicas son como direcciones de correo electrónico, las claves privadas son como contraseñas. Demuestran que las direcciones públicas, y por lo tanto el propio Bitcoin, pertenecen a Lucy y Jude. Solo Lucy puede ver la clave privada de Lucy y solo Jude puede ver la clave privada de Jude.
Veamos cómo se ve la transacción en la red Bitcoin ... <
Transacción Bitcoin estándar
16891
¿Cómo llega el 10BTC de Lucy a Jude?
1. Lucy transmite una solicitud a la red. La solicitud contiene la dirección pública de Jude, la cantidad que se envía (10 BTC) y una tarifa de transacción para los mineros. También contiene la firma de clave privada de Lucy, que usa para demostrar que tiene 10 BTC para enviar. Esta información de la firma se llama datos de testigos.
2. Los mineros procesan la transacción. Ponen la información de Lucy junto con la de Jude y la cifran. Esto significa que convierten la información en una línea de código de computadora. Este código se llama ID de transacción.
3. Las colas de transacciones, a la espera de ser procesadas. Si Lucy ha adjuntado una tarifa de transacción baja, ¡podría hacer cola durante mucho tiempo! Es como pedir comida en un restaurante. Si no le da propina al camarero, ¡la comida podría tardar mucho en llegar! Lucy puede acelerar el proceso enviando la transacción nuevamente con una tarifa más alta. El ID de transacción ahora se agrega a los ID de transacción de otros usuarios y se vuelve a cifrar. Este proceso continúa hasta que se alcanza el límite de 1 MB de información de transacción y se forma un bloque.
4. Se confirma el bloqueo. El bloque se transmite a la red y si más de la mitad de todos los nodos están de acuerdo en que la información que contiene es válida, se puede confirmar y agregar a la cadena de bloques. Jude recibe 10 BTC de Lucy.
Así es como ocurren la mayoría de las transacciones de Bitcoin. A continuación, quiero mostrarles cómo la maleabilidad de las transacciones puede afectar las transacciones y luego podemos preguntar, ¿qué está haciendo SegWit al respecto?
Cómo funciona la maleabilidad de transacciones
Utilizando el ejemplo nuevamente, le mostraré cómo Jude puede usar la maleabilidad de las transacciones para engañar a Lucy para que le envíe 20 BTC en lugar de 10. Así es como funciona ...
La falla de maleabilidad de la transacción en el código de Bitcoin le permite a Jude cambiar los datos de los testigos de Lucy antes de que se confirme la transacción. Esto cambia el ID de la transacción sin cambiar la transacción en sí (que todavía son 10 BTC enviados de Lucy a Jude).
Cuando esta transacción alterada es confirmada por la red, cancela la transacción original. Ahora Jude se pone en contacto con Lucy para quejarse de que no ha recibido 10BTC, ¡aunque sí!
Lucy comprueba y ve que la transacción original no se ha realizado. Ahora adjunta una tarifa de transacción más alta y la envía de nuevo. Esta nueva transacción es procesada por la red. ¡Jude recibe 10 Bitcoins más!
Lucy, los mineros y el resto de la red no tienen forma de saber que esto está sucediendo. Una vez que las transacciones se confirman y se agregan a la cadena de bloques, no se pueden cambiar ni eliminar. A continuación se muestra un cuadro que muestra el problema grave de la maleabilidad de las transacciones para la red Bitcoin.
Hay cientos de criptomonedas en el mercado y cada una tiene un conjunto de reglas que guían la forma en que funcionan. Este conjunto de reglas se llama protocolo. Entonces, ¿qué tiene que ver todo esto con SegWit? ¿Qué es SegWit?
Bueno, como todos los programas de computadora, las criptomonedas deben actualizarse y mejorarse. Se descubren errores y fallas que deben solucionarse. Esto es lo que sucede cuando su computadora portátil le pide que se apague y actualice.
Cuando es necesario actualizar o mejorar una criptomoneda, se deben realizar cambios en su protocolo. SegWit fue una actualización del protocolo de Bitcoin el año pasado.
En esta guía, le contaré todo lo que necesita saber sobre SegWit. Les voy a contar qué es SegWit y cómo funciona. También les voy a decir qué mejoras ha hecho a la red Bitcoin y qué significan estas mejoras para sus usuarios.
Al final de esta guía, nunca tendrá que preguntarse: "¿Qué es SegWit?" otra vez.
Comencemos observando de dónde vino SegWit y qué estaba tratando de lograr ...
Tabla de contenido
• 1. La historia de SegWit
• 2. Los fundamentos de Blockchain
• 3. Transacciones para principiantes
• 4. Transacción Bitcoin estándar
• 5. Cómo funciona la maleabilidad de las transacciones
• 5.1. Parcheo de maleabilidad de transacciones
• 6. Escalabilidad de Bitcoin SegWit
• 6.1. La red Lightning
• 7. Qué es SegWit: los pros
• 8. Qué es SegWit: los contras
• 9. Conclusión
La historia de SegWit
16889
La idea de SegWit fue presentada por primera vez por Pieter Wuille en una conferencia de Bitcoin en 2015. Wuille es un desarrollador de Bitcoin y cofundador de Blockstream, una empresa de software que se especializa en seguridad digital para servicios financieros.
Wuille sugirió SegWit como una solución a una falla en el protocolo de Bitcoin. En el desarrollo de software, las soluciones a las fallas se denominan parches. El problema que quería solucionar se llama maleabilidad de la transacción. La maleabilidad de las transacciones es una forma nerd de decir que se puede robar Bitcoin a los usuarios cambiando pequeños fragmentos de información de la transacción. No se preocupe, voy a cubrir todo esto con más detalle en la siguiente sección.
La propuesta SegWit de Wuille provocó un gran debate en la comunidad de Bitcoin y pasaron casi dos años antes de que se pusiera en marcha. Finalmente se activó el 23 de agosto de 2017. El mismo parche se aplicó al protocolo Litecoin el 10 de mayo de 2017.
Nota: Litecoin es una criptomoneda cuyo código se basa en el protocolo Bitcoin. Debido a que son muy similares, compartieron el problema de la maleabilidad de las transacciones.
SegWit solucionó el problema de maleabilidad de la transacción y también hizo posibles otras mejoras en el protocolo Bitcoin. Sin embargo, todavía tiene muchas críticas y no todos los usuarios de la red Bitcoin han acogido con satisfacción los cambios. ¡Algunos miembros de la comunidad de Bitcoin no están de acuerdo con SegWit tanto que han creado sus criptomonedas rivales!
Antes de entrar en nada de eso, veamos más de cerca el problema de la maleabilidad de las transacciones. Entonces, ¿qué es la maleabilidad de las transacciones y qué está haciendo SegWit para detenerla?
La maleabilidad de las transacciones es bastante complicada. Para comprenderlo, primero debe comprender cómo funcionan las transacciones de Bitcoin ...
Los fundamentos de Blockchain
Bitcoin es una gran red compuesta por miles de computadoras llamadas nodos. Cada nodo mantiene un registro completo de cada transacción de Bitcoin que se haya realizado. Este registro se llama blockchain.
La mayor parte del trabajo involucrado en el procesamiento de nuevas transacciones se realiza mediante nodos especiales llamados mineros. Los usuarios pagan tarifas de transacción a los mineros por el trabajo que realizan. Las nuevas transacciones solo se pueden agregar a la cadena de bloques después de que los mineros las hayan colocado en grupos de transacciones llamados bloques. Cada bloque de la cadena de bloques de Bitcoin contiene 1 MB de información sobre transacciones.
La red debería tardar unos 10 minutos en procesar un bloque de transacciones, pero puede llevar mucho más tiempo. La red Bitcoin puede procesar entre 3 y 7 transacciones por segundo (Tx / s). Sin embargo, esto puede ralentizarse mucho cuando la red está ocupada.
Ahora voy a usar dos ejemplos para mostrarle cómo funcionan las transacciones simples de Bitcoin. La primera será una transacción estándar de Bitcoin. La segunda será una transacción en la que un usuario aprovecha la maleabilidad de la transacción para robar Bitcoin a otro usuario.
16890
Transacciones para principiantes
Lucy quiere enviar 10 Bitcoin (BTC) a Jude. Para hacer esto, Lucy y Jude necesitan dos tipos de información:
• Una dirección pública: es como una dirección de correo electrónico de Bitcoin. Una dirección pública es una ubicación digital a la que Lucy puede enviar Bitcoin. Jude tiene una dirección pública para recibir Bitcoin. Las direcciones públicas pueden ser vistas por toda la red.
• Una clave privada: si las direcciones públicas son como direcciones de correo electrónico, las claves privadas son como contraseñas. Demuestran que las direcciones públicas, y por lo tanto el propio Bitcoin, pertenecen a Lucy y Jude. Solo Lucy puede ver la clave privada de Lucy y solo Jude puede ver la clave privada de Jude.
Veamos cómo se ve la transacción en la red Bitcoin ... <
Transacción Bitcoin estándar
16891
¿Cómo llega el 10BTC de Lucy a Jude?
1. Lucy transmite una solicitud a la red. La solicitud contiene la dirección pública de Jude, la cantidad que se envía (10 BTC) y una tarifa de transacción para los mineros. También contiene la firma de clave privada de Lucy, que usa para demostrar que tiene 10 BTC para enviar. Esta información de la firma se llama datos de testigos.
2. Los mineros procesan la transacción. Ponen la información de Lucy junto con la de Jude y la cifran. Esto significa que convierten la información en una línea de código de computadora. Este código se llama ID de transacción.
3. Las colas de transacciones, a la espera de ser procesadas. Si Lucy ha adjuntado una tarifa de transacción baja, ¡podría hacer cola durante mucho tiempo! Es como pedir comida en un restaurante. Si no le da propina al camarero, ¡la comida podría tardar mucho en llegar! Lucy puede acelerar el proceso enviando la transacción nuevamente con una tarifa más alta. El ID de transacción ahora se agrega a los ID de transacción de otros usuarios y se vuelve a cifrar. Este proceso continúa hasta que se alcanza el límite de 1 MB de información de transacción y se forma un bloque.
4. Se confirma el bloqueo. El bloque se transmite a la red y si más de la mitad de todos los nodos están de acuerdo en que la información que contiene es válida, se puede confirmar y agregar a la cadena de bloques. Jude recibe 10 BTC de Lucy.
Así es como ocurren la mayoría de las transacciones de Bitcoin. A continuación, quiero mostrarles cómo la maleabilidad de las transacciones puede afectar las transacciones y luego podemos preguntar, ¿qué está haciendo SegWit al respecto?
Cómo funciona la maleabilidad de transacciones
Utilizando el ejemplo nuevamente, le mostraré cómo Jude puede usar la maleabilidad de las transacciones para engañar a Lucy para que le envíe 20 BTC en lugar de 10. Así es como funciona ...
La falla de maleabilidad de la transacción en el código de Bitcoin le permite a Jude cambiar los datos de los testigos de Lucy antes de que se confirme la transacción. Esto cambia el ID de la transacción sin cambiar la transacción en sí (que todavía son 10 BTC enviados de Lucy a Jude).
Cuando esta transacción alterada es confirmada por la red, cancela la transacción original. Ahora Jude se pone en contacto con Lucy para quejarse de que no ha recibido 10BTC, ¡aunque sí!
Lucy comprueba y ve que la transacción original no se ha realizado. Ahora adjunta una tarifa de transacción más alta y la envía de nuevo. Esta nueva transacción es procesada por la red. ¡Jude recibe 10 Bitcoins más!
Lucy, los mineros y el resto de la red no tienen forma de saber que esto está sucediendo. Una vez que las transacciones se confirman y se agregan a la cadena de bloques, no se pueden cambiar ni eliminar. A continuación se muestra un cuadro que muestra el problema grave de la maleabilidad de las transacciones para la red Bitcoin.