Understanding Bitcoin Address Types and Their Key Differences

·

When you start using Bitcoin, one of the first concepts you'll encounter is the "address." You need to provide an address to receive Bitcoin payments, and you often use it to check transaction status on a block explorer. Many people think of a Bitcoin address as a bank account number for receiving funds, but this comparison can be confusing when you face choices like selecting an address type in a wallet—such as Bech32 (SegWit), P2PKH, or Nested-SegWit (P2SH). This guide explains Bitcoin address types, their structures, and economic differences to help you make informed decisions.

What Is a Bitcoin Address?

A Bitcoin address is a encoded representation of key data used in a standardized Bitcoin script. Special encoding methods make addresses easier to share and provide error-checking capabilities. The economic efficiency of an address depends on the underlying script's efficiency within the Bitcoin network.

Standardized Bitcoin Scripts

Bitcoin operates on a peer-to-peer network using a system called Unspent Transaction Output (UTXO). Each UTXO acts like a digital check, specifying an amount in satoshis and a scriptPubKey that defines the conditions for spending it. Satoshi Nakamoto designed Bitcoin Script, a programming language, to create flexible spending conditions.

To maintain network security, only standardized scripts are relayed freely across the network. These scripts are proven to be concise and safe. Non-standard scripts, even if valid, must be submitted directly to miners, reducing potential risks.

The earliest standardized scripts were Pay-to-Public-Key-Hash (P2PKH) and Pay-to-Public-Key (P2PK). These scripts require a digital signature from the corresponding private key to spend the funds.

Example of a P2PKH script:

OP_DUP OP_HASH160 55ae51684c43435da751ac8d2173b2652eb64105 OP_EQUALVERIFY OP_CHECKSIG

How Address Encoding Works

Base58 Encoding

Satoshi Nakamoto developed Base58 encoding to make Bitcoin addresses user-friendly. Base58 removes ambiguous characters like 0, O, I, and l from Base64 to prevent visual confusion and errors. This encoding shortens the data and includes a checksum for error detection.

Before encoding, a version byte (prefix) and checksum are added to the key data (e.g., public key hash). For example, the hash 55ae51684c43435da751ac8d2173b2652eb64105 becomes the address 18p3G8gQ3oKy4U9EqnWs7UZswdqAMhE3r8 after Base58 encoding.

Bech32 Encoding

Bech32, defined in BIP 0173, was introduced with the Segregated Witness (SegWit) upgrade. It uses a 32-character set (lowercase letters and numbers, excluding '1', 'b', 'i', 'o'). Benefits include:

A SegWit P2WPKH address looks like bc1q2kh9z6zvgdp4mf634jxjzuajv5htvsg9ulykp8.

Bech32m Encoding

Bech32m (BIP 0350) fixes a vulnerability in Bech32 where certain modifications could bypass checksum validation. It is used for Taproot addresses (P2TR), which start with bc1p.

Economic Differences Between Address Types

Transaction fees in Bitcoin depend on the data size (in virtual bytes or vBytes) of a transaction. SegWit scripts (P2WPKH, P2WSH, P2TR) store witness data (e.g., signatures) outside the main transaction, reducing their effective size and fees.

👉 Compare transaction fee estimates

Common Bitcoin Address Types

P2PKH (Legacy)

P2SH (Compatibility Focused)

P2WPKH (Native SegWit)

P2WSH (Native SegWit Multi-Sig)

P2TR (Taproot)

Output Descriptors for Better Backup

Address encoding optimizes for sharing, but long-term storage requires a better method. Output descriptors describe how to generate a group of addresses from a master key, including derivation paths and checksums. For example:

wpkh([8b47f816/84h/0h/0h]xpub6C8vwWQ[...]NgW2SnfL/<0;1>/*)#c38kz2nr

This ensures reliable backup and wallet migration.

Frequently Asked Questions

What is the main advantage of SegWit addresses?
SegWit addresses reduce transaction fees by optimizing data storage. Signatures are stored outside the main transaction, lowering the virtual size and cost.

Can I send Bitcoin between different address types?
Yes, Bitcoin networks support transactions between any address types. Wallets handle the conversion automatically.

Why does my wallet show a different address each time?
Wallets generate new addresses for each transaction to enhance privacy and security. This practice, known as address rotation, prevents tracking.

Is Taproot widely supported?
Taproot support is growing but not universal. Most modern wallets support P2TR, but some older software may not.

What happens if I use the wrong address type?
Funds sent to an incorrect address may be lost permanently. Always verify the address type with your recipient or wallet.

How do I choose the best address type?
For lowest fees, use native SegWit (P2WPKH) or Taproot (P2TR). Ensure your recipient's wallet supports the chosen type.

Conclusion

Bitcoin addresses represent standardized scripts using efficient encoding methods. Understanding their types and economic differences helps you optimize fees and enhance security. Always use modern address types like SegWit or Taproot for better efficiency and privacy.

👉 Explore advanced wallet strategies