Hi all,

There is a practical need for a silent payments output descriptor format in
order to enable wallet interoperability and backup/recovery. There has been
some prior discussion on this topic [1][2] which this BIP proposal builds
on:

https://github.com/bitcoin/bips/pull/2047

In summary a new top level script expression sp() is defined, which takes
as it's first argument one of two new key expressions:

   - spscan1q... which encodes the scan private key and the spend public key
   - spspend1q... which encodes the scan private key and the spend private
   key

The outputs may then be generated by combining this key material with the
sender input public keys.

In order to reduce the scanning burden, a block height may be optionally
specified in the sp() expression as a second argument for a wallet
birthday. Finally, zero or more positive integers may be specified as
further arguments to scan for additional BIP352 labels. The change label (m
= 0) is implicitly included.

Examples:
sp(spscan1q...)
sp([deadbeef/352'/0'/0']spscan1q...,900000)
sp(spspend1q...,842579,1,2,3)
sp([deadbeef/352'/0'/0']spscan1q...,900000,1,5,10)

--Craig

[1]:
https://btctranscripts.com/bitcoin-core-dev-tech/2024-04/silent-payment-descriptors
[2]: https://delvingbitcoin.org/t/bip352-private-key-formats/2080

-- 
You received this message because you are subscribed to the Google Groups 
"Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/bitcoindev/CAPR5oBNCd65XaipOF%3DeXW7PT%2BJRVC4m6ey%2BX42aQsKa1YzA-Xw%40mail.gmail.com.

Reply via email to