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
|
Delivery-date: Mon, 29 Sep 2025 17:09:11 -0700
Received: from mail-oo1-f56.google.com ([209.85.161.56])
by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
(Exim 4.94.2)
(envelope-from <bitcoindev+bncBDVJRHEUX4BRBHF75TDAMGQEFVXG5PI@googlegroups.com>)
id 1v3Nvb-0000WN-IK
for bitcoindev@gnusha.org; Mon, 29 Sep 2025 17:09:11 -0700
Received: by mail-oo1-f56.google.com with SMTP id 006d021491bc7-648b3bc226fsf1053260eaf.2
for <bitcoindev@gnusha.org>; Mon, 29 Sep 2025 17:09:11 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1759190945; cv=pass;
d=google.com; s=arc-20240605;
b=PIJ01XwRTSpHJCJ1npakBBO0j1PD1UuvQ+xwI3bCgVq4QeAv7mN5TuG5ktDFm+TmNV
OqvEtS0pd2qVHx9Bz9vKXHA2db0Ni9YhtBGWg1YFFTr10jkcDDlJCaWVbCfjDeSyCZlW
jwovZ+nFDNTKdbJnuHS4nMoMOE3Vn1SzjWUx9jXPYYuH2c9PFrhqAiUIySj00qTdSzef
aGarIgrXzhuGBaHRMFCOek8THFU8782abREzI7hcA42HWeldytyVAxswJe3MOc0VWKq2
uwkqqOHtap/lji8/69gplrsGfGCiuVWNXp0snuPeFKlFRTmqlFi2yH00SgeEbnDsrvit
xk5Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:in-reply-to:content-disposition
:mime-version:references:mail-followup-to:message-id:subject:cc:to
:from:date:sender:dkim-signature;
bh=6jkFxZTL+xY0G1mPfTrqaVFsChnICKyh+jKJ+jdUMMY=;
fh=ntszaklW0h/gGT7yJcfzbFWAAENDVhcJY3ueQnuueBc=;
b=aR4vByyJO/XTdQ+xMwk9MaepWnqQcYNMLZRptikSYseqYoWZGsuXD/JNeNH872ils7
lApAPH+13GOg0092YFxKEdpiH1oZNBOlK5WhSj32fokwJp46OWy2kBKDZ8UMLELeVbc2
l6QGUDStVrGWuAYNDwtw/Vqo8KJ543iHRsNn2CmvEINygddEWbkopZO3FR2HowGKnNZ3
rbV4/qIcVt26rDT8b0c6D2zFiHS0HWAAziqUxVE0FP+aSmwmJ6dJggbZsNeRVeYZ/63g
7krQ4HnOkgM0J7ildqbwugqGcfjnC8ULdf3pfX7mMYvpmN28ndUnZZQPwjLm+m/b1027
/+Rw==;
darn=gnusha.org
ARC-Authentication-Results: i=2; gmr-mx.google.com;
dkim=pass header.i=@reardencode.com header.s=mail header.b=rS7sItHB;
spf=pass (google.com: domain of freedom@reardencode.com designates 206.125.169.165 as permitted sender) smtp.mailfrom=freedom@reardencode.com;
dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=reardencode.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=googlegroups.com; s=20230601; t=1759190945; x=1759795745; darn=gnusha.org;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-authentication-results
:x-original-sender:in-reply-to:content-disposition:mime-version
:references:mail-followup-to:message-id:subject:cc:to:from:date
:sender:from:to:cc:subject:date:message-id:reply-to;
bh=6jkFxZTL+xY0G1mPfTrqaVFsChnICKyh+jKJ+jdUMMY=;
b=XHrTow89bonmQOfOswjy4bK0Nli8eMcBYeZAoARJzdiRi++1ciWjZtY9lX0wjsC2KB
m8ShWh3zl/z0sqkJ9k3icA94UKK3E6bHHl6dxXjKpprrgmxxLYC7FXxJROPCV9m78yD6
3FBL1dxatTeD1pPuycS4zgCDs4tdF61Cb36l8M9fQ846NLEFkn2vQg7eX6QGqJARQurI
iMNwen3bbooTsmIQ0vJPa5dq1u5Y+2phNNKPDjLTHY0/SQ1zWAY5nIy4z57ZGB4xnFcx
WLG9q8MeRTB4czFH/kDCkjinkuMxmg2ZKHhRq/6JZUIESBrWV2XlAxHb1/Wf9NFaeCVo
OlTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1759190945; x=1759795745;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-authentication-results
:x-original-sender:in-reply-to:content-disposition:mime-version
:references:mail-followup-to:message-id:subject:cc:to:from:date
:x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date
:message-id:reply-to;
bh=6jkFxZTL+xY0G1mPfTrqaVFsChnICKyh+jKJ+jdUMMY=;
b=YUqzNL9Jcj7oFH/DgX+V+qpRxJnoShAmevQhlCyH9guAPZ4d/bj7DYvn4NnjfyR/CE
/9Ulpd2XLtFZtuD4QWr+bDzSDCEh6Ejpqc4yi9L+XYvMf9p5WeUj6u4hvTxP11x0nh9Z
Kz6p7gFayIVqHnfpKWu7mZ0cf/gCfNGhOtdQgoIWAPHx7u99v7qWuUtcfj1MsuwpWnns
jejchAZXhnEIFZCJj9UtJs0hGL34iZ+K7G7nqwM8BNEzHwzgjQKq/BBiAS/UsHs1M7ZZ
gn5jrj2sIjwcs663f4tpvFHYN5BKYW15J4TfvfwVwugVxUOJhhnrCIsncbVb67lVsLKj
Tgeg==
Sender: bitcoindev@googlegroups.com
X-Forwarded-Encrypted: i=2; AJvYcCU3QDZ+fRehPcEaqk5PoF63M7wY4gsCyDlyUOCsupKdI2j2RvXGogFFkfEdSjKfXt/B/Yer4yGRywIz@gnusha.org
X-Gm-Message-State: AOJu0Ywr2Zm9E53Jv2wRxbd7+1F68vyQf4zMtlHzPBzhO3xGHocCcmiG
ZwEcR4JXyROt6JYG9R6groXZJqzIIWo8joT8sAddARm4QIEK5GKKNenz
X-Google-Smtp-Source: AGHT+IEquT6Thh6HuEyfQ3U1WL9rKF8fW5VWS8IVbYS+Nwi4paOW41rpUylIk1bLxhr9lU8RDkFOUg==
X-Received: by 2002:a05:6808:1893:b0:43f:4d31:5af7 with SMTP id 5614622812f47-43f5ebe9224mr6910116b6e.2.1759190944838;
Mon, 29 Sep 2025 17:09:04 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com; h="ARHlJd7l2+cd/LTIHz3zS2HaI+uHBYd6NADWQzaHGe9u5sn15g=="
Received: by 2002:a4a:d0a8:0:b0:64a:2b0d:346e with SMTP id 006d021491bc7-64a2b0d34afls3158eaf.1.-pod-prod-09-us;
Mon, 29 Sep 2025 17:09:00 -0700 (PDT)
X-Received: by 2002:a05:6808:1388:b0:43f:5d93:3e55 with SMTP id 5614622812f47-43f5d9348b3mr6029291b6e.33.1759190940526;
Mon, 29 Sep 2025 17:09:00 -0700 (PDT)
Received: by 2002:a05:6808:1a15:b0:43f:5b9f:a4a0 with SMTP id 5614622812f47-43f5e0fa8c5msb6e;
Mon, 29 Sep 2025 15:55:13 -0700 (PDT)
X-Received: by 2002:a17:902:cf09:b0:27e:f1d1:74e0 with SMTP id d9443c01a7336-27ef1d178a0mr169532725ad.17.1759186512102;
Mon, 29 Sep 2025 15:55:12 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1759186512; cv=none;
d=google.com; s=arc-20240605;
b=bciLLpeNixdby/2hNysCAU8TQkpoBmvzFz//orUe8o+XRtKpXAbjijzWbpy75k4eHM
yZrhVQK3SftJCBjPxmKNNcIHVw4yXh77OG4EnPcFrzw8RklQ1u6EF5OB1+AQjj4nqKSX
Sgbrg0QRNoFxfPDlpBnWVuWMvLpLP9R7VV36fVQjbS0XrVH813uZa0uuGXu5ZCg1PTO7
nr2u+BaJVzAeAQLP1iSc9cPPnQtqZueC1CdRsl8f+U2/2gJPT1Yt5dkSenUd00MLavMy
PS4g7aNzQOxEqLsokuPP8TmLiX9gZABGT+rGSgMJUYazSMsTCmz4UGW0GVCko29dntLp
joNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
h=in-reply-to:content-disposition:mime-version:references
:mail-followup-to:message-id:subject:cc:to:from:dkim-signature:date;
bh=YoEfMpEXKNX7xLZ0wJyQ7MXwg5x1uOcxUUxK3yJt39U=;
fh=2Au7Q+0ofqLEIjZkA5VQCV+WqgBtcq+FeF2FoHbGrJU=;
b=Ho7o6OXqiD1CpRO9USxiXrHVxl1lTwnCknUhSgo0n9rFzEEeoQ93c1Z4mYlWrdzND3
xQkm0oNi9N9qjDgr07rOYYRFJpWvXMWzWTd65/d44HvU76lE8FeylwjYlFrp7pNeUU8Y
lQPX0P/JOJRHiip5aPeugeVfjPwTZRetsv8yBncCiuf9xvXZKjIiFMhhdFvReHX070/U
XaVOO6FESdAmRizYDarTNve+W0ZxsrSvwBTGNKAEObYnmHn5xRQ1g/Kp5IPxMhCdcsj9
b1jSLb2C9nKqNdCR7QQboeeXdTHhju1myTXvSVHo3iXuY9uYLKHre6i/ahrbe4Dvx3DQ
8ipA==;
dara=google.com
ARC-Authentication-Results: i=1; gmr-mx.google.com;
dkim=pass header.i=@reardencode.com header.s=mail header.b=rS7sItHB;
spf=pass (google.com: domain of freedom@reardencode.com designates 206.125.169.165 as permitted sender) smtp.mailfrom=freedom@reardencode.com;
dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=reardencode.com
Received: from mail.reardencode.com (mail.reardencode.com. [206.125.169.165])
by gmr-mx.google.com with ESMTPS id d9443c01a7336-27ed67a5467si5535355ad.3.2025.09.29.15.55.11
for <bitcoindev@googlegroups.com>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Mon, 29 Sep 2025 15:55:11 -0700 (PDT)
Received-SPF: pass (google.com: domain of freedom@reardencode.com designates 206.125.169.165 as permitted sender) client-ip=206.125.169.165;
Date: Mon, 29 Sep 2025 15:55:01 -0700
From: Brandon Black <freedom@reardencode.com>
To: Rusty Russell <bitcoin-dev@rustcorp.com.au>
Cc: bitcoindev@googlegroups.com, Julian Moik <julianmoik@gmail.com>
Subject: Re: [bitcoindev] [4/4] New Opcodes for Tapscript v2
Message-ID: <aNsORZGVc-1_-z1W@console>
Mail-Followup-To: Rusty Russell <bitcoin-dev@rustcorp.com.au>,
bitcoindev@googlegroups.com, Julian Moik <julianmoik@gmail.com>
References: <87y0q0m8vz.fsf@rustcorp.com.au>
<87tt0om8uz.fsf@rustcorp.com.au>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Disposition: inline
In-Reply-To: <87tt0om8uz.fsf@rustcorp.com.au>
X-Operating-System: Linux 6.12.47 x86_64
X-Original-Sender: freedom@reardencode.com
X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass
header.i=@reardencode.com header.s=mail header.b=rS7sItHB; spf=pass
(google.com: domain of freedom@reardencode.com designates 206.125.169.165 as
permitted sender) smtp.mailfrom=freedom@reardencode.com; dmarc=pass
(p=NONE sp=NONE dis=NONE) header.from=reardencode.com
Precedence: list
Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com
List-ID: <bitcoindev.googlegroups.com>
X-Google-Group-Id: 786775582512
List-Post: <https://groups.google.com/group/bitcoindev/post>, <mailto:bitcoindev@googlegroups.com>
List-Help: <https://groups.google.com/support/>, <mailto:bitcoindev+help@googlegroups.com>
List-Archive: <https://groups.google.com/group/bitcoindev
List-Subscribe: <https://groups.google.com/group/bitcoindev/subscribe>, <mailto:bitcoindev+subscribe@googlegroups.com>
List-Unsubscribe: <mailto:googlegroups-manage+786775582512+unsubscribe@googlegroups.com>,
<https://groups.google.com/group/bitcoindev/subscribe>
X-Spam-Score: -0.8 (/)
Hi Rusty and Julian,
Thrilled to see the progress towards a greater script for all!
Scoping this work to a new Tapscript version that can be made available
both for SegWit v1 32-byte witness programs and potentially in BIP360
scripts makes good sense to me.
> ;OP_SEGMENT
In Tapscript 0xc2, should SEGMENT replace CODESEPARATOR rather than being
an additional opcode? The Tapscript 0xc0 CODESEPARATOR merely adds the
last position of the opcode to the sighash. With SEGMENT already
requiring the script to be split into execution chunks, it might make
sense for the positions of the current segment to be included in the
sighash as well which would make CODESEPARATOR redundant.
> ;OP_MULTI
Clever.
TX_SELECT_INPUT_AMOUNT|TX_INPUTSELECT_ALL OP_TX \
TXSELECT_NUM_INPUTS OP_TX OP_MULTI OP_ADD
Gets the sum of all input amounts.
> Bitcoin script was developed long before Taproot: OP_ECPOINTADD and OP_BYTEREV are the minimal missing opcodes required for creating Taproot trees in script.
You also need either SECP256K1_PRIVATE_TO_PUBLIC or OP_ECSCALARMUL to
convert the Taptweak to a point to be added to the internal key.
Still digesting the whole package, but these are my initial thoughts.
Best,
--Brandon
--
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 bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/aNsORZGVc-1_-z1W%40console.
|