-
Notifications
You must be signed in to change notification settings - Fork 53
Open
Labels
new featureNew feature or requestNew feature or request
Description
Supporting receiving for silent payments would be a very large undertaking. However, supporting sending should be relatively pretty trivial.
Tracking issues for SP sending support:
Single party payments:
All inputs are signed by the same entity (MuSig considered here)
Upstream
- Add "silentpayments" module implementing BIP352 (take 4, limited to full-node scanning) bitcoin-core/secp256k1#1765
- Add BIP 352 bindings (full node scanning only) rust-bitcoin/rust-secp256k1#876
- Add support for PSBTv2 rust-bitcoin/rust-bitcoin#3507 12: Unplanned because
rust-psbtwill replacebitcoin::psbt - Silent payments addresses (BIP352) rust-bitcoin/rust-bitcoin#2778
Local
- bdk_wallet coin select for SP inputs, single key types (
p2wpkh,p2pkh) - bdk_wallet coin select for SP inputs, always uses key path spend for TR SP inputs (
p2trkey path spend)
Multi party payments and hardware signers:
The inputs should be signed by different entities (e.g. CoinJoin)
Upstream
- Add DLEQ proof implementing BIP 374 bitcoin-core/secp256k1#1802 345
- rust-secp256k1 with DLEQ module (
rust-dleqis a candidate to fill this gap). 6 - Add BIP375 fields rust-bitcoin/rust-psbt#45
Local
- bdk workspace and dependencies upgrade to DLEQ support
Extras:
- RBF support: The removal of any input used to compute a silent payment output, or the addition of any new input included in the BIP 352: Inputs for Shared Secret Derivation requires the re-computation of the silent payment output.
- TRUC Transactions: Allow wallets without eligible outputs to create silent payment transactions to create a zero fee transaction with a key path spend taproot transaction to create a silent payment output using the first transaction output as input.
- rust-libsecp256k1 with MuSig2 and FROST support
- rust-miniscript with MuSig2 and FROST support
- bdk_wallet coin select for SP inputs, aggregate key types (MuSig2, FROST)
Footnotes
-
BlockStream/secp256k1-zkp implementation exposed for BitBox ↩
-
NUT12 DLEQ cashubtc/cdk#65 (Cashu Development Kit DLEQ Implementation in Rust) ↩
Sami32Sami32
Metadata
Metadata
Assignees
Labels
new featureNew feature or requestNew feature or request
Type
Projects
Status
Discussion