spesmilo / spesmilo/electrum

BIP351 Private Payments Support

Open
#8,218 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
8.6k
Forks
3.5k
Avg merge
2d 8h
Merged PRs (30d)
61

Description

Private Payments (BIP351) is a stealth address system for Bitcoin that allows the user to post a static code and receive payments to a separate address space for each sender.

There are multiple use cases for Private Payments, but the static donation code seems to be the most compelling. A user wishing so solicit donations from the public may safely associate a payment code with her identity and receive funds in a relatively private manner.

The user story is similar to BIP47:

  • Receiver posts their payment code
  • Sender creates a notification payload and either posts it to the chain as an OP_RETURN or to some other bulletin board system
  • Receiver scans the chain for these notification payloads and upon finding one, generates the chain of stealth addresses

Improvements over BIP47:

  • Supports multiple address types
  • Better notification payload privacy
  • Smaller notification payloads

For more context, check out privatepayments.org and the Rust reference implementation.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read BIP351 and the linked Rust reference implementation first, then compare their requirements with Electrum's existing BIP47 support. The issue names no Electrum files or tests, so the work is not yet localized; done would mean defining and implementing BIP351 wallet support, including notification handling and stealth address generation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.