Address (Bitcoin)
Quick Definition
A Bitcoin address is a unique string derived from a public key, used to receive bitcoin payments. It acts as a public identifier, allowing anyone to send funds while only the corresponding private key holder can spend them. Common formats include legacy (starting with 1), P2SH (3), Bech32 (bc1q for SegWit), and Bech32m (bc1p for Taproot).
Practical Examples
- Generate a new address in your wallet app, like the Blockstream app, and share it via QR code for a coffee payment.
- A merchant receives customer payments to a single address but uses hierarchical deterministic (HD) wallets to create fresh ones per new transaction.
- Track incoming funds on a blockchain explorer like Blockstream.info by entering the address to view balance and history.
- In multisig setups, combine multiple public keys into a P2SH address for shared custody, such as in a 2-of-3 vault.
Key Takeaways
- Addresses are hashed versions of public keys for brevity and error detection.
- Modern wallets prefer Bech32 (bc1q) and Bech32m (bc1p) for lower fees and better efficiency via SegWit and Taproot.
- Reuse is possible but discouraged; rotate addresses to enhance privacy and avoid linking transactions.
- All activity is transparent on the blockchain, promoting verifiable sound money without intermediaries.
In-Depth Explanation
Bitcoin addresses are created by hashing a public key—derived from a private key via elliptic curve cryptography, using methods like SHA-256 and RIPEMD-160, then encoding in Base58 or Bech32 for readability and checksums. For instance, a legacy P2PKH address starts with '1' and locks funds to a script requiring a signature from the public key. SegWit addresses (bc1q) separate witness data, reducing transaction size, while Taproot (bc1p) enables complex scripts to mimic simple ones for privacy and scalability. In a transaction, the address appears in outputs as a locking script; inputs reference previous outputs via their transaction ID and index. HD wallets, following BIP32 and BIP44 standards, derive addresses from a seed phrase using derivation paths like m/84'/0'/0'/0/0 for native SegWit. This hierarchical structure allows backup with one seed while generating unlimited addresses. Unlike traditional bank accounts, addresses enable pseudonymous, global transfers without permission, with full history queryable on explorers, fostering trust through transparency.
Why Bitcoiners Care
Addresses make global, permissionless payments possible. They are simple to share, easy to verify, and compatible across the entire Bitcoin network.