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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
|
Return-Path: <gsanders87@gmail.com>
Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])
by lists.linuxfoundation.org (Postfix) with ESMTP id 591D1C0012
for <bitcoin-dev@lists.linuxfoundation.org>;
Wed, 24 Nov 2021 16:00:55 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
by smtp4.osuosl.org (Postfix) with ESMTP id 3AD51403CD
for <bitcoin-dev@lists.linuxfoundation.org>;
Wed, 24 Nov 2021 16:00:55 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -1.848
X-Spam-Level:
X-Spam-Status: No, score=-1.848 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,
FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: smtp4.osuosl.org (amavisd-new);
dkim=pass (2048-bit key) header.d=gmail.com
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 S4V-IzUl3IRl
for <bitcoin-dev@lists.linuxfoundation.org>;
Wed, 24 Nov 2021 16:00:54 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.8.0
Received: from mail-yb1-xb2a.google.com (mail-yb1-xb2a.google.com
[IPv6:2607:f8b0:4864:20::b2a])
by smtp4.osuosl.org (Postfix) with ESMTPS id 365A6403C2
for <bitcoin-dev@lists.linuxfoundation.org>;
Wed, 24 Nov 2021 16:00:54 +0000 (UTC)
Received: by mail-yb1-xb2a.google.com with SMTP id f9so8597615ybq.10
for <bitcoin-dev@lists.linuxfoundation.org>;
Wed, 24 Nov 2021 08:00:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=l3xd5l/lKjsPF+YCXdpEMKbRDxTSduOcHeWtjCJsN6s=;
b=kqezx0cOn2m9dzZmTyPlCHODmTvCiQ43gV5qUVXLQmuUMSk8494HH4o3CU+zCnAxhq
QqBktbmX9jGBSvn+RctvSY7SpSlYNmvwc1Rydbzp+0XsSs6Zoy9cYnnxlt+du2xzDvER
rWRNkEFzkBZ7TjCRvcNR2uyLlQpZHAcucXUf+bawIeW2Dkv7ucC6C6kVy9JH8Uf6VRUQ
nYqG9tcv+h5FeNMrZSvgLa9WE7DCwRfXefTPRGS0LvQXXVe6PYP9/9e0Y3cNJgyg/dZJ
qpBzjLZs787/n68chhcDBIugjTKG2/VZDvnl99vnjotCjKJ4VDH3lry3B7bPpYPXbEJp
Kn3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=l3xd5l/lKjsPF+YCXdpEMKbRDxTSduOcHeWtjCJsN6s=;
b=jN2/g2J0nBMV054T7P6g0FcM6k5Kkv9MVSUVKr0Z6LmCGAra4rb8OM1eIDInzu1ImN
aDWoHgWUKLjXHFeAph49N/1MPzyMKwB+dB5UY4+sBwKqi+Zmyhwy+LbqJaUxCMwbW70w
VVIxoHglOqwDAPzG7SD757WI+VrDXtw7EHrIzSuVwE1hRwPL4SpiOl4UV7zGuSYPrNG3
NODzOIaAWBzPKpXV0S5onkXAINRqnELyOxGTilbYUAlCN3/K+gZi+pZU8xZvzC9J/Lb/
UC2X4AgLcK4Ly+EtGXfih7bqf8EgJqUpGUwff3WwqUMHhIrUFh6lH6oCbE1WztCcI3W9
QeGA==
X-Gm-Message-State: AOAM531rf8rl1ggw54ss9qL4lPh0hU5WTsNgGOV8iR9ea+LF8FWWBo+v
YteDvZ1VBGkt9zxaJq+wKEZfzzFCBvc4ZhyyCws=
X-Google-Smtp-Source: ABdhPJzz2N4fS7S55oBDJm8fmQTP3Eo+LCsdSs2FFc8FbV0EP+rfH4GCVEA8hd4Znhnshdlr4zEsP7jCq/vImSAL1Rs=
X-Received: by 2002:a25:da4b:: with SMTP id n72mr18912208ybf.496.1637769653169;
Wed, 24 Nov 2021 08:00:53 -0800 (PST)
MIME-Version: 1.0
References: <795f917b-3883-1827-f39b-35123b500f36@achow101.com>
<E2219CF0-4044-42BC-B782-69DCFF33A5A0@sprovoost.nl>
In-Reply-To: <E2219CF0-4044-42BC-B782-69DCFF33A5A0@sprovoost.nl>
From: Greg Sanders <gsanders87@gmail.com>
Date: Thu, 25 Nov 2021 00:00:42 +0800
Message-ID: <CAB3F3DuR3fETgD=h0cWZ_j6XcNRqHub_KReNj3-oa7DhaCq-iQ@mail.gmail.com>
To: Sjors Provoost <sjors@sprovoost.nl>,
Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="00000000000066b41605d18af6f9"
Subject: Re: [bitcoin-dev] Taproot Fields for PSBT
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: Wed, 24 Nov 2021 16:00:55 -0000
--00000000000066b41605d18af6f9
Content-Type: text/plain; charset="UTF-8"
I may be misunderstanding the question, but it seems essential data for the
finalizer role, which may not know such information on its own.
On Wed, Nov 24, 2021 at 11:15 PM Sjors Provoost via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:
> Hi Andrew,
>
> I'm confused why PSBT_IN_TAP_BIP32_DERIVATION and
> PSBT_OUT_TAP_BIP32_DERIVATION
> contain not just the derivation path for the xonlypubkey, but also the
> tapleaf merkle path.
>
> First I thought it was perhaps necessary in order for a signer to guess
> which
> script leaves it can sign with its own keys. But you can't really know
> that without
> actually seeing the script. When a signer looks at a script, it presumably
> already
> knows the leaf path.
>
> - Sjors
>
> Op 22 jun. 2021, om 23:22 heeft Andrew Chow via bitcoin-dev <
> bitcoin-dev@lists.linuxfoundation.org> het volgende geschreven:
>
> Hi All,
>
> I would like to propose a BIP which defines new fields for Taproot
> support in PSBT.
>
> The full text is below, and the rendered file can be found at
>
>
> Now at: https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
>
> -
> | Taproot Key BIP 32 Derivation Path
> | <tt>PSBT_IN_TAP_BIP32_DERIVATION = 0x16</tt>
> | <tt><xonlypubkey></tt>
> | The 32 byte X-only public key
> | <tt><hashes len> <leaf hash>* <32-bit uint> <32-bit uint>*</tt>
> | A compact size unsigned integer representing the number of leaf
> hashes, followed by a list of leaf hashes, followed by the master key
> fingerprint concatenated with the derivation path of the public key. The
> derivation path is represented as 32-bit little endian unsigned integer
> indexes concatenated with each other. Public keys are those needed to
> spend this output. The leaf hashes are of the leaves which involve this
> public key.
>
>
> |-
> | Taproot Key BIP 32 Derivation Path
> | <tt>PSBT_OUT_TAP_BIP32_DERIVATION = 0x07</tt>
> | <tt><xonlypubkey></tt>
> | The 32 byte X-only public key
> | <tt><hashes len> <leaf hash>* <32-bit uint> <32-bit uint>*</tt>
>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
--00000000000066b41605d18af6f9
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">I may be misunderstanding the question, but it seems essen=
tial data for the finalizer role, which may not know such information on it=
s own.</div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_=
attr">On Wed, Nov 24, 2021 at 11:15 PM Sjors Provoost via bitcoin-dev <<=
a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.l=
inuxfoundation.org</a>> wrote:<br></div><blockquote class=3D"gmail_quote=
" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);=
padding-left:1ex"><div style=3D"overflow-wrap: break-word;">Hi Andrew,<div>=
<br></div><div>I'm confused why PSBT_IN_TAP_BIP32_DERIVATION and PSBT_O=
UT_TAP_BIP32_DERIVATION</div><div>contain not just the derivation path for =
the xonlypubkey, but also the tapleaf merkle path.</div><div><br></div><div=
>First I thought it was perhaps necessary in order for a signer to guess wh=
ich</div><div>script leaves it can sign with its own keys. But you can'=
t really know that without</div><div>actually seeing the script. When a sig=
ner looks at a script, it presumably already</div><div>knows the leaf path.=
</div><div><br></div><div>- Sjors<br><div><br><blockquote type=3D"cite"><di=
v>Op 22 jun. 2021, om 23:22 heeft Andrew Chow via bitcoin-dev <<a href=
=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">bitcoin=
-dev@lists.linuxfoundation.org</a>> het volgende geschreven:</div><br><d=
iv><div>Hi All,<br><br>I would like to propose a BIP which defines new fiel=
ds for Taproot<br>support in PSBT.<br><br>The full text is below, and the r=
endered file can be found at<br></div></div></blockquote><div><br></div><di=
v>Now at:=C2=A0<a href=3D"https://github.com/bitcoin/bips/blob/master/bip-0=
174.mediawiki" target=3D"_blank">https://github.com/bitcoin/bips/blob/maste=
r/bip-0174.mediawiki</a></div><div><br></div><blockquote type=3D"cite"><div=
><div>-<br>| Taproot Key BIP 32 Derivation Path<br>| <tt>PSBT_IN_TAP_=
BIP32_DERIVATION =3D 0x16</tt><br>| <tt><xonlypubkey><=
/tt><br>| The 32 byte X-only public key<br>| <tt><hashes len>=
; <leaf hash>* <32-bit uint> <32-bit uint>*</tt><br=
>| A compact size unsigned integer representing the number of leaf<br>hashe=
s, followed by a list of leaf hashes, followed by the master key<br>fingerp=
rint concatenated with the derivation path of the public key. The<br>deriva=
tion path is represented as 32-bit little endian unsigned integer<br>indexe=
s concatenated with each other. Public keys are those needed to<br>spend th=
is output. The leaf hashes are of the leaves which involve this<br>public k=
ey.<br></div></div></blockquote><br><blockquote type=3D"cite"><div><div>|-<=
br>| Taproot Key BIP 32 Derivation Path<br>| <tt>PSBT_OUT_TAP_BIP32_D=
ERIVATION =3D 0x07</tt><br>| <tt><xonlypubkey></tt>=
<br>| The 32 byte X-only public key<br>| <tt><hashes len> <l=
eaf hash>* <32-bit uint> <32-bit uint>*</tt><br><br></=
div></div></blockquote></div><br></div></div>______________________________=
_________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">=
bitcoin-dev@lists.linuxfoundation.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.org/mail=
man/listinfo/bitcoin-dev</a><br>
</blockquote></div>
--00000000000066b41605d18af6f9--
|