¿Existe un formato de dirección para P2WPKH o P2WSH?

¿Existe un formato de dirección para P2WPKH o P2WSH? Si P2WPKH usa el mismo formato de dirección que P2PKH, ¿cómo sabe una billetera cuál usar?

Respuestas (2)

¿Existe un formato de dirección para P2WPKH o P2WSH?

No. BIP142 habría proporcionado un formato de dirección para estos scripts de salida, pero está en estado "diferido" y se espera que permanezca así. Se alienta a los desarrolladores de billeteras a discutir un nuevo formato de dirección en la lista de correo de bitcoin-dev, y tengo entendido que pronto habrá una propuesta.

Mientras tanto, BIP70 admite el pago de salidas arbitrarias, por lo que puede usarse para las salidas nativas de segwit, al igual que cualquier otro software que se comunique usando su propio protocolo (como el software de canal de pago como el que se usa para varias implementaciones de Lightning Network).

Si P2WPKH usa el mismo formato de dirección que P2PKH, ¿cómo sabe una billetera cuál usar?

Aunque la nueva propuesta de dirección probablemente no use base58check como los formatos de dirección actuales para P2PKH y P2SH, la propuesta ahora diferida en BIP142 explica cómo se podría hacer esto fácilmente cambiando el primer byte de la dirección (que es un número de versión):

"Para la dirección P2WPKH, la versión de la dirección es 6 (0x06) para una dirección de red principal o 3 (0x03) para una dirección de red de prueba.

"Para la dirección P2WSH, la versión de la dirección es 10 (0x0A) para una dirección de red principal o 40 (0x28) para una dirección de red de prueba".

Sí. El formato utilizado para codificar la versión nativa 0 SegWit scriptPubKeys ( P2WPKHy P2WSH) es bech32, definido por bip-0173.

Desafortunadamente, en el momento de escribir este artículo, se ha descubierto una debilidad con respecto al uso de esta codificación para la versión propuesta 1 SegWit scriptPubKeys ( Taproot ).
Hay debates en curso sobre cómo modificar esta codificación para las direcciones SegWit de la versión 1 y posteriores.


Si P2WPKH usa el mismo formato de dirección que P2PKH, ¿cómo sabe una billetera cuál usar?

Los SegWit scriptPubKey, tal como los define bip-0141, se construyen de manera diferente a los heredados P2PKH scriptPubKey.

Según el Script, una billetera sabe qué codificación usar.
Para ser explícito:

  • Si el scriptPubKeyes de la formaDUP HASH160 <pk hash> EQUALVERIFY CHECKSIG
    • Utilice la codificación base58-check
  • De lo contrario, si el scriptPubKeyes de la forma<1-byte push> <2-to-40-bytes push>
    • Usar codificación bech32

Es probable que eventualmente se agregue una nueva rama a la lógica anterior en función de la nueva codificación que se elegirá para la versión >= 1SegWit scriptPubKeys.