Una dirección Bitcoin es una representación con red y checksum de un script estándar. P2PKH/P2SH usan Base58Check, SegWit v0 Bech32 y witness v1–16 Bech32m. No guarda bitcoin ni identifica a una persona: los UTXO quedan bloqueados por scripts.
Una salida contiene valor y bytes de scriptPubKey, nunca la cadena de dirección. La cartera decodifica red y checksum y crea un script estándar; el explorador hace la conversión inversa solo para scripts reconocibles. Un P2PK temprano o script no estándar puede carecer de dirección canónica. [Bitcoin whitepaper — Transactions and Privacy] [Bitcoin Core — destination encoders and decoders]
Base58Check concatena versión y payload, añade cuatro bytes de SHA256(SHA256(datos)) y codifica en Base58. En mainnet 0x00 es P2PKH y 0x05 P2SH, normalmente con 1 y 3; otras redes usan versiones distintas. Se omiten 0, O, I y l. El checksum de 32 bits detecta errores, no firma ni autentica. [Bitcoin Core — Base58Check implementation] [Bitcoin Core — destination encoders and decoders]
Bech32 usa HRP bc/tb, separador 1, versión witness, datos de 5 bits y seis caracteres de checksum. BIP173 se limita a v0; BIP350 exige Bech32m para v1–16 tras descubrir una debilidad de inserción. No admite mezcla de mayúsculas y minúsculas y tiene máximo 90 caracteres. Válida no significa red correcta ni versión soportada. [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later]
P2PKH/P2WPKH comprometen HASH160 de clave; P2SH HASH160 de redeemScript; P2WSH SHA256 de witnessScript. BIP141 define en v0 programas de 20 bytes P2WPKH y 32 bytes P2WSH. P2TR es v1 con una clave de salida x-only ajustada Q de 32 bytes que puede comprometer además un árbol Merkle. La política completa no cabe en la dirección. [BIP 141 — Segregated Witness consensus layer] [BIP 341 — Taproot validation and output keys]
P2PK publicaba la clave; P2PKH pospuso su revelación. BIP13/16 trasladaron scripts complejos a P2SH. BIP141/173 introdujeron witness versionado y Bech32 v0; BIP341/350 introdujeron Taproot v1 y Bech32m. No son prefijos cosméticos: convertir manualmente puede cambiar el script o quemar fondos. [BIP 13 — Address Format for pay-to-script-hash] [BIP 16 — Pay to Script Hash] [BIP 141 — Segregated Witness consensus layer] [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later] [BIP 341 — Taproot validation and output keys]
BIP32 deriva muchas claves. BIP44 usa purpose 44' para P2PKH, BIP84 84' para P2WPKH y BIP86 86' para P2TR; después separan cuenta, rama externa/cambio e índice. La seed no siempre conserva tipo, ruta, cuentas o multisig. Los output descriptors registran mejor claves, orígenes y scripts; la recuperación debe probarse. [BIP 32 — Hierarchical deterministic wallets] [BIP 44 — Multi-account hierarchy] [BIP 84 — Derivation for native P2WPKH] [BIP 86 — Derivation for single-key P2TR] [Bitcoin Core — Output descriptors]
Al gastar P2PKH/P2WPKH suele revelarse la clave pública; P2SH/P2WSH revelan redeemScript/witnessScript. P2TR ya contiene la clave x-only ajustada: key path muestra firma Schnorr, script path muestra hoja, control block y camino Merkle, no hojas no usadas. ‘La dirección oculta la clave’ no es universal. [BIP 141 — Segregated Witness consensus layer] [BIP 341 — Taproot validation and output keys]
Reutilizar enlaza cobros y fortalece clustering; las carteras generan recepción nueva y cambio interno. Una dirección no equivale a persona: puede ser compartida, un usuario tiene miles y custodios agrupan fondos. El ‘saldo’ de explorador suma UTXO de un script reconocido, no existe como cuenta de consenso; heurísticas common-input y change fallan. [Bitcoin whitepaper — Transactions and Privacy] [Bitcoin Core — Output descriptors]
Checksum, red, mayúsculas y pareja v0/Bech32 o v1+/Bech32m deben validarse. Aun así, malware puede sustituir otra dirección válida o un QR puede estar manipulado. Verifique la cadena completa en pantalla confiable y haga prueba si procede; mirar solo extremos permite look-alikes. Un pago confirmado al script equivocado no tiene deshacer. [Bitcoin Core — Base58Check implementation] [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later]
Una dirección no es URI BIP21 bitcoin: con amount/label/message ni Lightning invoice, offer o Lightning Address. BIP322 demuestra control de script bajo un esquema, no identidad o propiedad total. Para políticas y copias use descriptor o exportación nativa, no una dirección aislada. [BIP 21 — URI scheme] [BIP 322 — Generic signed message format] [Bitcoin Core — Output descriptors]
Para obtener la imagen más completa, lee esta entrada junto con Clave privada, Cartera, Salida de cambio, Bitcoin, SegWit, Taproot. También enlazan con esta entrada Hash criptográfico, SHA-256, Cold Storage, Watch-only Wallet.