Change Addresses and Privacy
8 min readarticleIncludes quiz · 4 questions
What is a Change Address?
- •Definition: A new address belonging to you where leftover funds are sent.
- •Purpose: Return excess value when spending UTXOs (since you must spend them entirely).
- •Privacy: Using a new change address prevents linking your transactions together.
- •Automatic: Good wallets automatically generate and use new change addresses.
- •Ownership: Change addresses are yours—derived from your seed phrase like any other address.
Key Definitions:
- •Change output: The output in a transaction that returns funds to the sender.
- •Address reuse: Using the same address multiple times (bad for privacy).
- •HD wallet: Hierarchical Deterministic wallet that generates new addresses from one seed.
- •Derivation path: The mathematical path used to generate each new address.
- •Gap limit: How many unused addresses a wallet checks when scanning the blockchain.
- •Coin control: Advanced feature letting you manually select which UTXOs to spend.
Example Transaction:
Alice wants to buy a pizza for 0.01 BTC. She has a UTXO worth 0.05 BTC.
Transaction:
Why New Change Addresses?
Bad: Reusing same address for change
HD Wallets (Hierarchical Deterministic):
Modern wallets use HD wallet standards (BIP32, BIP39, BIP44):
- •One seed phrase: Generates unlimited addresses
- •Deterministic: Same seed always generates same addresses in same order
- •Two chains: External (receiving) and internal (change) address chains
- •Derivation path: m/84'/0'/0'/0/5 (5th external address in first account)
- •Gap limit: Wallet scans ahead ~20 unused addresses to find all funds
Your 12/24-word seed can restore all your receiving AND change addresses.
Change Detection:
How can an observer tell which output is change?
Heuristics:
- •Round numbers: Payment (0.01 BTC) vs change (0.0399 BTC) → change is non-round
- •Address type: If sender uses SegWit but one output is legacy, that's probably payment
- •Output position: Some wallets always put change in position 1
- •Future spending: The output spent soon after is likely change (still in sender's control)
Mitigation:
- •Randomize output order
- •Use same address type for all outputs
- •CoinJoin (mix transactions with others)
- •Avoid round payment amounts when possible
Test Your Knowledge
This lesson includes a 4-question quiz (passing score: 75%).
Quiz functionality available in the mobile app.