Bitcoin Pitfalls

2025-07-20   blogpage sketch crypto bitcoin


🔴 Critical (Loss of Funds or Chain Integrity)


Key Loss


Nonce Reuse in Signatures

  • Roles: core, wallet

  • Fix: Deterministic signing (RFC 6979) or Schnorr

  • BIPs: RFC 6979, BIP‑340


Poor Randomness


Transaction Malleability


Finality Delay

  • Roles: infra, wallet, dapp

  • Fix: Wait ≥ 6 confirmations

  • BIPs: (Concept — no specific BIP)


Signature Replay

  • Roles: infra, wallet, user

  • Fix: Apply replay protection during forks

  • BIPs: BIP‑143, BIP‑148


Time Lock Errors


Incorrect BIP Paths


Non-Deterministic Wallets


Multisig Misuse


UTXO Bloat

  • Roles: wallet, infra

  • Fix: Consolidate UTXOs

  • BIPs: (None)


Address Checksum Ignored

  • Roles: wallet, user

  • Fix: Use libraries enforcing Base58Check/Bech32

  • BIPs: BIP‑173


Wrong Fee or Input Selection


🟠 Major (Security, Privacy, or Resource Risks)


Change Output Exposure

  • Roles: wallet, infra, user

  • Fix: Coin control and output randomization

  • BIPs: (None)


RBF (Replace-by-Fee) Confusion

  • Roles: wallet, dapp

  • Fix: Detect/display RBF properly

  • BIPs: BIP‑125


Address Reuse

  • Roles: wallet, infra, user

  • Fix: Generate fresh address each tx

  • BIPs: Bech32 hygiene (BIP‑173)


OP_RETURN Misuse

  • Roles: core, infra

  • Fix: Favor off‑chain alternatives

  • BIPs: BIP‑62


Schnorr/Taproot Misuse


Script Complexity


Hard Fork Confusion

  • Roles: core, infra, wallet

  • Fix: Education + replay protection

  • BIPs: BIP‑148


Dust Outputs

  • Roles: wallet, infra

  • Fix: Avoid uneconomical UTXOs

  • BIPs: (None)


Fee Sniping / Overpayment


🟡 Moderate (UX Friction, Performance, Edge Cases)


Block Size vs Block Weight Confusion

  • Roles: core, wallet

  • Fix: Use vbytes, not raw size

  • BIPs: BIP‑141


Watch-Only Wallet Confusion

  • Roles: wallet, user

  • Fix: Clear UI labels and docs

  • BIPs: (None)


Non-Standard Transactions


BIP Compatibility Fragmentation


Time Warp Attack

  • Roles: core

  • Fix: Enforce Median Time Past

  • BIPs: BIP‑113


Dust Consolidation Timing

  • Roles: wallet

  • Fix: Consolidate when fees are low

  • BIPs: (None)


Non-Final Mempool Policy Differences

  • Roles: infra, wallet

  • Fix: Adapt to local mempool rules

  • BIPs: BIP‑125


Address Format Confusion




Incoming Internal References (0)

