Bitcoin vs Ethereum Address Philosophy

Overview

Bitcoin and Ethereum take fundamentally different approaches to address design and usage. These differences stem from their underlying transaction models and reflect distinct philosophies regarding privacy, state management, and user experience. Understanding these differences is essential when transitioning between ecosystems.

Transaction Model

Bitcoin: UTXO Model

Bitcoin uses the Unspent Transaction Output (UTXO) model. Each transaction consumes existing UTXOs as inputs and creates new UTXOs as outputs. An address's balance is the sum of all UTXOs associated with it, scattered across the blockchain.

  • No global state. Balance is calculated by scanning UTXOs.
  • Each UTXO is an independent, discrete unit of value.
  • Transactions can consume multiple inputs from different addresses.
  • Change outputs create new UTXOs, often to new addresses.

Ethereum: Account Model

Ethereum uses an account-based model similar to traditional banking. Each address has a global state containing its balance, nonce, and contract storage. Transactions modify this state directly.

  • Global state tracks each account's current balance.
  • Balance is a single value, not a collection of outputs.
  • Transactions transfer value between accounts.
  • State changes are atomic and immediate.

Address Reuse Philosophy

Bitcoin: Discouraged

Bitcoin strongly discourages address reuse for privacy and security reasons:

  • Privacy: Reusing addresses links transactions together, enabling blockchain analysis to track user activity.
  • Security: Spending from an address reveals the public key, reducing quantum resistance for any remaining funds.
  • Best Practice: Generate a new address for each transaction using hierarchical deterministic (HD) wallets.

Ethereum: Expected

Ethereum expects and encourages address reuse as a core design feature:

  • Identity: Addresses function as persistent identities for users and contracts.
  • State Continuity: Account state, including token balances and contract interactions, is tied to a single address.
  • User Experience: Users maintain one primary address for all interactions.

Address Types

Bitcoin: Multiple Formats

Bitcoin has evolved through several address formats, each with distinct features:

  • P2PKH: Legacy addresses starting with 1.
  • P2SH: Script hash addresses starting with 3.
  • P2WPKH: Native SegWit addresses starting with bc1q.
  • P2TR: Taproot addresses starting with bc1p.

Each format offers different trade-offs between compatibility, fees, privacy, and functionality. Users and applications must handle multiple address types.

Ethereum: Single Format

Ethereum uses a single address format for all purposes:

  • 40 hexadecimal characters prefixed with 0x.
  • Derived from the last 20 bytes of the Keccak-256 hash of the public key.
  • Same format for externally owned accounts (EOAs) and contract addresses.
  • Optional EIP-55 checksum encoding using mixed case.

Smart Contract Addresses

Bitcoin

Bitcoin does not natively have smart contracts in the Ethereum sense. Script-based addresses (P2SH, P2WSH) can encode spending conditions, but these are limited in functionality.

New with OP_NET

OP_NET extends Bitcoin with smart contract capabilities, using dedicated address formats P2OP for contract interactions.

Ethereum

Contract addresses are deterministically generated from the deployer's address and nonce (or using CREATE2 with a salt). Contracts have the same address format as user accounts but contain code and storage instead of a simple balance.

Privacy Considerations

Bitcoin

Bitcoin's design supports privacy through:

  • Single-use addresses as a recommended practice.
  • HD wallets generating unlimited addresses from one seed.
  • CoinJoin and mixing protocols for transaction obfuscation.
  • Taproot making complex scripts indistinguishable from simple payments.

Ethereum

Ethereum's account model creates inherent privacy challenges:

  • Address reuse makes transaction history fully linkable.
  • Token balances and contract interactions are publicly visible.
  • Privacy requires additional layers like zero-knowledge solutions.
  • ENS names further link addresses to real-world identities.

Key Derivation

Bitcoin

Bitcoin uses BIP32/BIP44 hierarchical deterministic derivation:

  • Single mnemonic generates unlimited addresses.
  • Different derivation paths for different address types.
  • Account structure with internal (change) and external (receiving) chains.
  • Gap limit determines address scanning depth during recovery.

Ethereum

Ethereum also supports BIP32/BIP44 but with simpler usage:

  • Typically uses a single address per wallet.
  • Standard derivation path: m/44'/60'/0'/0/0.
  • Multiple addresses possible but rarely used in practice.
  • No change address concept—remaining balance stays in place.

Summary

The table below compares Bitcoin and Ethereum:
Aspect Bitcoin Ethereum
Transaction Model UTXO Account
Address Reuse Discouraged Expected
Address Formats Multiple (P2PKH, P2SH, P2WPKH, P2TR) Single (0x-prefixed hex)
Privacy Model Privacy by default (new addresses) Transparent by default
State Storage Distributed across UTXOs Global account state
Balance Calculation Sum of UTXOs Direct state lookup
Contract Addresses Script hashes (limited) Deterministic from deployer