Puede que haya muchos amigos novatos como yo cuando usaron la billetera WEB3 por primera vez, felizmente abrieron la billetera Bitcoin y se prepararon para copiar la dirección, pero de repente descubrieron que una billetera que crearon en realidad tenía varias direcciones diferentes. Es como caminar hacia una encrucijada desconocida, con una expresión confusa en el rostro.

¿Por qué hay diferentes direcciones? ¿Cuál de estas direcciones debería usarse?

Múltiples direcciones de Bitcoin para la billetera OKX

¿Cuáles son estas direcciones?

La comunidad Bitcoin es una comunidad donde la tecnología evoluciona constantemente y el desarrollo de la tecnología produce contenido nuevo. Los diferentes formatos de direcciones pueden considerarse resultado de la aplicación de nuevas tecnologías. A continuación, explore las diferencias entre los diferentes formatos de direcciones.

Dirección heredada (P2P KH)

Este formato se utilizó cuando Bitcoin se lanzó por primera vez en 2009, por lo que se denomina formato heredado. Debido a que la dirección de Bitcoin en ese momento se creó a partir de un par de clave pública/privada, también se denomina Hash de clave pública de pago (P2P). KH) dirección.

En la actualidad, parece que las direcciones de tipo heredado ocuparán más espacio en las transacciones, lo que generará tarifas de transacción más altas. Actualmente, las personas solo usarán este tipo de dirección cuando usen algunas billeteras antiguas que son incompatibles con la nueva dirección.

Se puede encontrar que las direcciones heredadas tienen una característica: todas las direcciones comienzan con "1". Esto se debe a que al generar una dirección, se agregará un prefijo antes de la clave pública generada de acuerdo con diferentes escenarios (por ejemplo: testnet/mainnet. Después de que Hash calcule la clave pública con el prefijo agregado, la dirección eventualmente comenzará con). "1".

Dirección SegWit anidada (P 2 SH-P 2 WPKH)

En comparación con las direcciones heredadas tradicionales, las direcciones P 2 SH no utilizan el hash de la clave pública, sino el hash del script de canje (redeem-script). En términos simples, P2P KH paga al hash de una clave pública, mientras que P2SH paga al script de canje. Solo después de que el destinatario cumpla con las condiciones de transferencia del script de canje se pueden gastar los fondos.

Dado que el objeto de pago se convierte de una clave pública a un script, la flexibilidad se amplía enormemente y la lógica de ejecución del script de canje se puede personalizar. Las aplicaciones típicas incluyen la implementación de transacciones con múltiples firmas.

Sobre la base de P2SH, si la tecnología Segregated Witness está integrada, entonces el formato de esta dirección es una dirección compatible con Segregated Witness (Nested SegWit). Puede obtener más información sobre Testigo Segregado al presentar la dirección de Testigo Segregado. Después de la introducción de la tecnología Segregated Witness, se puede reducir el volumen de transacciones, reduciendo así las tarifas de transacción.

Puede ver que la dirección P 2 SH comienza con "3".

Dirección de testigo segregada (SegWit nativo)

Antes de introducir este tipo de dirección, debemos introducir la tecnología clave que contiene: Testigo segregado (SegWit). Como sugiere el nombre, Testigo segregado aísla los datos del testigo (testigo) y los procesa por separado.

Una ventaja importante de hacerlo es que reduce el tamaño de la información de la transacción, reduciendo así las tarifas de transacción. Otro beneficio aportado por la reducción de tamaño es que el límite superior del tamaño de transacción del bloque de Bitcoin se ha incrementado de 1 MB a 4 MB.

La característica de la dirección de Testigo Segregado es que la dirección comienza con "bc 1".

Dirección de raíz principal (Taproot)

Las ventajas de las direcciones Taproot son la privacidad y la eficiencia en escenarios de transacciones complejas. En comparación con Native SegWit, utiliza el algoritmo Schnorr para reemplazar el algoritmo de firma digital de curva elíptica. El primero es más eficiente en escenarios de transacciones por lotes y mejora la privacidad de las billeteras con múltiples firmas.

La característica de la dirección raíz principal es que la dirección generalmente comienza con "bc 1 q".

¿Qué formato de dirección debo elegir?

Las billeteras convencionales actuales como OKX, Unisat y otras billeteras admiten las cuatro direcciones anteriores. Por lo tanto, para reducir los costos de transacción, es más razonable usar direcciones en formatos nativos SegWit y Taproot.