Outgoing Internal References (30)

  1. [[Key Loss (bitcoin)|Key Loss]]
    - **Roles:** `wallet`, `user`

  2. [[Nonce Reuse in Signatures (bitcoin)|Nonce Reuse in Signatures]]
    - **Roles:** `core`, `wallet`

  3. [[Poor Randomness (bitcoin)|Poor Randomness]]
    - **Roles:** `wallet`, `core`

  4. [[Transaction Malleability (bitcoin)|Transaction Malleability]]
    - **Roles:** `wallet`, `infra`, `core`

  5. [[Finality Delay (bitcoin)|Finality Delay]]
    - **Roles:** `infra`, `wallet`, `dapp`

  6. [[Signature Replay (bitcoin)|Signature Replay]]
    - **Roles:** `infra`, `wallet`, `user`

  7. [[Time Lock Errors (bitcoin)|Time Lock Errors]]
    - **Roles:** `wallet`, `core`

  8. [[Incorrect BIP Paths (bitcoin)|Incorrect BIP Paths]]
    - **Roles:** `wallet`

  9. [[Non-Deterministic Wallets (bitcoin)|Non-Deterministic Wallets]]
    - **Roles:** `wallet`

  10. [[Multisig Misuse (bitcoin)|Multisig Misuse]]
    - **Roles:** `wallet`, `infra`

  11. [[UTXO Bloat (bitcoin)|UTXO Bloat]]
    - **Roles:** `wallet`, `infra`

  12. [[Address Checksum Ignored (bitcoin)|Address Checksum Ignored]]
    - **Roles:** `wallet`, `user`

  13. [[Wrong Fee or Input Selection (bitcoin)|Wrong Fee or Input Selection]]
    - **Roles:** `wallet`

  14. [[Change Output Exposure (bitcoin)|Change Output Exposure]]
    - **Roles:** `wallet`, `infra`, `user`

  15. [[RBF (Replace-by-Fee) Confusion (bitcoin)|RBF (Replace-by-Fee) Confusion]]
    - **Roles:** `wallet`, `dapp`

  16. [[Address Reuse (bitcoin)|Address Reuse]]
    - **Roles:** `wallet`, `infra`, `user`

  17. [[OP_RETURN Misuse (bitcoin)|OP_RETURN Misuse]]
    - **Roles:** `core`, `infra`

  18. [[Schnorr/Taproot Misuse (bitcoin)|Schnorr/Taproot Misuse]]
    - **Roles:** `wallet`, `core`

  19. [[Script Complexity (bitcoin)|Script Complexity]]
    - **Roles:** `core`, `wallet`

  20. [[Hard Fork Confusion (bitcoin)|Hard Fork Confusion]]
    - **Roles:** `core`, `infra`, `wallet`

  21. [[Dust Outputs (bitcoin)|Dust Outputs]]
    - **Roles:** `wallet`, `infra`

  22. [[Fee Sniping / Overpayment (bitcoin)|Fee Sniping / Overpayment]]
    - **Roles:** `wallet`, `infra`

  23. [[Block Size vs Block Weight Confusion (bitcoin)|Block Size vs Block Weight Confusion]]
    - **Roles:** `core`, `wallet`

  24. [[Watch-Only Wallet Confusion (bitcoin)|Watch-Only Wallet Confusion]]
    - **Roles:** `wallet`, `user`

  25. [[Non-Standard Transactions (bitcoin)|Non-Standard Transactions]]
    - **Roles:** `core`, `wallet`

  26. [[BIP Compatibility Fragmentation (bitcoin)|BIP Compatibility Fragmentation]]
    - **Roles:** `wallet`, `infra`

  27. [[Time Warp Attack (bitcoin)|Time Warp Attack]]
    - **Roles:** `core`

  28. [[Dust Consolidation Timing (bitcoin)|Dust Consolidation Timing]]
    - **Roles:** `wallet`

  29. [[Non-Final Mempool Policy Differences (bitcoin)|Non-Final Mempool Policy Differences]]
    - **Roles:** `infra`, `wallet`

  30. [[Address Format Confusion (bitcoin)|Address Format Confusion]]
    - **Roles:** `wallet`, `user`

