Blockchain & Cryptocurrency Glossary

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  • search-icon Clear Definitions
  • search-icon Practical
  • search-icon Technical
  • search-icon Related Terms

Payment Codes (BIP-47)

1 min read
Pronunciation
[pay-ment kohd-s bee-eye-pee four-tee-seven]
Analogy
Like giving someone a permanent ‘mailing code’ that lets you send them letters without ever reusing the same mailbox slot.
Definition
A Bitcoin protocol (BIP‑47) enabling reusable, privacy‑preserving payment codes that allow payers to derive unique one‑time addresses for recipients without on‑chain address reuse.
Key Points Intro
Payment codes automate stealth address generation for enhanced Bitcoin privacy.
Key Points

Notification transaction: Initiates shared secret exchange.

One‑time addresses: Derived via Diffie‑Hellman for each payment.

Unlinkability: Observers cannot link payments to same code.

Compatibility: Works with existing Bitcoin wallets supporting BIP‑47.

Example
Alice publishes her payment code; Bob sends a notification TX, then both derive a chain of unique addresses for future payments.
Technical Deep Dive
Payment code = xpub + metadata. Bob sends `OP_RETURN` notification with ephemeral pubkey. Both derive shared secret s = HMAC(xpriv_A, ephem_pub_B). Derive address = HMAC(s, counter) used as P2PKH.
Security Warning
Notification TX reveals linkage if not mixed; use mixers or CoinJoin concurrently.
Caveat
Requires initial on‑chain notification; adds small fee and linkage risk.

Payment Codes (BIP-47) - Related Articles

No related articles for this term.