Además, si está interesado en las inscripciones de Bitcoin, etc., entonces estas dos direcciones son su mejor opción. La mayoría de las billeteras han realizado un procesamiento adicional en las inscripciones de estas dos direcciones, lo que puede proteger su UTXO especial de ser transferido por error en una transacción. . ¡Busque la dirección de la billetera que comienza con "bc 1"!

Por supuesto, las billeteras con diferentes formatos de dirección pueden realizar transacciones de fondos, así que no te preocupes.

Si desea verificar el saldo o bloquear la información de Bitcoin, puede utilizar el servicio de nodo de ZAN. Proporcionamos una API enriquecida para que la utilicen los desarrolladores. Detalles de la documentación de la API: https://docs.zan.top/reference/zan_getbalance-enhance

Profundice: introducción a las tecnologías clave

Después de la introducción anterior, todos tienen más o menos una comprensión preliminar de la billetera y estoy muy interesado en adquirir algunas de las tecnologías en la billetera, así que echemos un vistazo a las misteriosas tecnologías que contiene.

Canjear script de canje

Al presentar P2SH, sabíamos que se trataba de una tecnología para transacciones de scripts de canje, entonces, ¿qué es un script de canje y cuál es su función en el ecosistema de Bitcoin?

Antes de presentar el script de canje, debemos presentar la estructura básica de las transacciones de Bitcoin.

La siguiente es una transacción típica de tipo P2P K, en la que la dirección que comienza con 04 ae quiere transferir 10 BTC a la dirección que comienza con 15 kD. La cuenta con la dirección 04 ae debe mostrar a otros en la cadena que efectivamente tiene derecho a usar esta cuenta (posee la clave privada), luego debe proporcionar una firma (ScriptSig) en esta transacción para demostrar su identidad.

Además de obtener la firma, el verificador también necesita encontrar el script de salida de la transacción anterior correspondiente al UTXO. Estos dos guiones se unen para formar el guión de redención. La función del guión de canje es demostrar la legitimidad de la transacción.

En esta transacción, puede ver que la firma y el script de salida son instrucciones de computadora. "OP_PUSHBYTES" significa EMPUJAR un dato en la pila. Primero, 04 ae en ScriptSig firma la transacción completa con su propia clave privada y la firma se enviará a la pila. Luego inserte la clave pública en la pila y, finalmente, en "OP_CHECKSIG", use la clave pública para descifrar la firma y comparar si la transacción es consistente. Si son consistentes, la identidad es válida.

Además de este método P2P K, el script de canje también puede implementar diferentes métodos de verificación de identidad, como P2P KH y P2SH.

Testigo Segregado Testigo Segregado

De la introducción anterior, podemos saber que los formatos de billetera más nuevos actualmente utilizan la tecnología Segregated Witness, entonces, ¿qué es Witness y cómo se aísla?

El Testigo aquí puede considerarse como la información de la firma del script (scriptSig) en la estructura básica de Bitcoin. Segregated Witness la extrae de la estructura básica y la coloca en una nueva estructura de datos.

Como puede ver en la figura anterior, el único contenido necesario en la transacción es la información del origen de la transacción y la información de salida de la transacción. El tamaño de la transacción se reduce dado que la parte amarilla (tamaño total de la transacción) tiene un límite de tamaño. la transacción se transmitirá por separado y permite que un bloque admita más transacciones. Además, al calcular la firma de una transacción, el contenido de la parte de la firma no se incluye, por lo que el problema de la maleabilidad de la transacción se puede resolver de manera efectiva.

A continuación se muestra una transacción P 2 TR. Puede ver que esta transacción tiene una parte de Testigo adicional. Su función es verificar la legitimidad de la transacción. Después de usar Witness en lugar de ScriptSig, el método para verificar la legitimidad sigue siendo el mismo, es decir, usar la clave pública para descifrar la firma de Witness y verificar si el contenido de la transacción es consistente. Sólo cuando el nodo necesite verificar la legalidad de la transacción solicitará información del Testigo. Ahora utilice el servicio ZAN Node de forma gratuita (visite ZAN.TOP) para conectarse a la red BTC de forma estable y a alta velocidad.

En resumen, Segregated Witness separa la parte de la firma de la transacción del resto de la transacción original, reduciendo así el tamaño de una sola transacción y aumentando la capacidad de todo el bloque. Además, dado que el contenido de la parte de la firma no se incluye en el cálculo del valor hash de la transacción, puede resolver eficazmente el problema de la maleabilidad de la transacción.

Este artículo fue escrito por Yeezo (cuenta X @GaoYeezo 75065) del equipo ZAN (cuenta X @zan_team).