Una introducción fácil para principiantes de SegWit de Bitcoin, incluyendo qué es SegWit, por qué es importante y qué logra
Cuando Satoshi Nakamoto diseñó Bitcoin, estipulaba que la capacidad de cada bloque no debe exceder un millón, y el número de transacciones que pueden registrarse en cada capacidad de un millón es extremadamente limitado. En los primeros días, la capacidad de cada bloque de un millón era suficiente para afrontar el volumen de transacciones del mercado de nicho, pero cuando aumentaba el número de jugadores de Bitcoin, se congestionó particularmente.
Por ejemplo, según las estadísticas, la red Bitcoin actualiza un nuevo bloque cada diez minutos. Sujeto a la capacidad de un millón, el número de transacciones contenidas en cada bloque no excede como máximo las docenas de transacciones. Actualmente, Bitcoin puede procesar un promedio de siete transacciones por segundo. Esto significa que, bajo circunstancias especiales, hay un backlog de decenas de miles de transacciones en la blockchain de Bitcoin, y la comisión de transacción para las transferencias de Bitcoin llega hasta decenas de dólares. Cuando la red está congestionada, las transacciones de Bitcoin incluso pueden tardar varios días en empaquetarse.
Por lo tanto, los usuarios en el círculo de cifrado necesitaban urgentemente una solución técnica eficiente para resolver el problema del procesamiento lento de transacciones de Bitcoin. Esta solución ayudaría a hacer que el Bitcoin de todos llegue más rápido y con una comisión de transacción más baja (la comisión que se paga a los mineros).La solución llegó en la forma de Segregated Witness (SegWit).
Presentación de SegWit
La tecnología SegWit fue propuesta por el desarrollador de Bitcoin, Pieter Wuille, y otros colaboradores de Bitcoin Core, en 2015 como una solución al problema de la velocidad de procesamiento de transacciones. En 2017, SegWit se utilizó oficialmente en el soft fork en la red Bitcoin, y la capacidad de procesamiento de información de un único bloque de Bitcoin también se incrementó 1.7 veces.
En la actualidad, las tres monedas principales, Bitcoin, Litecoin y Bitcoin Cash, han comenzado a adoptar SegWit. Los beneficios de la adopción de SegWit incluyen principalmente ampliar la capacidad de los bloques, aumentar la velocidad de las transacciones y optimizar la escalabilidad de las transacciones.
Principios técnicos de SegWit
Veamos los principios técnicos y las ideas de implementación de SegWit. Los jugadores profesionales saben que cada pieza de información de transacción en Bitcoin se divide en dos partes: datos básicos de transacciones y datos de testigos. Los datos de la transacción registran el saldo de la cuenta, y los datos de testigos verifican la identidad del usuario.
Por lo general, los usuarios se preocupan más sobre la información central relacionada con los activos, como el saldo de la cuenta, y la verificación de la identidad del usuario no tiene que costar demasiado en la transacción. En términos simples, el destinatario de la transferencia solo necesita confirmar que el activo está disponible y no necesita saber los detalles del remitente.
Sin embargo, en la estructura de transacciones de Bitcoin, los datos de testigo, la información de la firma, toman mucho espacio de almacenamiento, lo que, a su vez, demora la eficiencia de transferencia y aumenta los costos de empaquetado. La tecnología SegWit ayuda a extraer los datos de testigos de la información de la transacción y almacenarlos por separado, lo que acelera la transacción.
Ventajas principales de SegWit
Capacidad de bloque aumentada
Según las estadísticas, la información de firma puede ocupar hasta el 65 % del espacio en un bloque de transacción de Bitcoin. Es posible que después de la adopción de SegWit, se libere el espacio de almacenamiento de bloques original y se pueda procesar más información de transacción.
Tasa de transacción más rápida
Al igual que la idea de la capa 2 de Ethereum, los datos de Bitcoin se procesan en capas para lograr el propósito de aumentar la tasa de transacción. Después de adoptar SegWit, el sistema de transacciones de Bitcoin concentrará más potencia informática y un almacenamiento más grande en el procesamiento de la información de la transacción. En comparación con la carga anterior, la carga se reduce mucho, y la tasa de transacciones por segundo (TPS) solo aumentará, en teoría. Los datos demuestran que después de la adopción de SegWit, el costo promedio por transacción baja a $1.
Lightning Network favorable
Lightning Network es la solución de expansión del protocolo de capa 2 de Bitcoin más discutida, diseñada para resolver el problema de escalabilidad de Bitcoin off-chain.
Lightning Network intenta crear una nueva capa de red en la blockchain de Bitcoin y, al mismo tiempo, establecer un canal de pago. Como resultado, bajo cualquier circunstancias extrema, las transacciones de transferencia grandes se pueden completar de forma rápida y fluida, lo que puede entenderse como un procesamiento de datos off-chain. Sin embargo, SegWit procesa rápidamente los datos con la mayor prioridad en la cadena.
El alivio de la presión para la implementación de Lightning Network de hecho crea indirectamente las condiciones para Lightning Network.
Vale la pena mencionar que, según el marco técnico de SegWit, los datos de transacción y los datos de firma están completamente diferentes. En todo el sistema de procesamiento de transacciones, los datos de la firma del usuario también están excluidos, por lo que no hay posibilidad de que la información de la transacción sea manipulada. Un solo clic elimina la posibilidad de que se registre información incorrecta de forma permanente on-chain. También tiene beneficios positivos para la expansión y aplicación del programa de reparación de información de transacciones.
Además, SegWit también se considera como el primer precursor de ordinals de Bitcoin, ampliando el límite de cuántos datos arbitrarios se pueden colocar en una transacción, lo que permite grabar inscripciones en cada satoshi de Bitcoin. En 2021, Taproot creó un sistema que facilita el almacenamiento de datos arbitrarios de testigo, y continuó expandiendo el límite de datos creado en una transacción de Bitcoin, lo que permitió el nacimiento del token no fungible de los ordinals de Bitcoin que existe hoy en día.
Cómo se aplica SegWit
Para los usuarios comunes, la tecnología SegWit ofrece tres beneficios principales:
Más segura: mayor seguridad que las direcciones comunes
Más rápido: capacidad de bloque expansible y verificación de transacciones más rápida
Más barato: las comisiones de transacción son más bajas que las direcciones de billeteras comunes
¿Cómo se aplica esta tecnología a los usuarios comunes? En cuanto a tu propia billetera, si usas la dirección de la billetera aislada para completar la aceptación de las transferencias de Bitcoin, realmente puedes disfrutar de los beneficios explicados arriba. Los datos recopilados a fines de agosto de 2020 mostraron que la tasa de utilización de SegWit de Bitcoin había alcanzado el 67 %, lo que significa que los datos actuales deben haber alcanzado un nivel más alto.
En la actualidad, el formato de dirección de Bitcoin se divide principalmente en cuatro tipos:
Legacy
Formato Legacy (P2PKH) (direcciones que comienzan con 1) —direcciones tradicionales.
Ejemplo: 1Fh7ajXabJBpZPZw8bjD3QU4CuQ3pRty9u El formato de dirección original de Bitcoin, que aún se usa hoy.
P2PKH significa Pay To PubKey Hash (Pagar a hash de clave pública).
Nested
Formato Nested (P2SH) (algunas direcciones que comienzan con 3) —dirección multifirma.
Ejemplo: 3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQXP2SH (Pay-to-Script-Hash), hash del script de pago, es decir, los scripts de entrada y salida de transacciones de Bitcoin, utilizando los scripts de canje y los hashes del script de canje.
Su estructura de direcciones es similar a P2PKH, pero admite funciones más complejas que las direcciones tradicionales. Las funciones de script P2SH se utilizan más con direcciones multifirma, que pueden especificar múltiples firmas digitales para autorizar transacciones. Por ejemplo, una dirección que comienza con 3 está controlada por tres personas, y cualquiera de ellas acepta iniciar una transferencia.
Las dos direcciones anteriores son direcciones tradicionales de transferencia de transacciones y no utilizan la tecnología de testigo segregado. A continuación, se presentan dos direcciones principales de testigos segregados.
Formato Nested SegWit (P2SH) (direcciones que comienzan con 3) —dirección compatible de testigo segregado.
Ejemplo: 3KF9nXowQ4asSGxRzeiTpDjMuwM2nypAN Direcciones que comienzan con 3.
Como el método P2SH se utiliza para el empaquetado, la dirección SegWit compatible también comienza con 3, que puede ser reconocida por los nodos anteriores.
No necesitas saber si la dirección de Bitcoin que comienza con 3 es una dirección multifirma o una dirección de testigo segregado compatible. Solo debes saber que la dirección que comienza con 3 es ampliamente compatible, y que puedes enviar Bitcoin a direcciones que comienzan con 1 y bc1.
Native
Formato Native SegWit (Bech32) (dirección que comienza con bc1) —dirección de testigo segregado nativa.
Ejemplo: bc1qf3uwcxaz779nxedw0wry89v9cjh9w2xylnmqc3
La dirección codificada Bech32 es un formato de dirección desarrollado específicamente para SegWit. Bech32 se define en BIP173 a finales de 2017. Una de las características principales de este formato es que no distingue mayúsculas (la dirección solo contiene 0-9, az), por lo que puede evitar la confusión y ser más legible al ingresar.
Como se requieren menos caracteres en la dirección, la dirección utiliza el código Base32 en vez del tradicional Base58, lo que hace que los cálculos sean más convenientes y eficientes. Los datos también se pueden almacenar más estrictamente en códigos QR.
Bech32 proporciona una mayor seguridad, un mejor código de detección de errores de suma de verificación optimizado y minimiza la posibilidad de que haya direcciones no válidas. Las direcciones Bech32 son compatibles con SegWit de forma nativa. No se requiere espacio adicional para colocar direcciones SegWit en direcciones P2SH, por lo que al usar direcciones de formato Bech32, la comisión de gestión será más baja.
Las direcciones Bech32 tienen varias ventajas sobre las direcciones Base58 más antiguas (el código Base58Check se utiliza para codificar arrays de bytes en Bitcoin en cadenas codificables por humanos). Con las direcciones Bech32, los códigos QR son más pequeños, más a prueba de errores, seguros y no distinguen mayúsculas de minúsculas. Además, solo consisten en letras en minúscula, lo que los hace más fáciles de leer y entender al escribir.
Formato Native P2WPKH/Native P2WSH (Bech32) (la dirección comienza con bc1q) —dirección de testigo segregado nativo.
Ejemplo de Native P2WPKH: bc1qmgjswfb6eXcmuJgLxvMxAo1tth2QCyyPYt8shzNative
Ejemplo de P2WSH: bc1q09zjqeetautmyzrxn9d2pu5c5glv6zcmj3qx5axrltslu90p88pqykxdv4wj
Para las direcciones segwit de versión 0, siempre comienzan con bc1q. Con esta generación de la dirección Pay-to-Witness-Public-Key-Hash (P2WPKH), la longitud de la dirección P2WPKH se fija en 42 caracteres.
Con la dirección Pay-to-Witness-Script-Hash (P2WSH), la longitud de la dirección P2WSH se fija en 62 caracteres. P2WPKH se utiliza generalmente en las direcciones comunes, y P2WSH se usa generalmente en las direcciones multifirma.
En 2019, se descubrió que si el último carácter de una dirección Bech32 es P, y si uno o más Q se ingresan accidentalmente más adelante, aún puede aprobar la verificación de suma de verificación y no recibirá una indicación de error de entrada. El software de la billetera asume que la dirección se ingresó correctamente y permitirá que los Bitcoins se envíen a la dirección incorrecta, lo que hace que los Bitcoins no puedan gastarse, como se explicó anteriormente.
La buena noticia es que Bech32 solo se utiliza para SegWit, y las direcciones SegWit tienen un límite de longitud: pueden tener 20 bytes o 32 bytes. Por suerte, si ingresas una Q adicional después de una dirección que tenga una longitud de 20 o 32 bytes, la dirección ingresada no será válida porque excede el límite de longitud. La billetera verá este problema y no enviará Bitcoins.
Originalmente se sugirió introducir un límite de longitud de dirección similar para Taproot, pero la solución mencionada a continuación elimina esta necesidad. Una longitud de dirección flexible es más útil para mejorar Taproot en el futuro.
P2TR
Formato P2TR (Bech32m) (la dirección comienza con bc1p) —dirección Taproot.
Ejemplo: bc1pqs7w62shf5ee3qz5jaywle85jmg8suehwhOawnqxevre9k7zvqdz2mOn
Para solucionar el error de Bech32, se propuso un nuevo estándar llamado Bech32m. Bech32m es en realidad un cambio muy simple: se agrega un dígito adicional a la fórmula de suma de verificación de Bech32 para asegurarnos de que cualquier carácter adicional genere una suma de verificación no válida.
Este nuevo estándar solo se aplica a las direcciones de Taproot y futuras direcciones. Para las direcciones SegWit, nada ha cambiado ya que ya están protegidas con un límite de longitud de 20 o 32 bytes.
Para solucionar las deficiencias anteriores de Bech32, las direcciones Bech32m se proponen en BIP0350:
Para las direcciones segwit nativas de versión 0, usa el Bech32 anterior
Para direcciones segwit nativas con versión 1 (o superior), usa el nuevo Bech32m
Para las direcciones Bech32m, siempre comienzan con bc1p cuando la versión es 1 (es decir, direcciones Taproot).
Las direcciones pueden ser diferentes en todos los casos
En términos generales, podemos ver otras diferencias sutiles entre las diferentes direcciones:
Las direcciones compatibles con SegWit (empezando con la parte 3) ahorran un 24 % en comparación con las direcciones tradicionales (empezando con 1)
Las direcciones Native SegWit (que comienzan con bc1) ahorran un 35 % en comisiones de transferencia en comparación con las direcciones tradicionales (que comienzan con 1)
La dirección SegWit (que comienza con bc1 y la parte 3) puede ahorrar hasta el 70 % de la comisión de transferencia que la dirección multifirma (que comienza con la parte 3)
La dirección Taproot admite el holding de NFT de BTC y NFT de Ordinals, y la comisión de transferencia es similar al comienzo de 3
Última reflexión
SegWit es un desarrollo importante para Bitcoin a la hora de aumentar el número de transacciones por bloque que la red Bitcoin podría procesar. Además, aborda una vulnerabilidad excepcional relacionada con la flexibilidad de las transacciones y agrega mayor programabilidad a Bitcoin, lo que permite soluciones de mayor escalabilidad como Lightning Network de Bitcoin.
Hoy en día, la OKX Wallet ya ha ayudado a los usuarios a adoptar direcciones testigo aisladas, incluidas Bitcoin, Litecoin y Bitcoin Cash, al transferir y recargar, optimizando la experiencia del usuario, reduciendo la comisión de uso y aumentando la velocidad de transferencia. Al mismo tiempo, la OKX Wallet también ha admitido totalmente la dirección Taproot de la que dependen las órdenes BRC-20 y NFT de BTC.
© 2024 OKX. Este artículo se puede reproducir o distribuir tanto en su totalidad como parcialmente en fragmentos de 100 palabras o menos, siempre que no sea con fines comerciales. Cualquier reproducción o distribución del artículo en su totalidad debe indicar de forma prominente: “Este artículo es © 2024 OKX y se utiliza con permiso”. Los fragmentos permitidos deben citar el nombre del artículo e incluir la autoría. Por ejemplo: “Nombre del artículo, [nombre del autor si corresponde], © 2024 OKX”. No se permiten trabajos derivados u otros usos de este artículo.