summaryrefslogtreecommitdiff
path: root/02/b6352581613ea303f4f675df0ae1c03326ebe1
blob: df2ecff2c2bb025fde1e7136164d34ff2d7e3e2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Return-Path: <lists@achow101.com>
Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 57685C0037
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 15 Jan 2024 23:30:19 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp4.osuosl.org (Postfix) with ESMTP id AB10141DE7
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 15 Jan 2024 23:30:18 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org AB10141DE7
Authentication-Results: smtp4.osuosl.org; dkim=pass (2048-bit key,
 unprotected) header.d=achow101.com header.i=@achow101.com header.a=rsa-sha256
 header.s=protonmail3 header.b=LFdWvZtW
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level: 
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 
 DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,
 DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 URIBL_SBL_A=0.1] autolearn=ham autolearn_force=no
Received: from smtp4.osuosl.org ([127.0.0.1])
 by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id D_JpH2bILiIP
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 15 Jan 2024 23:30:17 +0000 (UTC)
Received: from mail-0201.mail-europe.com (mail-0201.mail-europe.com
 [51.77.79.158])
 by smtp4.osuosl.org (Postfix) with ESMTPS id 42E8141DDE
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 15 Jan 2024 23:30:16 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 42E8141DDE
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=achow101.com;
 s=protonmail3; t=1705361406; x=1705620606;
 bh=ChvbTvTwUdwnkJLeudY28cAwB2KZdggF4DtSVwXycPo=;
 h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector;
 b=LFdWvZtWCUaLr2UAPv72JhwCcxKanMZAN4onfiYVfU4L9wEzWWRLlY3NKcnASpas7
 5qjnxur09gsFjdCl2hhAntrPm1C3UQuJhWYbNJBIq9m3mFqM02Pptm5tCY7eJbQ7Kp
 lNqyFW0DH3o1dNDRKrtYdBDT/iiniomoP9DtQZ2qvOHDNVzSDXv6T7zTAP8euNZ+f5
 xPmfh34Zcsw/LJ8Sf4xTbiPaH6/mIgbrsLwz+pWr9wnsBWsamVExtoCck45+FkaBs7
 DpGPOZOO2T+1h51OpCZm3sWqojHlgQ5pSG6FOspok1pXtRwxXYqPsZHRHQOhysj+l1
 M5A4t28WfSGWg==
Date: Mon, 15 Jan 2024 23:29:46 +0000
To: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>,
 bitcoindev@groups.io
From: Ava Chow <lists@achow101.com>
Message-ID: <5d299fc4-8809-4f32-a9b8-17e353d6ff30@achow101.com>
Feedback-ID: 53660394:user:proton
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Mailman-Approved-At: Tue, 16 Jan 2024 00:28:19 +0000
Subject: [bitcoin-dev] MuSig2 derivation, descriptor, and PSBT field BIPs
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Jan 2024 23:30:19 -0000

Hi All,

In October I sent the MuSig2 descriptor and PSBT field BIPs to the list.=20
Since then, I've made a few changes to the BIPs and am looking for=20
feedback on these.

The most significant change is the addition of third BIP which describes=20
how the synthetic xpubs are constructed and derived. This is split from=20
the descriptors BIP as I felt that the PSBT fields BIP needed to=20
reference this process too, and referencing the descriptors BIP for that=20
seemed a bit odd.

Otherwise, the descriptors BIP is unchanged, although I am open to=20
Salvatore's suggestion of dropping the ranged derivation within the=20
expression and only allow ranged derivation of the aggregate pubkey itself.

I've also made a change to the PSBT fields BIP where the aggregate=20
pubkey is included as a plain pubkey rather than as xonly. I think this=20
change is necessary for to make discovering derived keys easier. The=20
derivation paths for derived keys contain the fingerprint of the parent=20
(i.e. the aggregate pubkey) and the fingerprint requires the evenness=20
bit to be serialized. So the aggregate pubkey in the PSBT fields need to=20
contain that evenness information in order for something looking at only=20
the PSBT to be able to determine whether a key is derived from an=20
aggregate pubkey also specified in the PSBT.

The full text of the BIPs can be found at the following:
* Derivation:=20
https://github.com/achow101/bips/blob/musig2/bip-musig2-derivation.mediawik=
i
* Descriptors:=20
https://github.com/achow101/bips/blob/musig2/bip-musig2-descriptors.mediawi=
ki
* PSBT:=20
https://github.com/achow101/bips/blob/musig2/bip-musig2-psbt.mediawiki

Thanks,
Ava Chow