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
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
|
Delivery-date: Fri, 04 Apr 2025 10:26:38 -0700
Received: from mail-qt1-f189.google.com ([209.85.160.189])
by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
(Exim 4.94.2)
(envelope-from <bitcoindev+bncBCXOL6U6XMBRBQNMYC7QMGQEPJ5LVWA@googlegroups.com>)
id 1u0koN-0003m0-US
for bitcoindev@gnusha.org; Fri, 04 Apr 2025 10:26:37 -0700
Received: by mail-qt1-f189.google.com with SMTP id d75a77b69052e-4766afee192sf57330411cf.0
for <bitcoindev@gnusha.org>; Fri, 04 Apr 2025 10:26:36 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1743787589; cv=pass;
d=google.com; s=arc-20240605;
b=BbI3HA2siCkLE4MEp/Jpk9DUUDAjLq6HY9eWufuyqtlG+HZVGGHdxXtKcqeXk9MHZa
3k+yHe/zIT05Yz4t1oNVPGWgwdr+s5vRzP4XQXwivSYt/cGLRURwk2lVRxSVWKOOZgIc
rbamiD8fVRnf3UqV+lf1ivCZl8noBAkgPwYKcWPKlD4/GMybmG97awscf6/BU+OeCwAr
PY5jHIVpA3fm0KYTRjyclQvNdG4ReqZy18Mz3OiYuHFa5GN+rLxFmY2XjqaJ4GuWmFjx
PcaIpIcwHMWTPKxCfwEU0B+YGSeypnkMT+igC6Y0nIffuNQxJwZ8IGnkO0OYdi+NHs7R
i0JA==
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:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:sender:dkim-signature
:dkim-signature;
bh=hDqkrcPBT7VZ503ZQDNDHEzBJm9DNjpmwwJxQG9xnAM=;
fh=UuwUlpcHxMDfm/kuooPmpoSs8qfP8WAjokZ+Tp1cIYI=;
b=Npf/CkIEfo8GM70cvvVLNP5TwoNN4NBMSAiXjIAY9bCPM0o7xp/eHxlcLtTpRmAfoC
K4JUTtJqFo2/DIEtHi+mTnjCFZpMOcQ7pTjSHCNgJCM1/yguCaqQ5sdUMiMoPA163LLJ
urLfirFHTNyszRPfmp/LFn6iVeTPJH0I8/kH7HP8Ach53YkvjooYNr2viHP41IdVWhWf
XosdkwAtyh1vH7dHuZ8h2XgpSq2VAFB6x5fVFK8v/ehtWFdV74MxXcKdNgXNUh44YdaQ
cDmxE1+naLpV+XPWbnl2l3f+cLVaDjKWmdutHZqlS76IG4PvcDpGg9BWSh12IPsfHtqm
wBUA==;
darn=gnusha.org
ARC-Authentication-Results: i=2; gmr-mx.google.com;
dkim=pass header.i=@gmail.com header.s=20230601 header.b=EmDNEfeh;
spf=pass (google.com: domain of dustinvonsandwich@gmail.com designates 2607:f8b0:4864:20::c36 as permitted sender) smtp.mailfrom=dustinvonsandwich@gmail.com;
dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;
dara=pass header.i=@googlegroups.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=googlegroups.com; s=20230601; t=1743787589; x=1744392389; 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:cc:to:subject:message-id:date:from:in-reply-to
:references:mime-version:sender:from:to:cc:subject:date:message-id
:reply-to;
bh=hDqkrcPBT7VZ503ZQDNDHEzBJm9DNjpmwwJxQG9xnAM=;
b=LVqX695jIovsE1GjQiDM2DT1oqlJBqn7ky3X8uW/D76u0OLPaIKLf8Ld4WdrQ2cECq
Hz4x9Jw2/aDaKX3F9qG6jrpc3FbXREzW63wIsrKaCTH/cZrkLkgIkYmpTyjDoGzqNkrd
xkTv1T6proS6i7AQuMNXvHC6mmaOC69D78d9y52AURR0HLLIX0TXks4Kwknu5buUj2eK
qqRHJNqLZtjK3QHonJ32ymcY6jkCC17lonkR8Hyq5SJPQp/eWrsoOnB00haA07jU2T32
JnXOayTdGzqNxv1jk9YhRnDlM7RAjly0PY7TXgfRSkzC4p46ai0Y1BhIujVqIDAFwTrv
cUYA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1743787589; x=1744392389; 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:cc:to:subject:message-id:date:from:in-reply-to
:references:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=hDqkrcPBT7VZ503ZQDNDHEzBJm9DNjpmwwJxQG9xnAM=;
b=T98kVPbXQyVeGorwFoloxUq1iGOaqExC7VQqKiyBEN3GGRjJGnVGv7F/6z3VSx+9do
aoKtpFt73N2ACD1EWEjNBpOAr+Cwb4ZFvvw8YnpFSEVdXqWSAzL5VP3HQgdQKuytdJzp
GGM1hg8phicLmvBynTEsvqrIB05hvD+RRcYzSm9/RfsbtZKte//bDUj9vmMbL9t8i5Pu
WQ36iLykg6EbLizHDaGY7daQgbyl7Ye8RKRVXQj427cWplAWxDd4slFjytCT8MLJTx+S
0ZrduIxgw2e2+4iWyJuWPl5SlLUmxC1GDq9ZaND+hNo8h6rOmlPA8dnmf/xOYhEQBxaT
FwlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1743787589; x=1744392389;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-authentication-results
:x-original-sender:cc:to:subject:message-id:date:from:in-reply-to
:references:mime-version:x-beenthere:x-gm-message-state:sender:from
:to:cc:subject:date:message-id:reply-to;
bh=hDqkrcPBT7VZ503ZQDNDHEzBJm9DNjpmwwJxQG9xnAM=;
b=FOw4a6HGb1V9sjg3OJHy45t1tcTVKHHAletGHnZg2BC6UvJxWoe1StfcZOvA5/0AcT
CJZnXDpXNzeqY+7OJSBZHUvNmhEN5Bkfzmk5R3XKYt+HIwrNySiIKrZ1Liigu7A48vbx
Xlk6x9MXEJfDKX23gK8mSeMvFqJ2jijBDstbTFSig79xI3QrqWd7hFDv16FglnxWfopY
ndpR3fq+zNWfnea1oD+v3hRXphq1Hz8OpF/waZZie3RXh2UGs6q5CaIYAWd37h88nA8A
ije/Un4KDFGS2eu8bs20d/P2i4sE/SjaXfdZYg/isiKMHoBLnqqsSET1p87GFWRdykXc
38kA==
Sender: bitcoindev@googlegroups.com
X-Forwarded-Encrypted: i=2; AJvYcCVBpbbAo845UiBGc/8mFD9swjUED5dFUp3MiJiRDvp3ZfLkK+jRomJmrMO2M0eW585LbKagJf+4fBPL@gnusha.org
X-Gm-Message-State: AOJu0YyOMhV0XKrhfHlRc8CWOg8PpWoztcJg3xolqKKMf/g0O+infPMS
yGkc1lTMEfOPdUAh42AL/PKJpZevB+lvWZhXt5EtFHFiiXkdV3Jz
X-Google-Smtp-Source: AGHT+IGGw79ExqTrjMTy6LPbBPUz8EZTjMbjcgRGsmCDGNiwZESq0YIh9LohP8+T0lGkyrytwPoWhw==
X-Received: by 2002:a05:622a:4cf:b0:477:6f2c:4a07 with SMTP id d75a77b69052e-479249037a7mr61546691cf.4.1743787588675;
Fri, 04 Apr 2025 10:26:28 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com; h=ARLLPAILyxchHTTk6jFkQWYQZ+jaF4qauzJi5rqjiN+MtXLOOw==
Received: by 2002:ac8:40d9:0:b0:476:b5d0:6c0 with SMTP id d75a77b69052e-4791634e434ls22314041cf.2.-pod-prod-04-us;
Fri, 04 Apr 2025 10:26:25 -0700 (PDT)
X-Received: by 2002:a05:620a:430c:b0:7c5:5cd6:5cea with SMTP id af79cd13be357-7c774d2cb64mr462684685a.15.1743787585507;
Fri, 04 Apr 2025 10:26:25 -0700 (PDT)
Received: by 2002:a05:620a:3c9:b0:7b6:d2da:e6ae with SMTP id af79cd13be357-7c76434178bms85a;
Fri, 4 Apr 2025 10:18:08 -0700 (PDT)
X-Received: by 2002:a05:620a:190f:b0:7c5:4de8:bf65 with SMTP id af79cd13be357-7c774dd6e50mr641215385a.36.1743787087948;
Fri, 04 Apr 2025 10:18:07 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1743787087; cv=none;
d=google.com; s=arc-20240605;
b=aE/s8PY/QRiOnMHzpFBXhTwS5G/KEpAs8HW2rhVLuDOmD9Doxu//bsf95sZiKDp7+s
UfnkzgZ46EDO8jKzvDogOsthl6MfnUH09CCfG8qcM0AmlTGtpUXt3meDI5ex+cb6+qXJ
85gXJlTbs8bwHcPoft96FwtDMsAC6u+5tVIkjZSwE5jdFN9jkpwMowwslkqzPn0z20/7
9jSdkgFlS+SAuKHhb4nophxg3aGrv5SVzBRbYYOUyc1Pk5zMXYWV43gjr7Vi8axWz+HR
nUAwEDOuDnr/wKGtTu8U9PhXKsYstQEB8EJqITzD+Rueoporwm7hk4noFPKTm2KXs9Cm
n7rw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:dkim-signature;
bh=hcRtRFOkr1rILqsaP8MRldVe8lbpdpCQboYgZHp9t3A=;
fh=MhNL3lrwfbsRO5DJHn9ZZ/LeA3+mAuX0vCziGEghh6s=;
b=Rd9uEAI2WfLsG1+ogiSSnO2teXfXWX6h3q5NlmSw3tTAlwAk70uk+qkzvPj4k2S07s
swepg8YcQtzGiYITl8kzFQUvzwIPKscg++NxbwXHoJ0oO0Ttt4G+NR0inWhXc1OXqMwh
CKzc6ih/sSeQ+PP6xAW0CHACdbayRxt7/zS1M68RNnLI/4WgDsSzOdFFj/QHQrCqTZv2
xximOO14dVtl0bIgleQDyNv7LjpxgvC5YXI5NdMr5VzKkYd70voFlFxu21cmg88DhMdl
iiT+hP9TyIKCTopzQnwOSQKl758kUxrNwNfD4gkUwMHN8VNhmJBIvvgCwk9BgeqCsxQD
JOMA==;
dara=google.com
ARC-Authentication-Results: i=1; gmr-mx.google.com;
dkim=pass header.i=@gmail.com header.s=20230601 header.b=EmDNEfeh;
spf=pass (google.com: domain of dustinvonsandwich@gmail.com designates 2607:f8b0:4864:20::c36 as permitted sender) smtp.mailfrom=dustinvonsandwich@gmail.com;
dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;
dara=pass header.i=@googlegroups.com
Received: from mail-oo1-xc36.google.com (mail-oo1-xc36.google.com. [2607:f8b0:4864:20::c36])
by gmr-mx.google.com with ESMTPS id 6a1803df08f44-6ef0efc047asi1709336d6.1.2025.04.04.10.18.07
for <bitcoindev@googlegroups.com>
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Fri, 04 Apr 2025 10:18:07 -0700 (PDT)
Received-SPF: pass (google.com: domain of dustinvonsandwich@gmail.com designates 2607:f8b0:4864:20::c36 as permitted sender) client-ip=2607:f8b0:4864:20::c36;
Received: by mail-oo1-xc36.google.com with SMTP id 006d021491bc7-601c469cce3so577798eaf.2
for <bitcoindev@googlegroups.com>; Fri, 04 Apr 2025 10:18:07 -0700 (PDT)
X-Gm-Gg: ASbGncv0wslRNL+vx5qFhWxo20ata1cYQdqYFj7WPGaIpz3UMJrM3r3PGtfadBgmwS4
rbe7EpAksisy5mLfb7rt6JW52wIsMe6Pp7NFNltteBHRwedTVqL+ExgRDFxLDXFMozTrQJyPQpM
ldbl0kXbRKdHuyBNRHFkBKnLpArm21iI7FVsqzcXSb4y37yhnH4HVsMUmjajD31DnEWdBAfw==
X-Received: by 2002:a05:6820:1c90:b0:604:117:1a5d with SMTP id
006d021491bc7-604157fe7fdmr1708558eaf.7.1743787087063; Fri, 04 Apr 2025
10:18:07 -0700 (PDT)
MIME-Version: 1.0
References: <CAEM=y+XMLuGH-MAfkYanfbU3Ynduw54jDVguKxgO2xEtnSEkZg@mail.gmail.com>
In-Reply-To: <CAEM=y+XMLuGH-MAfkYanfbU3Ynduw54jDVguKxgO2xEtnSEkZg@mail.gmail.com>
From: Dustin Ray <dustinvonsandwich@gmail.com>
Date: Fri, 4 Apr 2025 10:17:56 -0700
X-Gm-Features: ATxdqUFB7nHb0sOGJLn72-YVhypf0rzDMVwavdqyHvi-rO7xoAU2G7ZlP5KiVaU
Message-ID: <CAC3UE4K7AG96Njra3WSnt=1yPVZSnT7gktnwktaumPgOD0hU8Q@mail.gmail.com>
Subject: Re: [bitcoindev] Post Quantum Signatures and Scaling Bitcoin
To: Ethan Heilman <eth3rs@gmail.com>
Cc: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Content-Type: multipart/alternative; boundary="000000000000e376a00631f711ae"
X-Original-Sender: Dustinvonsandwich@gmail.com
X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass
header.i=@gmail.com header.s=20230601 header.b=EmDNEfeh; spf=pass
(google.com: domain of dustinvonsandwich@gmail.com designates
2607:f8b0:4864:20::c36 as permitted sender) smtp.mailfrom=dustinvonsandwich@gmail.com;
dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;
dara=pass header.i=@googlegroups.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.5 (/)
--000000000000e376a00631f711ae
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
This is a great post, thank you for sharing. I have one small tiny comment
that may or may not be relevant, but there is an existing gap in the
literature for a security proof that STARKs (rather FRI, the underlying
commitment scheme) is secure in a quantum adversary model. We conjecture
that it is, because it relies only on hashes as the primitive in an error
correcting code, but unlike other cryptographic primitives used or proposed
for critical security infrastructure, there is currently no formal security
argument for FRI against a quantum threat model that I am aware of. I'm not
sure how much this matters, but some may argue that stronger security
arguments are warranted for any potential change to the bitcoin signature
model in a PQ landscape. That's just my two cents anyways.
On Fri, Apr 4, 2025 at 9:34=E2=80=AFAM Ethan Heilman <eth3rs@gmail.com> wro=
te:
> I strongly believe Bitcoin will need to move to PQ signatures in the
> near future. The rest of this email is premised on this belief.
>
> PQ (Post Quantum) signatures present a problem for Bitcoin:
>
> First, they are large. Of the three proposed in BIP-360 [0], the
> smallest is 1.5kb for the public key + signature [1]. Without a
> discount this represents a massive reduction in Bitcoin's transaction
> volume due to the increase in transaction size of Bitcoin payment
> using such signatures.
> - Second, even if we discount PQ signatures and public keys so that
> the maximum number of transactions that can fit in a block is
> unchanged we still have the problem that these blocks and transactions
> will be an order of magnitude bigger. If it is the case that we can
> handle these extra bytes without degrading performance or
> decentralization, then consider the head room we are giving up that
> could be used for scalability.
>
> Beyond this there is also the risk that techniques could be developed
> to encode JPEGs and other data in these discounted PQ signatures or
> public keys. BIP-360 takes steps to make an abuse of this discount
> more difficult by requiring that a PQ signature and public key can
> only be written to the blockchain if they verify. We do not need PQ
> Signatures to be completely =E2=80=9CJPEG resistant=E2=80=9D, they just n=
eed PQ
> signatures to not enable significantly cheaper storage than payments.
> The degree to which the proposed PQ signature algorithms resist being
> repurposed as a storage mechanism is an open question and worth
> investigating.
>
> If it turned out PQ signatures could be used to encode data very
> cheaply, then Bitcoin faces the dilemma that if you discount PQ
> signatures, you make the JPEG problem worse and may price out the
> payment use case. If you don't discount PQ, you price out most people
> from sending payments in Bitcoin since non-PQ witness data can be used
> for storage
>
> I want to draw the community's attention to a solution that could not
> only address these problems but also increase Bitcoin=E2=80=99s scalabili=
ty
> (and privacy):
>
> Non-interactive Transaction Compression (NTC) for Transactions
> supporting PQ signatures. This is sometimes called Non-Interactive
> Witness Aggregation (NIWA) [2].
>
> This would require a new transaction type supporting PQ signatures.
> The miner of a block would then pull out the signatures and hash
> pointers from transactions to compress transaction data and
> non-interactively aggregate all the PQ signatures in all the
> transactions in a block, replacing them with one big STARK (STARKS are
> a form of SNARK which is PQ). This would make PQ signatures
> significantly smaller and cheaper than ECDSA and schnorr signatures.
>
> Consider the following back of the envelope math:
>
> 2 bytes per Input =3D 2 bytes per TXID, 0 bytes per signature
> 37 bytes per output =3D 32 bytes pubkey hash + 5 bytes value (max 2.8m
> BTC per output)
>
> 1-input-2-output transaction would be: 2 + 2*37 =3D 76 bytes
> (4,000,000/76)/(60*10) =3D ~87 txns/sec
>
> You could shave some bytes off the value, or add some bytes to the
> TXID. [3] provides a more detailed estimate, proposing 113.5 weight
> units (WU) for a 1-input-2-output transaction with no address reuse.
> However it does not consider TXID compression. If desired an
> account-based model could push this even further to 12 bytes per
> transaction per block [4]. This would enable approximately
> 4,000,000/(12*60*10) =3D 555 txns/second.
>
> A secondary benefit of having on-chain PQ payments only be ~76 bytes
> in size is that it fundamentally changes the pricing relationship
> between payments and on-chain JPEG/complex contracts. The problem with
> on-chain JPEGs is not that they are possible, but that they are price
> competitive with payments. At ~76 bytes per payment or better yet ~76
> bytes per LN channel open/close, JPEGs no longer present the same fee
> competition to payments as payments become much cheaper.
>
> Such a system would present scaling issues for the mempool because
> prior to aggregation and compression, these transactions would be 2kb
> to 100kb in size and there would be a lot more of them. It is likely
> parties producing large numbers of transactions would want to
> pre-aggregate and compress them in one big many input, many output
> transactions. Aggregating prior to the miner may have privacy benefits
> but also scalability benefits as it would enable cut-throughs and very
> cheap consolidation transactions. ~87/txns a second does not include
> these additional scalability benefits.
>
> Consider an exchange that receives and sends a large number of
> transactions. For instance between block confirmations customers send
> the exchange 10 1-input-2-output transactions in deposits and the
> exchange sends out 10 1-input-2-output transactions in withdrawals.
> The exchange could consolidate all of the outputs paying the exchange,
> including chain outputs, into one output and do the same for inputs.
> This would reduce not just size, but also validation costs.
>
> (10 * 2 + 20 * 2 * 37) + (10 * 2 + 20 * 2 * 37) =3D 3000 bytes
> becomes
> (10 * 2 + 11 * 2 * 37) + (2 + 11 * 2 * 37) =3D 1650 bytes
>
> If constructing these proofs turned out to be as expensive as
> performing POW, it would make block generation not progress free.
> Essentially you'd have a two step POW: proof generation and then the
> actual POW. Such a scenario would be very bad and cause the biggest
> miner to always be the one that generates blocks. A critical
> assumption I am making is that such proof generation is not
> particularly expensive in the scheme of POW. I am optimistic that
> proof generation will not be this expensive for two reasons
>
> There are PQ signature schemes which support non-interactive
> aggregation such as LaBRADOR [5]. Thus, the STARK wouldn=E2=80=99t need t=
o
> perform the block-wide signature aggregation and would only need to
> perform transaction compression, cut throughs and consolidation.
>
> We could make use of recursive STARKs [8] to allow miners to
> parallelize proof generation to reduce latency or to decentralize
> proof generation. Users creating transactions could perform
> non-interactive coinjoins with other users or settlement/batching.
> This would not only take proof generation pressure off of the miners
> and reduce the strain on the mempool but in some circumstances it
> would provide privacy if used with payjoin techniques like receiver
> side payment batching [7].
>
> The approach we are proposing treats the STARK the miner produces as
> free from a blocksize perspective. This is important for bootstrapping
> because it means that fees are significantly cheaper for a
> transaction, even if it is the only compressed transaction in the
> block. This encourages adoption. Adoption helps address the chicken
> and egg problem of wallets and exchanges not investing engineering
> resources to support a new transaction type if no one is using it and
> no one wants to use it because it isn't well supported. By having a
> single format, built into the block we both accelerate the switch over
> and prevent a fragmented ecosystem that might arise from doing this in
> Bitcoin script. Fragmentation reduces the scalability benefits because
> validators have to validate multiple STARKs and reduces the privacy
> benefits because there are many coinjoins, rather than each being a
> coinjoin.
>
> Even if our approach here turns out to be infeasible, we need a way to
> reduce the size of PQ signatures in Bitcoin. The ability to move
> coins, including the ability to move coins that represent JPEGs, is
> the main functionality of Bitcoin. If we make storage/JPEG too price
> competitive with the ability to transfer coins, we destroy that
> essential functionality and decrease the utility of Bitcoin for
> everyone. Currently moving coins securely requires at least one 64
> byte signature, which is an unfortunate tax on this most vital of all
> use cases. I believe removing that tax with signature aggregation will
> be beneficial for all parties.
>
> Consider the world of PQ signatures in Bitcoin without STARKs:
> - The large size of PQ signatures will make it more expensive for
> users to use them prior to the invention of a CRQC (Cryptographically
> Relevant Quantum Computer). This means that most outputs will not be
> protected by PQ signatures. Once a CRQC arises there will be a rush to
> move funds under the protection of PQ signatures but due to the large
> size of PQ signatures the fees will be too expensive for most outputs.
> Users will instead need to move their funds to centralized custodial
> wallets that can use a small number of outputs. In such a world it
> will be much harder and expensive to self-custody.
> - Without a solution here the large sizes of PQ signatures will limit
> Bitcoin's functionality to move coins using on-chain payments. This
> will also favor centralized custodians and erode the decentralized
> nature of Bitcoin.
>
> None of this is an argument against adopting BIP-360 or other PQ
> signatures schemes into Bitcoin. On the contrary, having PQ signatures
> in Bitcoin would be a useful stepping stone to PQ transaction
> compression since it would allow us to gain agreement on which PQ
> signature schemes to build on. Most importantly, in the event of a
> CRQC being developed it will be far better to have uncompressed PQ
> signatures in Bitcoin than none at all.
>
> Acknowledgements:
> These ideas arose out of correspondence with Hunter Beast. I want to
> thank Neha Narula, John Light, Eli Ben-Sasson for their feedback,
> Jonas Nick for his feedback and his idea to use LaBRADOR for signature
> aggregation, Tadge Dryja for suggesting the term =E2=80=9CJPEG resistance=
=E2=80=9D and
> his ideas around its feasibility. I had a number of fruitful
> discussions over lunch with members of the MIT DCI and on the Bitcoin
> PQ working group. These acknowledgements should not be taken as an
> agreement with or endorsement of the ideas in this email.
>
> [0]: Hunter Beast, BIP-360: QuBit - Pay to Quantum Resistant Hash
> (2025) https://github.com/bitcoin/bips/pull/1670/files#
> [1]: Benchmark Report: Post-Quantum Cryptography vs secp256k1
> https://github.com/cryptoquick/libbitcoinpqc/blob/main/benches/REPORT.md
> [2]: Ruben Somsen, SNARKs and the future of blockchains (2020)
>
> https://medium.com/@RubenSomsen/snarks-and-the-future-of-blockchains-55b8=
2012452b
> [3]: John Light, Validity Rollups on Bitcoin (2022)
>
> https://github.com/john-light/validity-rollups/blob/main/validity_rollups=
_on_bitcoin.md
> [4] Vitalik Buterin, An Incomplete Guide to Rollups (2021)
> https://vitalik.eth.limo/general/2021/01/05/rollup.html
> [5]: Aardal, Aranha, Boudgoust, Kolby, Takahashi, Aggregating Falcon
> Signatures with LaBRADOR (2024) https://eprint.iacr.org/2024/311
> [6]: Gidi Kaempfer, Recursive STARKs (2022)
> https://www.starknet.io/blog/recursive-starks/
> [7]: Dan Gould, Interactive Payment Batching is Better (2023)
> https://payjoin.substack.com/p/interactive-payment-batching-is-better
> [8] John Tromp, Fee burning and Dynamic Block Size (2018)
> https://lists.launchpad.net/mimblewimble/msg00450.html
>
> --
> 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/CAEM%3Dy%2BXMLuGH-MAfkYanfbU=
3Ynduw54jDVguKxgO2xEtnSEkZg%40mail.gmail.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/=
CAC3UE4K7AG96Njra3WSnt%3D1yPVZSnT7gktnwktaumPgOD0hU8Q%40mail.gmail.com.
--000000000000e376a00631f711ae
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"auto">This is a great post, thank you for sharing. I have one s=
mall tiny comment that may or may not be relevant, but there is an existing=
gap in the literature for a security proof that STARKs (rather FRI, the un=
derlying commitment scheme) is secure in a quantum adversary model. We conj=
ecture that it is, because it relies only on hashes as the primitive in an =
error correcting code, but unlike other cryptographic primitives used or pr=
oposed for critical security infrastructure, there is currently no formal s=
ecurity argument for FRI against a quantum threat model that I am aware of.=
I'm not sure how much this matters, but some may argue that stronger s=
ecurity arguments are warranted for any potential change to the bitcoin sig=
nature model in a PQ landscape. That's just my two cents anyways.</div>=
<div dir=3D"auto"><br></div><div><div class=3D"gmail_quote gmail_quote_cont=
ainer"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Apr 4, 2025 at 9:34=E2=
=80=AFAM Ethan Heilman <<a href=3D"mailto:eth3rs@gmail.com">eth3rs@gmail=
.com</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding=
-left:1ex;border-left-color:rgb(204,204,204)">I strongly believe Bitcoin wi=
ll need to move to PQ signatures in the<br>
near future. The rest of this email is premised on this belief.<br>
<br>
PQ (Post Quantum) signatures present a problem for Bitcoin:<br>
<br>
First, they are large. Of the three proposed in BIP-360 [0], the<br>
smallest is 1.5kb for the public key + signature [1]. Without a<br>
discount this represents a massive reduction in Bitcoin's transaction<b=
r>
volume due to the increase in transaction size of Bitcoin payment<br>
using such signatures.<br>
- Second, even if we discount PQ signatures and public keys so that<br>
the maximum number of transactions that can fit in a block is<br>
unchanged we still have the problem that these blocks and transactions<br>
will be an order of magnitude bigger. If it is the case that we can<br>
handle these extra bytes without degrading performance or<br>
decentralization, then consider the head room we are giving up that<br>
could be used for scalability.<br>
<br>
Beyond this there is also the risk that techniques could be developed<br>
to encode JPEGs and other data in these discounted PQ signatures or<br>
public keys. BIP-360 takes steps to make an abuse of this discount<br>
more difficult by requiring that a PQ signature and public key can<br>
only be written to the blockchain if they verify. We do not need PQ<br>
Signatures to be completely =E2=80=9CJPEG resistant=E2=80=9D, they just nee=
d PQ<br>
signatures to not enable significantly cheaper storage than payments.<br>
The degree to which the proposed PQ signature algorithms resist being<br>
repurposed as a storage mechanism is an open question and worth<br>
investigating.<br>
<br>
If it turned out PQ signatures could be used to encode data very<br>
cheaply, then Bitcoin faces the dilemma that if you discount PQ<br>
signatures, you make the JPEG problem worse and may price out the<br>
payment use case. If you don't discount PQ, you price out most people<b=
r>
from sending payments in Bitcoin since non-PQ witness data can be used<br>
for storage<br>
<br>
I want to draw the community's attention to a solution that could not<b=
r>
only address these problems but also increase Bitcoin=E2=80=99s scalability=
<br>
(and privacy):<br>
<br>
Non-interactive Transaction Compression (NTC) for Transactions<br>
supporting PQ signatures. This is sometimes called Non-Interactive<br>
Witness Aggregation (NIWA) [2].<br>
<br>
This would require a new transaction type supporting PQ signatures.<br>
The miner of a block would then pull out the signatures and hash<br>
pointers from transactions to compress transaction data and<br>
non-interactively aggregate all the PQ signatures in all the<br>
transactions in a block, replacing them with one big STARK (STARKS are<br>
a form of SNARK which is PQ). This would make PQ signatures<br>
significantly smaller and cheaper than ECDSA and schnorr signatures.<br>
<br>
Consider the following back of the envelope math:<br>
<br>
2 bytes per Input =3D 2 bytes per TXID, 0 bytes per signature<br>
37 bytes per output =3D 32 bytes pubkey hash + 5 bytes value (max 2.8m<br>
BTC per output)<br>
<br>
1-input-2-output transaction would be: 2 + 2*37 =3D 76 bytes<br>
(4,000,000/76)/(60*10) =3D ~87 txns/sec<br>
<br>
You could shave some bytes off the value, or add some bytes to the<br>
TXID. [3] provides a more detailed estimate, proposing 113.5 weight<br>
units (WU) for a 1-input-2-output transaction with no address reuse.<br>
However it does not consider TXID compression. If desired an<br>
account-based model could push this even further to 12 bytes per<br>
transaction per block [4]. This would enable approximately<br>
4,000,000/(12*60*10) =3D 555 txns/second.<br>
<br>
A secondary benefit of having on-chain PQ payments only be ~76 bytes<br>
in size is that it fundamentally changes the pricing relationship<br>
between payments and on-chain JPEG/complex contracts. The problem with<br>
on-chain JPEGs is not that they are possible, but that they are price<br>
competitive with payments. At ~76 bytes per payment or better yet ~76<br>
bytes per LN channel open/close, JPEGs no longer present the same fee<br>
competition to payments as payments become much cheaper.<br>
<br>
Such a system would present scaling issues for the mempool because<br>
prior to aggregation and compression, these transactions would be 2kb<br>
to 100kb in size and there would be a lot more of them. It is likely<br>
parties producing large numbers of transactions would want to<br>
pre-aggregate and compress them in one big many input, many output<br>
transactions. Aggregating prior to the miner may have privacy benefits<br>
but also scalability benefits as it would enable cut-throughs and very<br>
cheap consolidation transactions. ~87/txns a second does not include<br>
these additional scalability benefits.<br>
<br>
Consider an exchange that receives and sends a large number of<br>
transactions. For instance between block confirmations customers send<br>
the exchange 10 1-input-2-output transactions in deposits and the<br>
exchange sends out 10 1-input-2-output transactions in withdrawals.<br>
The exchange could consolidate all of the outputs paying the exchange,<br>
including chain outputs, into one output and do the same for inputs.<br>
This would reduce not just size, but also validation costs.<br>
<br>
(10 * 2 + 20 * 2 * 37) + (10 * 2 + 20 * 2 * 37)=C2=A0 =3D 3000 bytes<br>
becomes<br>
(10 * 2 + 11 * 2 * 37) + (2 + 11 * 2 * 37) =3D 1650 bytes<br>
<br>
If constructing these proofs turned out to be as expensive as<br>
performing POW, it would make block generation not progress free.<br>
Essentially you'd have a two step POW: proof generation and then the<br=
>
actual POW. Such a scenario would be very bad and cause the biggest<br>
miner to always be the one that generates blocks. A critical<br>
assumption I am making is that such proof generation is not<br>
particularly expensive in the scheme of POW. I am optimistic that<br>
proof generation will not be this expensive for two reasons<br>
<br>
There are PQ signature schemes which support non-interactive<br>
aggregation such as LaBRADOR [5]. Thus, the STARK wouldn=E2=80=99t need to<=
br>
perform the block-wide signature aggregation and would only need to<br>
perform transaction compression, cut throughs and consolidation.<br>
<br>
We could make use of recursive STARKs [8] to allow miners to<br>
parallelize proof generation to reduce latency or to decentralize<br>
proof generation. Users creating transactions could perform<br>
non-interactive coinjoins with other users or settlement/batching.<br>
This would not only take proof generation pressure off of the miners<br>
and reduce the strain on the mempool but in some circumstances it<br>
would provide privacy if used with payjoin techniques like receiver<br>
side payment batching [7].<br>
<br>
The approach we are proposing treats the STARK the miner produces as<br>
free from a blocksize perspective. This is important for bootstrapping<br>
because it means that fees are significantly cheaper for a<br>
transaction, even if it is the only compressed transaction in the<br>
block. This encourages adoption. Adoption helps address the chicken<br>
and egg problem of wallets and exchanges not investing engineering<br>
resources to support a new transaction type if no one is using it and<br>
no one wants to use it because it isn't well supported. By having a<br>
single format, built into the block we both accelerate the switch over<br>
and prevent a fragmented ecosystem that might arise from doing this in<br>
Bitcoin script. Fragmentation reduces the scalability benefits because<br>
validators have to validate multiple STARKs and reduces the privacy<br>
benefits because there are many coinjoins, rather than each being a<br>
coinjoin.<br>
<br>
Even if our approach here turns out to be infeasible, we need a way to<br>
reduce the size of PQ signatures in Bitcoin. The ability to move<br>
coins, including the ability to move coins that represent JPEGs, is<br>
the main functionality of Bitcoin. If we make storage/JPEG too price<br>
competitive with the ability to transfer coins, we destroy that<br>
essential functionality and decrease the utility of Bitcoin for<br>
everyone. Currently moving coins securely requires at least one 64<br>
byte signature, which is an unfortunate tax on this most vital of all<br>
use cases. I believe removing that tax with signature aggregation will<br>
be beneficial for all parties.<br>
<br>
Consider the world of PQ signatures in Bitcoin without STARKs:<br>
=C2=A0- The large size of PQ signatures will make it more expensive for<br>
users to use them prior to the invention of a CRQC (Cryptographically<br>
Relevant Quantum Computer). This means that most outputs will not be<br>
protected by PQ signatures. Once a CRQC arises there will be a rush to<br>
move funds under the protection of PQ signatures but due to the large<br>
size of PQ signatures the fees will be too expensive for most outputs.<br>
Users will instead need to move their funds to centralized custodial<br>
wallets that can use a small number of outputs. In such a world it<br>
will be much harder and expensive to self-custody.<br>
- Without a solution here the large sizes of PQ signatures will limit<br>
Bitcoin's functionality to move coins using on-chain payments. This<br>
will also favor centralized custodians and erode the decentralized<br>
nature of Bitcoin.<br>
<br>
None of this is an argument against adopting BIP-360 or other PQ<br>
signatures schemes into Bitcoin. On the contrary, having PQ signatures<br>
in Bitcoin would be a useful stepping stone to PQ transaction<br>
compression since it would allow us to gain agreement on which PQ<br>
signature schemes to build on. Most importantly, in the event of a<br>
CRQC being developed it will be far better to have uncompressed PQ<br>
signatures in Bitcoin than none at all.<br>
<br>
Acknowledgements:<br>
These ideas arose out of correspondence with Hunter Beast. I want to<br>
thank Neha Narula, John Light, Eli Ben-Sasson for their feedback,<br>
Jonas Nick for his feedback and his idea to use LaBRADOR for signature<br>
aggregation, Tadge Dryja for suggesting the term =E2=80=9CJPEG resistance=
=E2=80=9D and<br>
his ideas around its feasibility. I had a number of fruitful<br>
discussions over lunch with members of the MIT DCI and on the Bitcoin<br>
PQ working group. These acknowledgements should not be taken as an<br>
agreement with or endorsement of the ideas in this email.<br>
<br>
[0]: Hunter Beast, BIP-360: QuBit - Pay to Quantum Resistant Hash<br>
(2025) <a href=3D"https://github.com/bitcoin/bips/pull/1670/files#" rel=3D"=
noreferrer" target=3D"_blank">https://github.com/bitcoin/bips/pull/1670/fil=
es#</a><br>
[1]: Benchmark Report: Post-Quantum Cryptography vs secp256k1<br>
<a href=3D"https://github.com/cryptoquick/libbitcoinpqc/blob/main/benches/R=
EPORT.md" rel=3D"noreferrer" target=3D"_blank">https://github.com/cryptoqui=
ck/libbitcoinpqc/blob/main/benches/REPORT.md</a><br>
[2]: Ruben Somsen, SNARKs and the future of blockchains (2020)<br>
<a href=3D"https://medium.com/@RubenSomsen/snarks-and-the-future-of-blockch=
ains-55b82012452b" rel=3D"noreferrer" target=3D"_blank">https://medium.com/=
@RubenSomsen/snarks-and-the-future-of-blockchains-55b82012452b</a><br>
[3]: John Light, Validity Rollups on Bitcoin (2022)<br>
<a href=3D"https://github.com/john-light/validity-rollups/blob/main/validit=
y_rollups_on_bitcoin.md" rel=3D"noreferrer" target=3D"_blank">https://githu=
b.com/john-light/validity-rollups/blob/main/validity_rollups_on_bitcoin.md<=
/a><br>
[4] Vitalik Buterin, An Incomplete Guide to Rollups (2021)<br>
<a href=3D"https://vitalik.eth.limo/general/2021/01/05/rollup.html" rel=3D"=
noreferrer" target=3D"_blank">https://vitalik.eth.limo/general/2021/01/05/r=
ollup.html</a><br>
[5]: Aardal, Aranha, Boudgoust, Kolby, Takahashi, Aggregating Falcon<br>
Signatures with LaBRADOR (2024) <a href=3D"https://eprint.iacr.org/2024/311=
" rel=3D"noreferrer" target=3D"_blank">https://eprint.iacr.org/2024/311</a>=
<br>
[6]: Gidi Kaempfer, Recursive STARKs (2022)<br>
<a href=3D"https://www.starknet.io/blog/recursive-starks/" rel=3D"noreferre=
r" target=3D"_blank">https://www.starknet.io/blog/recursive-starks/</a><br>
[7]: Dan Gould, Interactive Payment Batching is Better (2023)<br>
<a href=3D"https://payjoin.substack.com/p/interactive-payment-batching-is-b=
etter" rel=3D"noreferrer" target=3D"_blank">https://payjoin.substack.com/p/=
interactive-payment-batching-is-better</a><br>
[8] John Tromp, Fee burning and Dynamic Block Size (2018)<br>
<a href=3D"https://lists.launchpad.net/mimblewimble/msg00450.html" rel=3D"n=
oreferrer" target=3D"_blank">https://lists.launchpad.net/mimblewimble/msg00=
450.html</a><br>
<br>
-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;Bitcoin Development Mailing List" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:bitcoindev%2Bunsubscribe@googlegroups.com" target=
=3D"_blank">bitcoindev+unsubscribe@googlegroups.com</a>.<br>
To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
bitcoindev/CAEM%3Dy%2BXMLuGH-MAfkYanfbU3Ynduw54jDVguKxgO2xEtnSEkZg%40mail.g=
mail.com" rel=3D"noreferrer" target=3D"_blank">https://groups.google.com/d/=
msgid/bitcoindev/CAEM%3Dy%2BXMLuGH-MAfkYanfbU3Ynduw54jDVguKxgO2xEtnSEkZg%40=
mail.gmail.com</a>.<br>
</blockquote></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;Bitcoin Development Mailing List" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:bitcoindev+unsubscribe@googlegroups.com">bitcoind=
ev+unsubscribe@googlegroups.com</a>.<br />
To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
bitcoindev/CAC3UE4K7AG96Njra3WSnt%3D1yPVZSnT7gktnwktaumPgOD0hU8Q%40mail.gma=
il.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/=
msgid/bitcoindev/CAC3UE4K7AG96Njra3WSnt%3D1yPVZSnT7gktnwktaumPgOD0hU8Q%40ma=
il.gmail.com</a>.<br />
--000000000000e376a00631f711ae--
|