1
0
mirror of https://github.com/bitcoin/bips.git synced 2026-06-29 17:39:57 +00:00

BIP392: Silent Payment Output Script Descriptors (#2047)

* Add sp() output descriptor format for BIP352 Silent Payments

* Update headers and remove space after comma in descriptors

* Add label ranges with examples

* Update with assigned number and adjust preamble for BIP3

* BIP392: Add table entry to README

* Add two argument key expression form and remove birthday and label arguments

* Add BIP392 sp() descriptor to BIP380 script expressions table

* Add sp() descriptor to BIP390 allowed expressions and add musig() example to BIP392

* Add changelog and version header to BIP390
This commit is contained in:
craigraw
2026-03-05 18:02:52 +02:00
committed by GitHub
parent b3ab91fa46
commit 41f9957630
4 changed files with 132 additions and 2 deletions

View File

@@ -7,6 +7,7 @@
Type: Informational
Assigned: 2024-06-04
License: CC0-1.0
Version: 0.2.0
Requires: 380, 328
</pre>
@@ -33,8 +34,8 @@ and [[bip-0389.mediawiki|BIP-389]].
===<tt>musig(KEY, KEY, ..., KEY)</tt>===
The <tt>musig(KEY, KEY, ..., KEY)</tt> expression can only be used inside of a <tt>tr()</tt> or
<tt>rawtr()</tt> expression as a key expression. It additionally cannot be nested within another <tt>musig()</tt>
The <tt>musig(KEY, KEY, ..., KEY)</tt> expression can only be used inside of a <tt>tr()</tt>, <tt>rawtr()</tt>
or <tt>sp()</tt> expression as a key expression. It additionally cannot be nested within another <tt>musig()</tt>
expression. Participant public keys may be repeated. The aggregate public key is produced
by using the <tt>KeyAgg</tt> algorithm on all KEYs specified in the expression after performing all
specified derivation. As with script expressions, KEY can contain child derivation specified by
@@ -118,6 +119,11 @@ are likely to be familiar with them.
The reference implementation is available in Bitcoin Core [[https://github.com/bitcoin/bitcoin/pull/31244|PR #31244]].
==Changelog==
* __0.2.0__ (2026-03-04) - Allow <tt>musig()</tt> inside <tt>sp()</tt> expressions.
* __0.1.0__ (2025-12-08) - Allow <tt>musig()</tt> inside <tt>rawtr()</tt> expressions.
==Acknowledgements==
Thanks to Pieter Wuille, Andrew Poelstra, Sanket Kanjalkar, Salvatore Ingala, and all others who