计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
bitcoin-privacy-silent-payments【效率与协作】Silent Payments (BIP352): single static address from which sender derives unique output per payment. Schnorr-based blinding; no notification tx needed. USE WHEN: implementing BIP352 client/wallet, evaluating vs BIP47, understanding scan cost trade-offs.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
A receiver publishes one static address (silent payment address). Senders compute a unique fresh output for each payment from the address + their own keys via Schnorr-based ECDH-like derivation.
No notification tx. No address rotation. Strong privacy by default.
Has scan key b_scan and spend key b_spend. Publishes:
silent_address = encode(B_scan, B_spend) bech32m
= scan pubkey + spend pubkey
For each payment:
a (or uses an input's privkey if
available + safe).S = ecdh(a, B_scan) = a * B_scan = b_scan * (a*G)P = B_spend + Hash(S || k) * G for k = 0, 1, 2, ...Receiver finds outputs via:
S = b_scan * input_pubkey.B_spend + Hash(S || 0) * G.The trade-off: receiver must scan every Taproot output of every tx for matches.
Two lines of work as of September 2026. The BIP0352 Index Server
Specification (silent-payments/BIP0352-index-server-specification,
still WIP, last pushed May 2026) standardises three server stacks —
Remote Scanner (ephemeral), Tweak Server (anonymous), My Scanner
(personalised) — over the already-deployed blindbit-oracle,
cake-esplora and Frigate indexers. Separately, BlindBit Oracle v2
drops filters entirely and streams per-output data; Rob Segers'
benchmark against taproot-only filters is in Optech #422
(2026-09-11).
Status as of September 2026.
sp1 addresses since 2.3.0 (October 2025);
BIP375 PSBT fields plus DLEQ proof verification for hardware-wallet
sends in 2.4.0 (February 2026); full receiving wallets, incl.
airgapped signers, in 2.5.0 (May 2026).frigate.2140.dev as a public
SP-capable server.silentpayment.hpp in libnunchuk.electrum-silent-payments-sender), not a core
feature.silentpayments module, added upstream in
v0.8.0 (August 2026). Sending and receiving; requires full
transaction data (no light-client scanning).silent-payments-* crate family (core / send / receive / scan /
psbt / descriptor) is a separate, also pre-1.0, Rust stack.Bitcoin Core has not shipped wallet-level silent payments. The
original PRs (#28122 "Implement BIP352", #28201 "sending") were closed
unmerged on 2026-05-12 and superseded by #35301 "Implement bip352
(take 2)" and #35302 "Sending (take 2)", both opened 2026-05-16;
#35302 and the older #32966 "Receiving" (opened 2025-07-14) are still
drafts. Core master carries the libsecp256k1 silentpayments
module via the 2026-07-23 subtree update, but no release up to and
including v31.1 (July 2026) contains it.
Two supporting BIPs are still Draft as of September 2026: BIP375
(sending silent payments with PSBTs) and BIP392 (sp() output script
descriptors). BIP352 itself is status Complete.
Hardware wallets: no longer a blocker for sending — BIP375 carries
the SP data in the PSBT and the signer proves its ECDH share with a
DLEQ proof (shipped in Sparrow 2.4.0). Receiving still needs b_scan
on a host that can scan; an airgapped signer holds only b_spend.
| Aspect | BIP47 | Silent Payments |
|---|---|---|
| Notification tx | Yes (one per pair) | No |
| Per-tx scan cost | Low (only your derivation) | High (every output) |
| Static address | Per-pair | Universal |
| Privacy | Good | Better |
| Standard | BIP47 (assigned 2015), Deployed | BIP352 (assigned 2023), Complete |
| Wallet adoption | Sparrow, Stack | Sparrow, Cake; Wasabi/Nunchuk send |
Adoption row as of September 2026.