Outgoing Web References (49)
  1. en.bitcoin.it/wiki/BIP_0032
    • BIP‑32
  2. github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
    • BIP‑39
  3. github.com/bitcoin/bips/blob/master/bip-0044.mediawiki
    • BIP‑44
  4. ools.ietf.org/html/rfc6979
    • RFC 6979
  5. github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
    • BIP‑340
  6. en.bitcoin.it/wiki/BIP_0032
    • BIP‑32
  7. github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
    • BIP‑340
  8. github.com/bitcoin/bips/blob/master/bip-0141.mediawiki
    • BIP‑141
  9. github.com/bitcoin/bips/blob/master/bip-0143.mediawiki
    • BIP‑143
  10. github.com/bitcoin/bips/blob/master/bip-0062.mediawiki
    • BIP‑62
  11. github.com/bitcoin/bips/blob/master/bip-0143.mediawiki
    • BIP‑143
  12. github.com/bitcoin/bips/blob/master/bip-0148.mediawiki
    • BIP‑148
  13. github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
    • BIP‑65
  14. github.com/bitcoin/bips/blob/master/bip-0112.mediawiki
    • BIP‑112
  15. github.com/bitcoin/bips/blob/master/bip-0044.mediawiki
    • BIP‑44
  16. github.com/bitcoin/bips/blob/master/bip-0049.mediawiki
    • BIP‑49
  17. github.com/bitcoin/bips/blob/master/bip-0084.mediawiki
    • BIP‑84
  18. github.com/bitcoin/bips/blob/master/bip-0086.mediawiki
    • BIP‑86
  19. en.bitcoin.it/wiki/BIP_0032
    • BIP‑32
  20. github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
    • BIP‑39
  21. github.com/bitcoin/bips/blob/master/bip-0067.mediawiki
    • BIP‑67
  22. github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
    • BIP‑174
  23. github.com/bitcoin/bips/blob/master/bip-0380.mediawiki
    • BIP‑380
  24. github.com/bitcoin/bips/blob/master/bip-0173.mediawiki
    • BIP‑173
  25. github.com/bitcoin/bips/blob/master/bip-0125.mediawiki
    • BIP‑125
  26. github.com/bitcoin/bips/blob/master/bip-0143.mediawiki
    • BIP‑143
  27. github.com/bitcoin/bips/blob/master/bip-0125.mediawiki
    • BIP‑125
  28. github.com/bitcoin/bips/blob/master/bip-0173.mediawiki
    • BIP‑173
  29. github.com/bitcoin/bips/blob/master/bip-0062.mediawiki
    • BIP‑62
  30. github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
    • BIP‑340
  31. github.com/bitcoin/bips/blob/master/bip-0341.mediawiki
    • BIP‑341
  32. github.com/bitcoin/bips/blob/master/bip-0342.mediawiki
    • BIP‑342
  33. github.com/bitcoin/bips/blob/master/bip-0141.mediawiki
    • BIP‑141
  34. github.com/bitcoin/bips/blob/master/bip-0062.mediawiki
    • BIP‑62
  35. github.com/bitcoin/bips/blob/master/bip-0148.mediawiki
    • BIP‑148
  36. github.com/bitcoin/bips/blob/master/bip-0125.mediawiki
    • BIP‑125
  37. github.com/bitcoin/bips/blob/master/bip-0141.mediawiki
    • BIP‑141
  38. github.com/bitcoin/bips/blob/master/bip-0141.mediawiki
    • BIP‑141
  39. github.com/bitcoin/bips/blob/master/bip-0141.mediawiki
    • BIP‑141
  40. github.com/bitcoin/bips/blob/master/bip-0341.mediawiki
    • BIP‑341
  41. en.bitcoin.it/wiki/BIP_0032
    • BIP‑32
  42. github.com/bitcoin/bips/blob/master/bip-0044.mediawiki
    • BIP‑44
  43. github.com/bitcoin/bips/blob/master/bip-0049.mediawiki
    • BIP‑49
  44. github.com/bitcoin/bips/blob/master/bip-0084.mediawiki
    • BIP‑84
  45. github.com/bitcoin/bips/blob/master/bip-0086.mediawiki
    • BIP‑86
  46. github.com/bitcoin/bips/blob/master/bip-0113.mediawiki
    • BIP‑113
  47. github.com/bitcoin/bips/blob/master/bip-0125.mediawiki
    • BIP‑125
  48. github.com/bitcoin/bips/blob/master/bip-0173.mediawiki
    • BIP‑173
  49. github.com/bitcoin/bips/blob/master/bip-0350.mediawiki
    • BIP‑350

Receive my updates

Barış Özmen © 2025