Dirección
Una codificación amigable de un script de bloqueo
Una dirección representa un tipo específico de script de bloqueo que se colocará sobre algunos bitcoins. Básicamente, es una codificación amigable de un hash de clave pública o de un hash de script.
Entonces, cuando le das una dirección a alguien, le estás pidiendo que bloquee tus bitcoins a un patrón de script específico usando el hash de la clave pública o el hash del script contenido en la dirección.
Uso
¿Cómo se usan las direcciones en Bitcoin?
Las direcciones se usan cuando quieres enviar bitcoins a alguien mediante una cartera. La cartera decodifica la dirección para determinar el tipo de script de bloqueo que debe poner en la salida y extrae el hash para colocarlo en el ScriptPubKey.
Las direcciones en sí no aparecen en los datos brutos de la blockchain: son solo una alternativa amigable para intercambiar scripts de bloqueo.
Tipos
¿Cuáles son los tipos de dirección?
Diferentes tipos de dirección corresponden a diferentes patrones de scripts de bloqueo estándar: P2PKH, P2SH, P2WPKH, P2WSH, P2TR.
No uses ninguna de las direcciones de ejemplo. No tienes la clave privada para desbloquear bitcoins enviados a ellas.
P2PKH (Base58)
Una dirección 1 contiene un hash de clave pública y corresponde a un script P2PKH. Es una codificación Base58Check del hash, con el byte de versión 00 (que fuerza el primer carácter a ser "1").
P2SH (Base58)
Una dirección 3 contiene un hash de script y corresponde a un script P2SH. Codificación Base58Check con el byte de versión 05.
Dirección (Base58)
Las direcciones Base58 son sensibles a mayúsculas/minúsculas.
P2WPKH y P2WSH (Bech32)
Las direcciones bc1q usan la codificación Bech32 con la versión de witness 0. Un programa de 20 bytes es P2WPKH; uno de 32 bytes es P2WSH.
P2TR (Bech32m)
Las direcciones bc1p usan la codificación Bech32m con la versión de witness 1 y un programa de 32 bytes.