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
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
|
Delivery-date: Thu, 05 Jun 2025 08:10:53 -0700
Received: from mail-oo1-f63.google.com ([209.85.161.63])
by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
(Exim 4.94.2)
(envelope-from <bitcoindev+bncBCL7RHHJZYJBB47GQ3BAMGQEUWJMT7Y@googlegroups.com>)
id 1uNCF2-0000ta-AZ
for bitcoindev@gnusha.org; Thu, 05 Jun 2025 08:10:53 -0700
Received: by mail-oo1-f63.google.com with SMTP id 006d021491bc7-60ed8bbe694sf973540eaf.0
for <bitcoindev@gnusha.org>; Thu, 05 Jun 2025 08:10:52 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1749136246; cv=pass;
d=google.com; s=arc-20240605;
b=K6WzcCf8KPjR10prvk9Rg+GFeGcYuFefzC6NeTeD/ruotkn+Fip3bJPKhZh/W/Xr9T
2uB38Qf0cOltCk6aAquRZBaIE3R/ZDAokZO34gu580+YRE2ocsl1Lu1MQgZtwJxsJDOC
IedUsrEXMURO0gGTmI7F9fznamode6i8TQYelh1SOsOBhxaPJzQaOuRHOTg5NqBWMSUp
674AM90qeTEc2OGvGODPlAAcdtJx4f9sZoDBDTOWmue4D13eW9vX1g/Afckgdw75eTUU
zCLDODtly8ed+ydS4LfUsUjccF1g3jlpA+A+28fH54ozsJ03eDRf5EWSQFrIJ4tWIqGc
VA1Q==
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:reply-to:mime-version:feedback-id
:references:in-reply-to:message-id:subject:cc:from:to:date
:dkim-signature;
bh=oqYFxeHXXo8flvSHbhzHnasrYgc3xqhZnwAb/OJKT0M=;
fh=YAD/fgmp7NNbEze/YZpQQV+cIxWAR5TXuH9DZXGNljI=;
b=NG3ruelmAbk5yeSPKM4GBKA8vdZkJRIuCpi1p9+9iMzOokyMFf1fGjFDOUMH6PuADq
dg+LFsZzZaIruX/xXoe3eGHe8cuMuVbbJEmSS4HS8C8MWEvSVDNdP9qdlEUgxONxRiKd
meBv1BgrfZrUIeocdBkIpOZKbdw4HueSdYoBa9JTftGXe/xtrYXT8Dtc1YTsTbvELz/h
LefAeu00bEbeUy1jkGnSRWSiv6g+Kc5h/3/7Cs6uJ/TEi3eS2M+oii8Yp9LOGguet4rc
r7UUb0qEuW43HExe8go3Gan72Q0GV9AvBXq6CcE02pXZXdLWH5VOB0opODZy49wlM1Ds
DzlA==;
darn=gnusha.org
ARC-Authentication-Results: i=2; gmr-mx.google.com;
dkim=pass header.i=@proton.me header.s=protonmail header.b=NlPnYML6;
spf=pass (google.com: domain of conduition@proton.me designates 185.70.43.16 as permitted sender) smtp.mailfrom=conduition@proton.me;
dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=proton.me
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=googlegroups.com; s=20230601; t=1749136246; x=1749741046; darn=gnusha.org;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:reply-to
:x-original-authentication-results:x-original-sender:mime-version
:feedback-id:references:in-reply-to:message-id:subject:cc:from:to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=oqYFxeHXXo8flvSHbhzHnasrYgc3xqhZnwAb/OJKT0M=;
b=Q5RuRc+0sukOcYKwoal39wtNQyx5snrO4w2sPRfGfzckjpiXyz1isDRSXRseIuUeMk
JK//j6k8zPrZaCdl7REgSd0ApzNGWAVWijveDJX9l+27BsIFZH5K0ih+WGvMPLelGRzX
dYXp505lBvaui7qp5UwpK3ACa9si6MPWKcwK+a6cb3Hsi3yGXQtUdxafTpO74VoLkbG3
bd88YvyiPh03+dozG/WseNWmJ4xazrSp4YlmSX89tAnhlt/PGU451FLMLjS366EOdFer
CfM2hrS4fzkNSYmrYA9WtOfDTB8BgkALGDYAhHAHlwfYLcExHVvoAWBLbl8hpnp7PH8s
qn5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749136246; x=1749741046;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:reply-to
:x-original-authentication-results:x-original-sender:mime-version
:feedback-id:references:in-reply-to:message-id:subject:cc:from:to
:date:x-beenthere:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=oqYFxeHXXo8flvSHbhzHnasrYgc3xqhZnwAb/OJKT0M=;
b=qqs/REW301lX7/FPdwqnSKBziqrz8k4JvkTR2d8RT5rHkF18tcLRxUU+suVjg8DwrN
C2pmQ1P68WDjTCWDekUJoqYco7UjkFIkBTLV2sBGDOyj3qAha7/z1qjCnRpZ1f1cUCjf
YdINSS6IMpA8E38E5atI9jsLcTKv723tlP5qqM3JfKNWBu5qBxeTQpGUHej07aLJzrt3
U9GR6ITgVd3hX/LmNgbZQj0tvjfNuaE2aEHvtEVptcSqbv5ryU5HBqGmbMhpwRz9h3VT
oHHo8T1gYetDBKLXbsWqVwt1RfLTS1+g9Nk/HRD/1mP54V1AeusbJrsfOGmOzonXaWQ/
HdKA==
X-Forwarded-Encrypted: i=2; AJvYcCV6VJl5CbUFQA25NvnRmzoNN49rLyOpe4jJ/L30Gsk67Le8QgeoG0Wjj5TYkViFp5CQMlB2fTbEjYKF@gnusha.org
X-Gm-Message-State: AOJu0YwRSTKLFbBt+Un0ErqeVWOEyRxI05VhoYAwCkc1KXCkZJ9PUBsf
F3SzSApoIcj1gewbr+9FdxhjLkZvYcZJaRC35owM7B/EP9TtLxYQ2HaZ
X-Google-Smtp-Source: AGHT+IFuBglNO2oAYJFELet6O8onK9OX9qLUFnsoPDAmPAistQx4eTuzXIMkpst4BSchYgYqc8JpSA==
X-Received: by 2002:a4a:c68d:0:b0:608:3493:b807 with SMTP id 006d021491bc7-60f27f04f75mr1974329eaf.2.1749136246294;
Thu, 05 Jun 2025 08:10:46 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com; h=AZMbMZdbS018jaHjh4EUhKNCb/k87Iyf2G3YzSa1NzRl2LUpHg==
Received: by 2002:a4a:e0c4:0:b0:60b:c628:4ae0 with SMTP id 006d021491bc7-60f2833a416ls357560eaf.0.-pod-prod-00-us;
Thu, 05 Jun 2025 08:10:42 -0700 (PDT)
X-Received: by 2002:a05:6808:2287:b0:3fe:aebe:dde7 with SMTP id 5614622812f47-408fabaa2bamr3296937b6e.2.1749136242822;
Thu, 05 Jun 2025 08:10:42 -0700 (PDT)
Received: by 2002:ab3:66d2:0:b0:2b1:9db7:3101 with SMTP id a1c4a302cd1d6-2b4d1c1dc73msc7a;
Thu, 5 Jun 2025 08:01:33 -0700 (PDT)
X-Received: by 2002:a05:651c:b0f:b0:32a:78f7:9c03 with SMTP id 38308e7fff4ca-32ac720454amr22973691fa.1.1749135689939;
Thu, 05 Jun 2025 08:01:29 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1749135689; cv=none;
d=google.com; s=arc-20240605;
b=J6B2gFDMltYzziPRndA+IM9E/Qs2VBVe4tXPNppjzaftTYnMRHUyPX/VrBq1y8+vmr
FRpu2OrHI6sh36IhRBSmFoDB5vZd1VlMKqgAhMLbSFwlzB/ZsKZxF+iPFHoI7DecIHmM
a8tOQ/w97+DB1Xcga7l0V3sgDtf9Ut3tEPFp9UBSednHlE9F8nf7HxHA7+yaHs4fiv19
43hiRrwkjhePNHt8A4NfwyYjs8aYH3TfmjyJ5OBaylDJuokUitJvxU6UtjSpmdmRcFPk
cU5w0IdYK6rUuWejpHg2eM2wSh11Bj47i7LBgFYPRyhUvzc3YXg2GUYnL67om7gVAHZd
LFcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
h=mime-version:feedback-id:references:in-reply-to:message-id:subject
:cc:from:to:date:dkim-signature;
bh=5ClNP8CRdCa/y2T8caIoOmwF3m9uhljIcIPQ0eyGpFs=;
fh=e79b22hAuSaC6/8oKXuBX7NFmH7iXgOLPA7D5tCVfno=;
b=MJYJr2rRrDLZ9M/Qas1IBLmdz+h3dj3JjbleTD1T4MX8WNCIc7lC2eH/q3CNk2HGtb
/CdtG7dRZ2AD1d+kQk5+wdelpVmaOozYf/mht0vlgiwAsWSOcaQ3OWKbyuIF4HLjEa2X
XUR58IPocfhT6dK5D9LpfryKNxxiftFFFWtltHvf0hvUDymeV7xj67qkD6STVDYWOqfd
QttUsDc/YohRy3zFRwhqYG9Rt9Ad1zGxzysMuGWJo4HzGayjyw5k2GCw1XFgUVcjddE3
0CQ/q7tzalstKrgNJ3+fHfUrFSx26Mwd4qWvmzCMh/znw0JiBQSDwKXQMMlCVFEWiD8a
UCYQ==;
dara=google.com
ARC-Authentication-Results: i=1; gmr-mx.google.com;
dkim=pass header.i=@proton.me header.s=protonmail header.b=NlPnYML6;
spf=pass (google.com: domain of conduition@proton.me designates 185.70.43.16 as permitted sender) smtp.mailfrom=conduition@proton.me;
dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=proton.me
Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch. [185.70.43.16])
by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-32a85a58c58si5006481fa.0.2025.06.05.08.01.28
for <bitcoindev@googlegroups.com>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 05 Jun 2025 08:01:28 -0700 (PDT)
Received-SPF: pass (google.com: domain of conduition@proton.me designates 185.70.43.16 as permitted sender) client-ip=185.70.43.16;
Date: Thu, 05 Jun 2025 15:01:23 +0000
To: Leo Wandersleb <lwandersleb@gmail.com>
From: "'conduition' via Bitcoin Development Mailing List" <bitcoindev@googlegroups.com>
Cc: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Subject: Re: [bitcoindev] Pre-emptive commit/reveal for quantum-safe migration (poison-pill)
Message-ID: <dupr0g-yupBxLl70WyuEcfAIt1DNXZDY6Z_RuhZsKwAQro1aONB8IIWcsAjytBQjsDmlXsoDjBNI5KEaMqfzqIWLvrXY60gLKxy4n9wKzQg=@proton.me>
In-Reply-To: <ea71bbd5-1325-445b-977f-a52b8017eab4n@googlegroups.com>
References: <2c3b7e1c-95dd-4773-a88f-f2cdb37acf4a@gmail.com> <CAFC_Vt7z5Vj=r90J8RoH3sC5592BO4G9U3L9gdcX+D3DruC1PQ@mail.gmail.com> <33f67e84-5d1c-4c14-80b9-90a3fec3cb36@gmail.com> <ZmYpRwmVDoJBUhiCRb909Lgwws_dT9d_CNUjfddVt128pyjdH0UcYfXgA_uguwRu44ZC8_x_SwlrooqKhyvdwJjnO1h3BvzQxVRbdCpVfjg=@proton.me> <5e393f57-ac87-40fd-93ef-e1006accdb55n@googlegroups.com> <CAFC_Vt5X2qrH9EaZNoMMx8367V7iYfXiCcAfT3ED86DtM7UH6A@mail.gmail.com> <5d9f6ac9-a623-4636-8a91-ee7c057bc08an@googlegroups.com> <44b5aa4c-a71b-49ed-beee-071140b16aacn@googlegroups.com> <ea71bbd5-1325-445b-977f-a52b8017eab4n@googlegroups.com>
Feedback-ID: 72003692:user:proton
X-Pm-Message-ID: d7acaee4d1b96f3b08862bca1583d87badc66280
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg=pgp-sha512; boundary="------5af7ff11c1bb66dbb0299a13576d1771d8c18aeb4ef4d5fc600f816269e7f575"; charset=utf-8
X-Original-Sender: conduition@proton.me
X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass
header.i=@proton.me header.s=protonmail header.b=NlPnYML6; spf=pass
(google.com: domain of conduition@proton.me designates 185.70.43.16 as
permitted sender) smtp.mailfrom=conduition@proton.me; dmarc=pass
(p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=proton.me
X-Original-From: conduition <conduition@proton.me>
Reply-To: conduition <conduition@proton.me>
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: -1.0 (-)
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------5af7ff11c1bb66dbb0299a13576d1771d8c18aeb4ef4d5fc600f816269e7f575
Content-Type: multipart/mixed;boundary=---------------------de912584191c92e30f13bb827246d093
-----------------------de912584191c92e30f13bb827246d093
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Hi Leo,
When a user reveals a transaction + commitment proof, are you
assuming it will be included in a block? Or is the reveal TX
somehow put "on ice" for those 144 blocks, and only then mined?=20
If the former, this implies your protocol would need to allow
double-spending of UTXOs even after many confirmations, as
Tim has noted. Otherwise having an older announcement wouldn't
give any advantage. I don't see how you'd implement this without
breaking many founding assumptions of Bitcoin, maybe introducing
some new special "confirmed-but-pending" state specifically
for the outputs of these reveal TXs.
If the latter, and the TX isn't immediately mineable, then how
exactly do nodes know when to consider it consensus-valid?
Imagine you're a node and you receive a reveal transaction
with a valid (old enough) commitment proof. The TX claims
to have been created 144 blocks ago and thus should be
mineable. But how do you verify that, if the TX wasn't
included in a past block?
regards,
conduition
On Thursday, June 5th, 2025 at 7:55 AM, Leo Wandersleb <lwandersleb@gmail.c=
om> wrote:
> Hi Boris, hi list,
> I think the weak announcement is a bad idea once EC crypto is broken to t=
he point where an attacker can break the key before the transaction gets mi=
ned but the strong announcements should still hold as they have less urgenc=
y. If the attacker sees the transaction in a strong announcement with a ful=
l transaction, he cannot win even if he gets into a block first, as the str=
ong announcement proves a prior commitment to that transaction and would wi=
n even if it gets mined only some blocks later.
>=20
> A scheme where the announcement does not contain the full transaction is =
problematic as the transaction might then turn out to not be valid. Then no=
des would wait for the "winning" wtxid blocking the UTXO forever.
>=20
> So the scheme is:
>=20
> After activation at block height X:
>=20
> 1. **Vulnerable UTXOs cannot be spent directly** - they require a prior a=
nnouncement
> 2. **Commitment** to a wTXID that spends the vulnerable UTXO. Multiple wT=
XIDs can be stored in a hash tree in an OP_RETURN
> 3. **Reveal** full transaction with proof of prior commitment but not as =
a normal transaction yet
> 4. **Counter Reveal**: For 144 blocks, others can reveal older commitment=
s. This protects exposed pubkeys!
> 5. **After 144 blocks**: The UTXO can be spent according to the strongest=
announcement (oldest commitment of valid transaction wins).
>=20
> As (5) is just the normal transaction, the scheme is a soft fork and comp=
atible with pre-recorded transactions where the keys were lost. It would at=
least double the on-chain costs for these vulnerable UTXOs as they would h=
ave to store the full transaction twice. We can make the announcements prun=
able again though.
>=20
> Best,
>=20
> Leo
> On Wednesday, 4 June 2025 at 20:40:32 UTC+2 Boris Nagaev wrote:
>=20
> > Hi Leo,
> >=20
> > I think it is possible to provide privacy for Satoshi and also reduce t=
he size of a weak announcement (strong announcements can already be small: =
just a txid or a Merkle root of many txids).
> >=20
> > Importantly, we cannot include the whole signed transaction in the weak=
announcement. Doing so would leak the EC public key immediately, allowing =
an attacker to create their own valid weak announcement. We must avoid reve=
aling the public key until the actual spending transaction is broadcast.
> >=20
> > We need a scheme where the EC public key is not leaked in a weak announ=
cement, but the legitimate owner can verify it, while no one else can. Also=
, once the EC public key is revealed, anyone should be able to verify a pas=
t weak announcement (to validate the transaction when it is broadcast). Thi=
s reduces to the following requirement: we need a proof of knowledge of the=
EC public key that can be verified if the public key is known and provides=
no information otherwise.
> >=20
> > I think this is called a zero-knowledge proof. One simple approach coul=
d be to apply a tagged hash function to the concatenation of the EC public =
key and the future wTXID, and include this in the weak announcement. The st=
ructure would be:
> >=20
> > - UTXO (previous TXID and output index)
> > - future spending wTXID
> > - proof :=3D tagged_hash(EC public key || wTXID)
> >=20
> > The wTXID is included in the concatenation to bind the proof to a parti=
cular future transaction. Otherwise, someone could copy a weak announcement=
and substitute their own wTXID.
> >=20
> > Satoshi could publish a strong announcement now and then monitor all we=
ak announcements involving his UTXOs. If someone publishes a weak announcem=
ent for one of his coins, he could verify the "proof" field. If it is valid=
, it would mean someone has cracked his key with a quantum computer, and he=
would need to use his strong announcement immediately to reclaim the funds=
before the attacker does.
> >=20
> > Best,
> > Boris
> >=20
> > On Wednesday, June 4, 2025 at 2:40:53=E2=80=AFPM UTC-3 Leo Wandersleb w=
rote:
> >=20
> > > Hi Boris,
> > > the announcements, weak and strong would have to not be transactions =
yet to be compatible with legacy nodes and thus keep it a soft-fork. They c=
ould be OP_RETURN data. Only after the 144 blocks, the upgraded full nodes =
would allow the inclusion of the actual transaction. This would mean the tr=
ansaction would be both in full in the OP_RETURN strong announcement and wi=
thout the witness part later, so it would be a bit expensive this way but m=
aybe we can do better?
> > >=20
> > > A node that gets updated would have to re-index all the blockchain to=
find announcements if we don't introduce a time frame for actually using t=
he announcements. We could also say that any announcement has to be used wi=
thin another 1000 blocks. Then the upgrading node would have to re-index th=
e last 1000 blocks.
> > >=20
> > > The legitimate owner of a UTXO might wait for an attack for privacy r=
easons. My proposal would allow Satoshi himself to make all his UTXOs quant=
um safe without any of us learning about him being active. He could add one=
64B OP_RETURN in 2027 and when QC becomes an issue, we would learn about h=
im having been active in 2027 in 2040 when actually somebody tried to attac=
k and not in 2027 when people started to panic because of imminent quantum =
breakthroughs.
> > > Hmm ... a problem is the weak announcement doesn't require keys, so a=
nybody could provoke Satoshi to come forward. Maybe we have to add key owne=
rship as a requirement for the "weak" announcement, too. So it should also =
contain a serialized transaction.
> > >=20
> > > Best,
> > >=20
> > > Leo
> > >=20
> > > On Wednesday, 4 June 2025 at 04:15:59 UTC+2 Nagaev Boris wrote:
> > >=20
> > > > Hi Leo,
> > > >=20
> > > > Thanks for the clarifications, much appreciated!
> > > > I have a couple of questions:
> > > >=20
> > > > 1. How is a weak announcement stored in the blockchain and in the U=
TXO set?
> > > > I assume it must be a transaction, correct? And it should somehow m=
ark
> > > > the UTXO as planned to be spent for 144 blocks?
> > > > How would older (non-upgraded) nodes interpret a transaction
> > > > containing a weak announcement? Would they just skip over it withou=
t
> > > > any special processing?
> > > > If so, is there a problem for nodes that upgrade after the fork: wo=
uld
> > > > they have to reprocess all blocks since the fork to find and index =
all
> > > > missed weak announcements?
> > > >=20
> > > > 2. In the case of reclaiming a UTXO after a weak announcement by an
> > > > attacker: why would the legitimate owner wait for a weak announceme=
nt
> > > > at all?
> > > > If the EC public key was already leaked, it seems they should publi=
sh
> > > > a strong announcement themselves rather than wait. If the EC public
> > > > key wasn't leaked, there's nothing to worry about even if someone
> > > > publishes a weak announcement: they are most likely bluffing, since
> > > > they wouldn't have the actual public key.
> > > >=20
> > > > Best,
> > > > Boris
> > > >=20
> > > > On Tue, Jun 3, 2025 at 3:29=E2=80=AFPM Leo Wandersleb <lwand...@gma=
il.com> wrote:
> > > > >
> > > > > Hi conduition,
> > > > >
> > > > > Thanks for your careful analysis - excellent catches.
> > > > >
> > > > > You're absolutely right about the txid vulnerability. The commitm=
ent must be to the complete transaction including witness data (wTXID or eq=
uivalent) to prevent an attacker from pre-committing to unsigned transactio=
ns. This is essential - otherwise an attacker could indeed enumerate the UT=
XO set and create commitments without knowing the private keys.
> > > > >
> > > > > Regarding updates: You're correct that frequent updates would be =
needed as wallets receive new UTXOs. However, I don't see this as a major i=
ssue - users could batch their commitments periodically (say, monthly) rath=
er than after every transaction. The scheme is particularly important for e=
xisting UTXOs that already have exposed pubkeys (old P2PK, reused addresses=
, etc.). For new UTXOs, wallets should ideally migrate to quantum-safe addr=
esses once available. OpenTimestamps aggregation would indeed help with sca=
ling and provide plausible deniability about the number of UTXOs being prot=
ected.
> > > > >
> > > > > The time delay serves a different purpose than you might expect. =
It's not about preventing commitment forgery after pubkey exposure, but rat=
her about allowing priority based on commitment age when multiple parties c=
laim the same UTXO:
> > > > >
> > > > > 1. Weak announcement starts the 144-block window
> > > > > 2. During this window, anyone with a strong commitment can reveal=
it
> > > > > 3. The oldest valid commitment wins
> > > > >
> > > > > This creates the "poison pill" effect: an attacker might crack a =
key and try to spend a UTXO, but if the original owner has an older commitm=
ent, they can reclaim it during the window. The uncertainty about which UTX=
Os have poison pills makes attacking large "lost" UTXOs risky - hence less =
disruptive to the network.
> > > > >
> > > > > The delay essentially allows a "commitment priority contest" wher=
e age determines the winner, protecting users who prepared early while stil=
l allowing these users to not move their funds.
> > > > >
> > > > > Best,
> > > > >
> > > > > Leo
> > > > >
> > > > > --
> > > > > You received this message because you are subscribed to the Googl=
e Groups "Bitcoin Development Mailing List" group.
> > > > > To unsubscribe from this group and stop receiving emails from it,=
send an email to bitcoindev+...@googlegroups.com.
> > > > > To view this discussion visit https://groups.google.com/d/msgid/b=
itcoindev/5e393f57-ac87-40fd-93ef-e1006accdb55n%40googlegroups.com.
> > > >=20
> > > >=20
> > > >=20
> > > > --
> > > > Best regards,
> > > > Boris Nagaev
>=20
> --
> 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/bitcoinde=
v/ea71bbd5-1325-445b-977f-a52b8017eab4n%40googlegroups.com.
--=20
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 e=
mail to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/=
dupr0g-yupBxLl70WyuEcfAIt1DNXZDY6Z_RuhZsKwAQro1aONB8IIWcsAjytBQjsDmlXsoDjBN=
I5KEaMqfzqIWLvrXY60gLKxy4n9wKzQg%3D%40proton.me.
-----------------------de912584191c92e30f13bb827246d093
Content-Type: application/pgp-keys; filename="publickey - conduition@proton.me - 0x474891AD.asc"; name="publickey - conduition@proton.me - 0x474891AD.asc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="publickey - conduition@proton.me - 0x474891AD.asc"; name="publickey - conduition@proton.me - 0x474891AD.asc"
LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgp4ak1FWkRub0tSWUpLd1lCQkFI
YVJ3OEJBUWRBcnBZYWFjZDgwcXdocmNaQW9VbW9NSHNWS21iZWlPZUEKcFhXbk1ybFdPZkxOSzJO
dmJtUjFhWFJwYjI1QWNISnZkRzl1TG0xbElEeGpiMjVrZFdsMGFXOXVRSEJ5CmIzUnZiaTV0WlQ3
Q2pBUVFGZ29BUGdXQ1pEbm9LUVFMQ1FjSUNaQjRLV3p0aFBhenhRTVZDQW9FRmdBQwpBUUlaQVFL
YkF3SWVBUlloQkVkSWthMENNdHJMZGcxM2EzZ3BiTzJFOXJQRkFBQTZhQUVBM1RmNHdqSVoKYnox
K0diS0h4K09WQytNUXlVdi84RStoWUpjTE5QZnA0NEFBLzNiak5OTXN4WHdJTGZEM0xManNVVWFo
CitBV2JyblVjVUFqQ2R1d3hUT01LempnRVpEbm9LUklLS3dZQkJBR1hWUUVGQVFFSFFDSXYxZW5J
MU5MbAo3Zm55RzlVWk1wQ3ZsdG5vc0JrTmhQUVZxT3BXL3RKSkF3RUlCOEo0QkJnV0NBQXFCWUpr
T2VncENaQjQKS1d6dGhQYXp4UUtiREJZaEJFZElrYTBDTXRyTGRnMTNhM2dwYk8yRTlyUEZBQUFR
TFFEL2NCR2kwUDdwCkZTTkl2N1B6OVpkeUNVQjhzTy90dWZkV3NjQkNZK2ZMYTV3QkFNK0hTL3Jp
S014RGt0TkhLakRGc2EvUgpEVDFxUGNBYXZCaXc2dDZ4Ti9jRgo9Y3d5eAotLS0tLUVORCBQR1Ag
UFVCTElDIEtFWSBCTE9DSy0tLS0tCg==
-----------------------de912584191c92e30f13bb827246d093--
--------5af7ff11c1bb66dbb0299a13576d1771d8c18aeb4ef4d5fc600f816269e7f575
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: ProtonMail
wrsEARYKAG0FgmhBsTEJkHgpbO2E9rPFRRQAAAAAABwAIHNhbHRAbm90YXRp
b25zLm9wZW5wZ3Bqcy5vcmckpKSkwRYbT+95axteICChQc0m0HSkOTf+XfCs
stXbdRYhBEdIka0CMtrLdg13a3gpbO2E9rPFAADQ2AD/QLv2kQbOZUQOiexe
BHl1OxE2vkTnvlWDVV9WSOuW6ncA/18nqHARweGNhs76fAJpX2X/5+qHuqNQ
yzQtTfOokdQN
=+mZM
-----END PGP SIGNATURE-----
--------5af7ff11c1bb66dbb0299a13576d1771d8c18aeb4ef4d5fc600f816269e7f575--
|