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
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
|
Delivery-date: Wed, 15 Jan 2025 12:09:17 -0800
Received: from mail-yb1-f191.google.com ([209.85.219.191])
by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
(Exim 4.94.2)
(envelope-from <bitcoindev+bncBCU2P6FJ3EBBBYVLUC6AMGQELM6VKWY@googlegroups.com>)
id 1tY9hT-0001aI-9e
for bitcoindev@gnusha.org; Wed, 15 Jan 2025 12:09:17 -0800
Received: by mail-yb1-f191.google.com with SMTP id 3f1490d57ef6-e572df6db3esf394267276.3
for <bitcoindev@gnusha.org>; Wed, 15 Jan 2025 12:09:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=googlegroups.com; s=20230601; t=1736971749; x=1737576549; darn=gnusha.org;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-sender:mime-version
:subject:references:in-reply-to:message-id:to:from:date:sender:from
:to:cc:subject:date:message-id:reply-to;
bh=PgOJh/MTTAOc5N5ogV2EPXo06NTPPQePAHwBVuLcQ94=;
b=gUX5fEJWVVnMkEQHZkwoHLSuS79IGBWRlB4GlgyeFQTfleHL90+KNk4/4jZV/IYRdP
JBY7FBkTO48Wh89UGfA+BmqNxE71Z0XgyEWXuJNL9g5LJQWOIR8fQOy0MKD/VTuscyNc
msq2hUL3btofMjlbJH1UlRhxc/QIWXzsJdGH59mKJNLyvS5A8GwwUqvYyiGwUKBNrbA8
lkxtWEWIhgFIVuUeFeaGjEbSTHHsb7Q2QRkdZH2kzK4YBBE/SXtP76KdumMqIr0jMTpD
fbS0mBQ5JK4zw/K4Iipdt9Dszrt9NI8vh508e+MHRLEeaCwV8tkGGBe87gxAMyNGXzT3
GyUw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1736971749; x=1737576549; darn=gnusha.org;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-sender:mime-version
:subject:references:in-reply-to:message-id:to:from:date:from:to:cc
:subject:date:message-id:reply-to;
bh=PgOJh/MTTAOc5N5ogV2EPXo06NTPPQePAHwBVuLcQ94=;
b=QN/kvMBgmzWgqmXrMYoZ2EOXnYCmRwJaZX9Fm+D5II1gCM3m0cATIh5C9anamo7GWY
+n7DS3hl59Yy58bCD/XLRMNKRmnTxwj4KWOUGppg9HXcejKk1Hc+2YSfw1ayS5GUvuW/
1hmYO9H88mS6vgDKdMwkZFpeJVSjTfZrbbEadPmAhIx5UpTal2cDKFUH043CosUqhdLK
Qg/nSCRu8M8nhDzKEtTyUcDkAdbUdNZdgPY6QrLsIWT8ajntBLfzEgoLUcdkBQR9W4sL
8VFfzunLqPy4Ewj/jroqPlElIZ0bqpBaum0dAO+nqdhNKal9yBWwRlA0QdBHdEVfs6KN
FDzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1736971749; x=1737576549;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-sender:mime-version
:subject:references:in-reply-to:message-id:to:from:date:x-beenthere
:x-gm-message-state:sender:from:to:cc:subject:date:message-id
:reply-to;
bh=PgOJh/MTTAOc5N5ogV2EPXo06NTPPQePAHwBVuLcQ94=;
b=KRU9SGGHMEcBYFypXlB5Ia6pnyB87aOEzdDdEFZ9mnq1dDxQHTys2Wv6M7HPlN07Uw
gh+aOzWWtNd7h+Xyf/o/V4RS91JcmR6bpRo/Y2+mpu43ua+aKAxwY6r0B5N/NMOjQNvL
31M+FpbCPtEQ+0nIumRwqdu0ubmq8ylc2nGglhitCq/ylrsXE7R4t0tNXCV3VimDxXeO
o5H4i2ksV83j8Y3CtlN2yDDfN0tmZgtwRs1Id25Pj5YpK+081w08XJDvCIaCSrsp30Ue
WEU74TIK2d6TZBZpGHVh/JWi0I8OWQwe798OoerIWQphJLLCkVeP0HBaWyxFhomLZw9Z
JfGA==
Sender: bitcoindev@googlegroups.com
X-Forwarded-Encrypted: i=1; AJvYcCXG4n2IH75kewNDHMwfXZrZRdxAWzSc+ipjY0Ad764e9xtFaWLQ4P9cG4Tfcf4N6jCX46pzUXba9J+w@gnusha.org
X-Gm-Message-State: AOJu0YwvK+QE2DhCEuEsZ4X2VseAVU5P+Hp/+4QqwWwyqY2CWNj7JO52
jcr0uQoMvPGnXXthB2yEMvUeTspTYR7kdGhInnLI7ZxjSNc4pa6K
X-Google-Smtp-Source: AGHT+IHQDpq5KZKwOZMioQN0cw+hSrNLhcAUtKjfS5bcS5BkJ7mT+FfkEgm5xBKDgXBx0KvTqYF9WQ==
X-Received: by 2002:a25:8c1:0:b0:e3a:1735:b24e with SMTP id 3f1490d57ef6-e54edf25fb1mr19221866276.2.1736971748534;
Wed, 15 Jan 2025 12:09:08 -0800 (PST)
X-BeenThere: bitcoindev@googlegroups.com
Received: by 2002:a25:6ed6:0:b0:e57:32d7:dded with SMTP id 3f1490d57ef6-e579cb5e882ls217819276.1.-pod-prod-05-us;
Wed, 15 Jan 2025 12:09:06 -0800 (PST)
X-Received: by 2002:a05:690c:9c03:b0:6ef:641a:2a90 with SMTP id 00721157ae682-6f5312be4bcmr245273107b3.32.1736971745871;
Wed, 15 Jan 2025 12:09:05 -0800 (PST)
Received: by 2002:a05:690c:9a86:b0:6ef:7d10:5a2f with SMTP id 00721157ae682-6f5d2c70edcms7b3;
Tue, 14 Jan 2025 06:14:39 -0800 (PST)
X-Received: by 2002:a05:690c:6ac9:b0:6ef:8c41:def8 with SMTP id 00721157ae682-6f53132900amr191465867b3.38.1736864078275;
Tue, 14 Jan 2025 06:14:38 -0800 (PST)
Date: Tue, 14 Jan 2025 06:14:37 -0800 (PST)
From: /dev /fd0 <alicexbtong@gmail.com>
To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Message-Id: <c7486012-79a3-46e4-a310-a3d0edb47e97n@googlegroups.com>
In-Reply-To: <6Jm_AoIIskhEfyAwJFVFmzzA1iJJ3h51yCC8TwgO_MhV-ARzL9s7fVynKdN0-rNqNrN3kYsklxTZDGuko8LMsT0SW-Idy7tdA_u_e0s_Zsk=@protonmail.com>
References: <38a6f252-afe9-4155-a341-11a42a9a9007n@googlegroups.com>
<rp07_AsZrGYA3kFwZweIhzZVonmcuQktAz9r51MgKvrG101_T9NBTTMCFK_q3bMzIH0-QzfFtzC6uJGEKOIMi6Hl6qwbDtMWXXV2frBWXac=@protonmail.com>
<CAEM=y+V9Gu0n7pLv1d+K1HfaFsB3kXg-LbtppyZG0xjAa7DBaA@mail.gmail.com>
<CALiT-ZrqiXfOye8JvVgqvswhNHugFXZmYUgKqRijGXk_1kJFDA@mail.gmail.com>
<BhJt9xz8jFdkQDtIMh4BRavAACrNBjRRAoOMtw2PBReaazmhZcy7PTZcMu-rqdxTp7Lh1yqSkd27VQfODaemn-jksB8bLFGoM8a70f3xjWI=@protonmail.com>
<c411dee9-1937-42fd-bc66-d347ddbff506n@googlegroups.com>
<6Jm_AoIIskhEfyAwJFVFmzzA1iJJ3h51yCC8TwgO_MhV-ARzL9s7fVynKdN0-rNqNrN3kYsklxTZDGuko8LMsT0SW-Idy7tdA_u_e0s_Zsk=@protonmail.com>
Subject: Re: [bitcoindev] Summary: Covenants Support - Bitcoin Wiki
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_534798_751735772.1736864077681"
X-Original-Sender: alicexbtong@gmail.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 (/)
------=_Part_534798_751735772.1736864077681
Content-Type: multipart/alternative;
boundary="----=_Part_534799_1161673789.1736864077681"
------=_Part_534799_1161673789.1736864077681
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
We have been discussing the objections shared by Jonas Nick in his=20
rationale:=20
https://gist.github.com/jonasnick/e9627f56d04732ca83e94d448d4b5a51
Feel free to comment if you'd like to add something.
/dev/fd0
floppy disk guy
On Friday, January 3, 2025 at 5:45:29=E2=80=AFPM UTC+5:30 moonsettler wrote=
:
> Hi FLoppy,
>
> Of course I appreciate thoughtful evaluations.
>
> But my point stands, I encourage everyone to look at this table as means=
=20
> to engage in discussion not some indicator of "consensus" by any means.
>
> And I emphasized this, because there was a weird perception emerging, and=
=20
> even your own summary had this feel to it.
>
> BR,
> moonsettler
>
>
> Sent with Proton Mail secure email.
>
> On Thursday, January 2nd, 2025 at 4:16 PM, /dev /fd0 <alice...@gmail.com>=
=20
> wrote:
>
> > Hi moonsettler,
> > > Neither INTERNALKEY nor PAIRCOMMIT enables LN-Symmetry, LNhance does.=
=20
> They make it more efficient, and they also help other contracts.
> > Among them: Resumeable LN channels, Multi-party LN channels, Vaults, et=
c.
> >=20
> > I am aware of this and have used the comparison table in my=20
> [rationale][1]. LNHANCE is not an opcode. CTV and CSFS enable LN SYMMETRY=
.
> >=20
> > > Calling it "unnecessary complexity" is not a valid technical=20
> observation in any shape or form. It would provide optimization for many=
=20
> contracts and use cases even if we had CAT. I explained this to you in=20
> private first, yet you keep insisting on this completely invalid objectio=
n.
> >=20
> > It is a valid objection and I find it disappointing that you think=20
> people will change their opinion about an opcode if you build [activation=
=20
> client][2] or a different table. If you read all the rationales, its not=
=20
> just me who finds this opcode irrelevant. Please respect the developers w=
ho=20
> shared their evaluations in the table even if you disagree with them. If=
=20
> you cannot appreciate efforts to review proposals and reach technical=20
> consensus, at least avoid calling reviews/evaluations as "voting".
> >=20
> > "Unnecessary" because LN symmetry (efficient) is possible without it.=
=20
> "Complexity" is introduced because it will be used for everything possibl=
e=20
> with it in bitcoin script and not just the use cases described in your=20
> email.
> >=20
> > /dev/fd0
> > floppy disk guy
> >=20
> > [1]: https://gitlab.com/-/snippets/4777553
> > [2]: https://groups.google.com/g/bitcoindev/c/QOnpM4Ixmms/m/eodYc71lDAA=
J
> > On Thursday, January 2, 2025 at 7:16:55=E2=80=AFPM UTC+5:30 moonsettler=
wrote:
> >=20
> > > Hi Floppy,
> > >=20
> > > Neither INTERNALKEY nor PAIRCOMMIT enables LN-Symmetry, LNhance does.=
=20
> They make it more efficient, and they also help other contracts.
> > > Among them: Resumeable LN channels, Multi-party LN channels, Vaults,=
=20
> etc.
> > >=20
> > > Main benefit for the network: we can reduce the number of SigOps=20
> on-chain which benefits everyone that runs a validating node by making it=
=20
> more economic to use a single signature for multiple elements instead of=
=20
> using something like the ReKey technique.
> > >=20
> > > Calling it "unnecessary complexity" is not a valid technical=20
> observation in any shape or form. It would provide optimization for many=
=20
> contracts and use cases even if we had CAT. I explained this to you in=20
> private first, yet you keep insisting on this completely invalid objectio=
n.
> > >=20
> > > BR,
> > > moonsettler
> > >=20
> > > PS: I largely agree with everything Ethan said.
> > >=20
> > > Sent with Proton Mail secure email.
> > >=20
> > > On Thursday, January 2nd, 2025 at 2:22 AM, /dev /fd0 <
> alice...@gmail.com> wrote:
> > >=20
> > > > Hi Ethan,
> > > > OP_CAT is not proposed as an opcode to enable LN SYMMETRY. Whereas=
=20
> OP_PAIRCOMMIT is a part of LNHANCE.
> > > >
> > > > In this context, OP_PAIRCOMMIT adds unnecessary complexity because=
=20
> LN SYMMETRY can be achieved with other opcodes.
> > > >
> > > > Note: The objections shared in this thread are a summarised version=
=20
> of all the rationales and not my person opinion.
> > > >
> > > > /dev/fd0
> > > > floppy disk guy
> > > >
> > > > On Wed, Jan 1, 2025, 11:49 PM Ethan Heilman <eth...@gmail.com>=20
> wrote:
> > > >
> > > > > One of the CAT authors here
> > > > >
> > > > > > > [PAIR_COMMIT] Adds unnecessary complexity
> > > > > > That's a subjective value judgement it enables something that=
=20
> was no possible before which is interacting with Merkle trees and=20
> multi-element commitments in script. PAIRCOMMIT is not significantly more=
=20
> complicated than CAT, and in a lot of actual use cases CAT was desired fo=
r=20
> it's more complex and resource intensive to safely use CAT than PAIRCOMMI=
T=20
> due to witness malleability.
> > > > >
> > > > > PAIR_COMMIT (BIP-442) for all intents and purposes is as simple i=
n
> > > > > implementation at CAT (BIP-347). I have no technical objection to
> > > > > PAIRCOMMIT and it provides much needed functionality.
> > > > >
> > > > > My primary concern is not PAIRCOMMIT itself, but the rationale fo=
r=20
> PAIRCOMMIT.
> > > > >
> > > > > The rationale for PAIRCOMMIT rests on the assumption that the=20
> Bitcoin
> > > > > community does not want the expressiveness of CAT. If we assume=
=20
> this
> > > > > is the case, then we should be very careful PAIRCOMMIT does not=
=20
> enable
> > > > > this expressiveness as well. On the other hand, if the Bitcoin
> > > > > community does want the expressiveness of CAT, then we should mer=
ge
> > > > > CAT. PAIRCOMMIT is well designed to be less expressive than CAT=
=20
> and it
> > > > > is likely that you can not simulate CAT with PAIRCOMMIT. That=20
> said, I
> > > > > am not convinced it is impossible that there is no way to simulat=
e=20
> CAT
> > > > > with PAIRCOMMIT, nor I do feel confident that I know how much les=
s
> > > > > powerful PAIRCOMMIT is than CAT.
> > > > >
> > > > > Playing devil's advocate for a second, if I was opposed to CAT on
> > > > > grounds that we should limit expressiveness I would want to reall=
y
> > > > > understand the limits of PAIRCOMMIT. For instance can you do=20
> arbitrary
> > > > > computation by building STARKs with PAIRCOMMIT merkle trees? If=
=20
> not,
> > > > > why not?
> > > > >
> > > > > That said, I have not heard any argument against PAIRCOMMIT from=
=20
> those
> > > > > against CAT, so perhaps they are comfortable with it.
> > > > >
> > > > > Since I am in favor of CAT, I am also in favor of PAIRCOMMIT.
> > > > >
> > > > > On Tue, Dec 31, 2024 at 9:23=E2=80=AFAM 'moonsettler' via Bitcoin=
=20
> Development
> > > > > Mailing List <bitco...@googlegroups.com> wrote:
> > > > > >
> > > > > > Hi All,
> > > > > >
> > > > > > One thing I would like to make clear before people get the wron=
g=20
> idea and think this is some form of voting, OP_INTERNALKEY and OP_PARCOMM=
IT=20
> is part of LNhance and will be part of the activation client we release=
=20
> soon. The only way to change that is to demonstrate actual harm. You liki=
ng=20
> something else more, is your problem. What you can do about it, is write=
=20
> your activation client and try to gain consensus on that. There are plent=
y=20
> of version bits available. Replacing PAIRCOMMIT with CAT would be really=
=20
> easy, but while CAT is indeed very popular and has a wide support base it=
=20
> is also strongly opposed by many who did not choose to participate. I'm n=
ot=20
> convinced that this table represents actual developer, let alone ecosyste=
m=20
> consensus. If you decide you want to run an alternative activation effort=
=20
> with CAT instead of PAIRCOMMIT feel free to fork our repo!
> > > > > >
> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
> > > > > > OP_PARCOMMIT
> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
> > > > > >
> > > > > > > OP_PARCOMMIT seems to be controversial at this moment.
> > > > > >
> > > > > > I strongly disagree. In my book that's not what controversial=
=20
> means. Literally nobody managed to come up with a single use case anyone=
=20
> worth noting objects to for PAIRCOMMIT. Also inclined to ignore the "No"=
=20
> from those that prefer CAT as plain trolling. This BIP is young, there is=
a=20
> clear correlation between the age of the proposals and their support with=
=20
> the sole exception of APO.
> > > > > >
> > > > > > > Adds unnecessary complexity
> > > > > >
> > > > > > That's a subjective value judgement it enables something that=
=20
> was no possible before which is interacting with Merkle trees and=20
> multi-element commitments in script. PAIRCOMMIT is not significantly more=
=20
> complicated than CAT, and in a lot of actual use cases CAT was desired fo=
r=20
> it's more complex and resource intensive to safely use CAT than PAIRCOMMI=
T=20
> due to witness malleability.
> > > > > >
> > > > > > > Not convinced it is impossible that there is no way to=20
> simulate CAT with PAIRCOMMIT, nor confident how much less powerful=20
> PAIRCOMMIT is than CAT.
> > > > > >
> > > > > > This is sufficiently addressed in the BIP.
> > > > > >
> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
> > > > > > OP_VAULT
> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
> > > > > >
> > > > > > > No demand for vaults.
> > > > > >
> > > > > > It's safe to completely ignore that "argument".
> > > > > >
> > > > > > BR,
> > > > > > moonsettler
> > > > > >
> > > > > >
> > > > > > On Tuesday, December 31st, 2024 at 9:23 AM, /dev /fd0 <
> alice...@gmail.com> wrote:
> > > > > >
> > > > > > > Hi Bitcoin Developers,
> > > > > > >
> > > > > > > I had shared covenants support wiki page link here on [mailin=
g=20
> list][1] in the last week of November 2024. Multiple changes were made=20
> based on the feedback:
> > > > > > >
> > > > > > > - Removed 'community support' from 'No'. Rephrased definition=
s=20
> for 'Prefer' and 'Evaluating'.
> > > > > > > - Added LNHANCE category for a combination of opcodes.
> > > > > > > - Added links for BIP drafts and a column for 'rationale'.
> > > > > > > - Created a separate table for evaluations without a rational=
e.
> > > > > > >
> > > > > > > Murch and Gloria shared their feedback in the bitcoin optech=
=20
> [podcast 333][2]. I have started working on a [page][3] that lists use=20
> cases, prototype links and primitives used. We can still add more use cas=
es=20
> in it. This list does not include use cases enabled by=20
> [OP_CHECKSIGFROMSTACK][4] alone or in combination with other opcodes like=
=20
> [LN SYMMETRY][5].
> > > > > > >
> > > > > > > I had verified each entry to avoid spam and fake evaluations.=
=20
> Rearden was assigned moderator permissions on 8 December 2024 by Theymos =
to=20
> help me with the moderations. Some edits have been approved by other=20
> moderators.
> > > > > > >
> > > > > > > Some insights from the table that could help developers=20
> working on different covenant proposals:
> > > > > > >
> > > > > > > 1. Multiple ways to achieve LN symmetry were discovered.=20
> SIGHASH_APO lacks interest among developers, contrary to the belief prior=
=20
> to this exercise.
> > > > > > > 2. OP_CHECKSIGFROMSTACK has unanimous support and is a part o=
f=20
> multiple covenant proposals.
> > > > > > > 3. OP_PAIRCOMMIT, OP_INTERNALKEY and OP_CHECKCONTRACTVERIFY=
=20
> are not reviewed by enough developers. OP_PARCOMMIT seems to be=20
> controversial at this moment.
> > > > > > >
> > > > > > > Objections:
> > > > > > >
> > > > > > > ```
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > > SIGHASH_APO
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > >
> > > > > > > LN SYMMETRY is possible with combination of a few opcodes=20
> which is more efficient. Its not the best option for covenants and cannot=
=20
> be used to improve Ark. Some developers prefer opcodes and not sighash=20
> flags.
> > > > > > >
> > > > > > > Seems to be the result of an attempt to fix signatures to mak=
e=20
> them work for a specific use-case, but the end-result is hard-to-reason=
=20
> (for me) and not flexible. In general, SIGHASH flags are an encoding of=
=20
> specific predicates on the transaction, and I think the Script is better=
=20
> suited to carry the predicate. There is no interesting SIGHASH flag that=
=20
> couldn't be functionally simulated by introspection + CHECKSIGFROMSTACK (=
or=20
> other Script-based approaches), and that seems to me a much cleaner and=
=20
> ergonomic way to achieve the same goals.
> > > > > > >
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > > OP_TXHASH
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > >
> > > > > > > More expressive, many flag configurations, untested and=20
> undesirable use cases. Unaddressed comments in the BIP and the delay=20
> doesn't make sense because OP_CHECKTEMPLATEVERIFY can be upgraded later t=
o=20
> achieve the same thing. Makes hash caching complex, potentially opening u=
p=20
> DoS vectors or quadratic sighash.
> > > > > > >
> > > > > > > Most templates you'd obtain with various combinations of=20
> parameters are meaningless. It implements state-carrying UTXOs in a very=
=20
> dirty way: adding additional inputs/outputs with no other meaning than=20
> "storing some state". This is ugly, inefficient, and bloats the UTXO set =
-=20
> and it definitely will happen if TXHASH is enabled without also enabling =
a=20
> clean way to carry state.
> > > > > > >
> > > > > > > Follow up with an upgrade to OP_CHECKTEMPLATEVERIFY can fine=
=20
> tune it to what people are actually using covenants for, instead of=20
> prematurely optimizing everything with no data.
> > > > > > >
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > > OP_VAULT
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > >
> > > > > > > No demand for vaults. Customized for a specific use case.
> > > > > > >
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > > OP_CAT
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > >
> > > > > > > Can be used for various complex scripts including undesirable=
=20
> use cases (DEX, AMM and Hashrate Escrow). Enables granular transaction=20
> introspection through abuse of schnorr signatures and OP_CHECKSIG. Can be=
=20
> used for interesting use cases but alone does it poorly and inefficiently=
.
> > > > > > >
> > > > > > > People can and will litter the chain with inefficient/ugly=20
> Scripts if activated alone. Since it happens to enable generic=20
> introspection by accident, and therefore an ugly version of state-carryin=
g=20
> UTXOs, it shouldn't be enabled without more ergonomic opcodes for those u=
se=20
> cases.
> > > > > > >
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > > OP_INTERNALKEY
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > >
> > > > > > > There are 3 'No' in the table, I couldn't find anything=20
> relevant in the rationales.
> > > > > > >
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > > OP_PAIRCOMMIT
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > >
> > > > > > > Adds unnecessary complexity, redundant if OP_CAT is activated=
=20
> in future and added for specific use case. LN SYMMETRY is possible withou=
t=20
> this opcode. It does not compose with anything that involves transaction=
=20
> introspection due to its specified tagged hash. Some developers prefer=20
> OP_CAT.
> > > > > > >
> > > > > > > Not convinced it is impossible that there is no way to=20
> simulate CAT with PAIRCOMMIT, nor confident how much less powerful=20
> PAIRCOMMIT is than CAT.
> > > > > > >
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > > OP_CHECKTEMPLATEVERIFY
> > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
> > > > > > >
> > > > > > > Limited in scope and not recursive.
> > > > > > > ```
> > > > > > >
> > > > > > > I have tried my best to remain unbiased in writing this=20
> summary and approving edits. There are a few things that I want to share=
=20
> and it could be a result of the aggressive marketing:
> > > > > > >
> > > > > > > - A spammer had edited the table to remove all evaluations=20
> except in favor of OP_CAT and it was rejected.
> > > > > > > - [Rationale][6] added by Aaron (sCrypt) does not mention=20
> anything about other opcodes and SIGHASH_APO. It is only focused on OP_CA=
T=20
> however evaluations exist in the table.
> > > > > > > - I [requested][7] Udev (CatSwap) to add details about=20
> evaluation of other opcodes and SIGHASH_APO.
> > > > > > > - Last [edit][8] by Roujiamo (bitdollar) has a rationale with=
=20
> incorrect signet stats and seems to be rephrased version of another=20
> rationale. Evaluation had 'weak' for OP_CTV before adding the rationale.
> > > > > > > - An edit with duplicate rationale (in support of OP_CAT) was=
=20
> rejected because sharing the link for a rationale submitted by other=20
> developer adds no value in the table.
> > > > > > >
> > > > > > > Evaluations without a rationale have some 'No' in different=
=20
> cells. Although none of them are backed by a rationale so cannot be=20
> considered for consensus discussion. The table is still updated regularly=
=20
> so you may see some of them with a rationale in 2025. Any suggestions to=
=20
> help achieve technical consensus are most welcome.
> > > > > > >
> > > > > > > What's next?
> > > > > > >
> > > > > > > - More rationales in the table
> > > > > > > - Discuss objections on mailing list (if any)
> > > > > > > - Workshops
> > > > > > > - Add a table for economic nodes and their opinion
> > > > > > > - Build activation client and discuss parameters
> > > > > > >
> > > > > > > Finally, I would thank all the developers who added their=20
> evaluations in the table and everyone who shared updates on twitter. It w=
as=20
> a coordinated effort to reach some technical consensus. You can read all=
=20
> the rationales in detail to understand different perspectives and reasons=
=20
> to support a combination of opcodes over others.
> > > > > > >
> > > > > > > [1]:=20
> https://groups.google.com/g/bitcoindev/c/fdxkE1Al4TI/m/CeEuls2IAQAJ
> > > > > > > [2]: https://bitcoinops.org/en/podcast/2024/12/17/
> > > > > > > [3]: https://en.bitcoin.it/wiki/Covenants_Uses
> > > > > > > [4]: https://github.com/bitcoin/bips/blob/master/bip-0348.md
> > > > > > > [5]:=20
> https://gist.github.com/Ademan/4a14614fa850511d63a5b2a9b5104cb7
> > > > > > > [6]:=20
> https://gist.github.com/gitzhou/dc92c41db1987db16fe665c26bc56dd9
> > > > > > > [7]:=20
> https://gist.github.com/udevswap/b768d20d62549922b9e72428ef9eb608?permali=
nk_comment_id=3D5359072#gistcomment-5359072
> > > > > > > [8]:=20
> https://en.bitcoin.it/w/index.php?title=3DCovenants_support&diff=3Dprev&o=
ldid=3D70520
> > > > > > >
> > > > > > > /dev/fd0
> > > > > > > floppy disk guy
> > > > > > >
> > > > > > > --
> > > > > > > You received this message because you are subscribed to the=
=20
> Google Groups "Bitcoin Development Mailing List" group.
> > > > > > > To unsubscribe from this group and stop receiving emails from=
=20
> it, send an email to bitcoindev+...@googlegroups.com.
> > > > > > > To view this discussion visit=20
> https://groups.google.com/d/msgid/bitcoindev/38a6f252-afe9-4155-a341-11a4=
2a9a9007n%40googlegroups.com
> .
> > > > > >
> > > > > > --
> > > > > > You received this message because you are subscribed to the=20
> Google Groups "Bitcoin Development Mailing List" group.
> > > > > > To unsubscribe from this group and stop receiving emails from=
=20
> it, send an email to bitcoindev+...@googlegroups.com.
> > > > > > To view this discussion visit=20
> https://groups.google.com/d/msgid/bitcoindev/rp07_AsZrGYA3kFwZweIhzZVonmc=
uQktAz9r51MgKvrG101_T9NBTTMCFK_q3bMzIH0-QzfFtzC6uJGEKOIMi6Hl6qwbDtMWXXV2frB=
WXac%3D%40protonmail.com
> .
> > > > >
> > > > > --
> > > > > You received this message because you are subscribed to the Googl=
e=20
> Groups "Bitcoin Development Mailing List" group.
> > > > > To unsubscribe from this group and stop receiving emails from it,=
=20
> send an email to bitcoindev+...@googlegroups.com.
> > > > > To view this discussion visit=20
> https://groups.google.com/d/msgid/bitcoindev/CAEM%3Dy%2BV9Gu0n7pLv1d%2BK1=
HfaFsB3kXg-LbtppyZG0xjAa7DBaA%40mail.gmail.com
> .
> >=20
> > --
> > You received this message because you are subscribed to the Google=20
> Groups "Bitcoin Development Mailing List" group.
> > To unsubscribe from this group and stop receiving emails from it, send=
=20
> an email to bitcoindev+...@googlegroups.com.
> > To view this discussion visit=20
> https://groups.google.com/d/msgid/bitcoindev/c411dee9-1937-42fd-bc66-d347=
ddbff506n%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/=
c7486012-79a3-46e4-a310-a3d0edb47e97n%40googlegroups.com.
------=_Part_534799_1161673789.1736864077681
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
We have been discussing the objections shared by Jonas Nick in his rational=
e: <a href=3D"https://gist.github.com/jonasnick/e9627f56d04732ca83e94d448d4=
b5a51">https://gist.github.com/jonasnick/e9627f56d04732ca83e94d448d4b5a51</=
a><br /><br />Feel free to comment if you'd like to add something.<br /><di=
v><br /></div><div>/dev/fd0</div><div>floppy disk guy<br /><br /></div><div=
class=3D"gmail_quote"><div dir=3D"auto" class=3D"gmail_attr">On Friday, Ja=
nuary 3, 2025 at 5:45:29=E2=80=AFPM UTC+5:30 moonsettler wrote:<br/></div><=
blockquote class=3D"gmail_quote" style=3D"margin: 0 0 0 0.8ex; border-left:=
1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi FLoppy,
<br>
<br>Of course I appreciate thoughtful evaluations.
<br>
<br>But my point stands, I encourage everyone to look at this table as mean=
s to engage in discussion not some indicator of "consensus" by an=
y means.
<br>
<br>And I emphasized this, because there was a weird perception emerging, a=
nd even your own summary had this feel to it.
<br>
<br>BR,
<br>moonsettler
<br>
<br>
<br>Sent with Proton Mail secure email.
<br>
<br>On Thursday, January 2nd, 2025 at 4:16 PM, /dev /fd0 <<a href data-e=
mail-masked rel=3D"nofollow">alice...@gmail.com</a>> wrote:
<br>
<br>> Hi moonsettler,
<br>> > Neither INTERNALKEY nor PAIRCOMMIT enables LN-Symmetry, LNhan=
ce does. They make it more efficient, and they also help other contracts.
<br>> Among them: Resumeable LN channels, Multi-party LN channels, Vault=
s, etc.
<br>>=20
<br>> I am aware of this and have used the comparison table in my [ratio=
nale][1]. LNHANCE is not an opcode. CTV and CSFS enable LN SYMMETRY.
<br>>=20
<br>> > Calling it "unnecessary complexity" is not a valid =
technical observation in any shape or form. It would provide optimization f=
or many contracts and use cases even if we had CAT. I explained this to you=
in private first, yet you keep insisting on this completely invalid object=
ion.
<br>>=20
<br>> It is a valid objection and I find it disappointing that you think=
people will change their opinion about an opcode if you build [activation =
client][2] or a different table. If you read all the rationales, its not ju=
st me who finds this opcode irrelevant. Please respect the developers who s=
hared their evaluations in the table even if you disagree with them. If you=
cannot appreciate efforts to review proposals and reach technical consensu=
s, at least avoid calling reviews/evaluations as "voting".
<br>>=20
<br>> "Unnecessary" because LN symmetry (efficient) is possibl=
e without it. "Complexity" is introduced because it will be used =
for everything possible with it in bitcoin script and not just the use case=
s described in your email.
<br>>=20
<br>> /dev/fd0
<br>> floppy disk guy
<br>>=20
<br>> [1]: <a href=3D"https://gitlab.com/-/snippets/4777553" target=3D"_=
blank" rel=3D"nofollow" data-saferedirecturl=3D"https://www.google.com/url?=
hl=3Den&q=3Dhttps://gitlab.com/-/snippets/4777553&source=3Dgmail&am=
p;ust=3D1736950171965000&usg=3DAOvVaw0HSElHlm4jTJOjUcAcUNBy">https://gi=
tlab.com/-/snippets/4777553</a>
<br>> [2]: <a href=3D"https://groups.google.com/g/bitcoindev/c/QOnpM4Ixm=
ms/m/eodYc71lDAAJ" target=3D"_blank" rel=3D"nofollow" data-saferedirecturl=
=3D"https://www.google.com/url?hl=3Den&q=3Dhttps://groups.google.com/g/=
bitcoindev/c/QOnpM4Ixmms/m/eodYc71lDAAJ&source=3Dgmail&ust=3D173695=
0171965000&usg=3DAOvVaw176WiEe9X8xwddafZbZuAx">https://groups.google.co=
m/g/bitcoindev/c/QOnpM4Ixmms/m/eodYc71lDAAJ</a>
<br>> On Thursday, January 2, 2025 at 7:16:55=E2=80=AFPM UTC+5:30 moonse=
ttler wrote:
<br>>=20
<br>> > Hi Floppy,
<br>> >=20
<br>> > Neither INTERNALKEY nor PAIRCOMMIT enables LN-Symmetry, LNhan=
ce does. They make it more efficient, and they also help other contracts.
<br>> > Among them: Resumeable LN channels, Multi-party LN channels, =
Vaults, etc.
<br>> >=20
<br>> > Main benefit for the network: we can reduce the number of Sig=
Ops on-chain which benefits everyone that runs a validating node by making =
it more economic to use a single signature for multiple elements instead of=
using something like the ReKey technique.
<br>> >=20
<br>> > Calling it "unnecessary complexity" is not a valid =
technical observation in any shape or form. It would provide optimization f=
or many contracts and use cases even if we had CAT. I explained this to you=
in private first, yet you keep insisting on this completely invalid object=
ion.
<br>> >=20
<br>> > BR,
<br>> > moonsettler
<br>> >=20
<br>> > PS: I largely agree with everything Ethan said.
<br>> >=20
<br>> > Sent with Proton Mail secure email.
<br>> >=20
<br>> > On Thursday, January 2nd, 2025 at 2:22 AM, /dev /fd0 <<a h=
ref data-email-masked rel=3D"nofollow">alice...@gmail.com</a>> wrote:
<br>> >=20
<br>> > > Hi Ethan,
<br>> > > OP_CAT is not proposed as an opcode to enable LN SYMMETR=
Y. Whereas OP_PAIRCOMMIT is a part of LNHANCE.
<br>> > >
<br>> > > In this context, OP_PAIRCOMMIT adds unnecessary complexi=
ty because LN SYMMETRY can be achieved with other opcodes.
<br>> > >
<br>> > > Note: The objections shared in this thread are a summari=
sed version of all the rationales and not my person opinion.
<br>> > >
<br>> > > /dev/fd0
<br>> > > floppy disk guy
<br>> > >
<br>> > > On Wed, Jan 1, 2025, 11:49 PM Ethan Heilman <<a href =
data-email-masked rel=3D"nofollow">eth...@gmail.com</a>> wrote:
<br>> > >
<br>> > > > One of the CAT authors here
<br>> > > >
<br>> > > > > > [PAIR_COMMIT] Adds unnecessary complexity
<br>> > > > > That's a subjective value judgement it ena=
bles something that was no possible before which is interacting with Merkle=
trees and multi-element commitments in script. PAIRCOMMIT is not significa=
ntly more complicated than CAT, and in a lot of actual use cases CAT was de=
sired for it's more complex and resource intensive to safely use CAT th=
an PAIRCOMMIT due to witness malleability.
<br>> > > >
<br>> > > > PAIR_COMMIT (BIP-442) for all intents and purposes =
is as simple in
<br>> > > > implementation at CAT (BIP-347). I have no technica=
l objection to
<br>> > > > PAIRCOMMIT and it provides much needed functionalit=
y.
<br>> > > >
<br>> > > > My primary concern is not PAIRCOMMIT itself, but th=
e rationale for PAIRCOMMIT.
<br>> > > >
<br>> > > > The rationale for PAIRCOMMIT rests on the assumptio=
n that the Bitcoin
<br>> > > > community does not want the expressiveness of CAT. =
If we assume this
<br>> > > > is the case, then we should be very careful PAIRCOM=
MIT does not enable
<br>> > > > this expressiveness as well. On the other hand, if =
the Bitcoin
<br>> > > > community does want the expressiveness of CAT, then=
we should merge
<br>> > > > CAT. PAIRCOMMIT is well designed to be less express=
ive than CAT and it
<br>> > > > is likely that you can not simulate CAT with PAIRCO=
MMIT. That said, I
<br>> > > > am not convinced it is impossible that there is no =
way to simulate CAT
<br>> > > > with PAIRCOMMIT, nor I do feel confident that I kno=
w how much less
<br>> > > > powerful PAIRCOMMIT is than CAT.
<br>> > > >
<br>> > > > Playing devil's advocate for a second, if I was=
opposed to CAT on
<br>> > > > grounds that we should limit expressiveness I would=
want to really
<br>> > > > understand the limits of PAIRCOMMIT. For instance c=
an you do arbitrary
<br>> > > > computation by building STARKs with PAIRCOMMIT merk=
le trees? If not,
<br>> > > > why not?
<br>> > > >
<br>> > > > That said, I have not heard any argument against PA=
IRCOMMIT from those
<br>> > > > against CAT, so perhaps they are comfortable with i=
t.
<br>> > > >
<br>> > > > Since I am in favor of CAT, I am also in favor of P=
AIRCOMMIT.
<br>> > > >
<br>> > > > On Tue, Dec 31, 2024 at 9:23=E2=80=AFAM 'moonse=
ttler' via Bitcoin Development
<br>> > > > Mailing List <<a href data-email-masked rel=3D"n=
ofollow">bitco...@googlegroups.com</a>> wrote:
<br>> > > > >
<br>> > > > > Hi All,
<br>> > > > >
<br>> > > > > One thing I would like to make clear before pe=
ople get the wrong idea and think this is some form of voting, OP_INTERNALK=
EY and OP_PARCOMMIT is part of LNhance and will be part of the activation c=
lient we release soon. The only way to change that is to demonstrate actual=
harm. You liking something else more, is your problem. What you can do abo=
ut it, is write your activation client and try to gain consensus on that. T=
here are plenty of version bits available. Replacing PAIRCOMMIT with CAT wo=
uld be really easy, but while CAT is indeed very popular and has a wide sup=
port base it is also strongly opposed by many who did not choose to partici=
pate. I'm not convinced that this table represents actual developer, le=
t alone ecosystem consensus. If you decide you want to run an alternative a=
ctivation effort with CAT instead of PAIRCOMMIT feel free to fork our repo!
<br>> > > > >
<br>> > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > OP_PARCOMMIT
<br>> > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
<br>> > > > >
<br>> > > > > > OP_PARCOMMIT seems to be controversial at=
this moment.
<br>> > > > >
<br>> > > > > I strongly disagree. In my book that's not=
what controversial means. Literally nobody managed to come up with a singl=
e use case anyone worth noting objects to for PAIRCOMMIT. Also inclined to =
ignore the "No" from those that prefer CAT as plain trolling. Thi=
s BIP is young, there is a clear correlation between the age of the proposa=
ls and their support with the sole exception of APO.
<br>> > > > >
<br>> > > > > > Adds unnecessary complexity
<br>> > > > >
<br>> > > > > That's a subjective value judgement it ena=
bles something that was no possible before which is interacting with Merkle=
trees and multi-element commitments in script. PAIRCOMMIT is not significa=
ntly more complicated than CAT, and in a lot of actual use cases CAT was de=
sired for it's more complex and resource intensive to safely use CAT th=
an PAIRCOMMIT due to witness malleability.
<br>> > > > >
<br>> > > > > > Not convinced it is impossible that there=
is no way to simulate CAT with PAIRCOMMIT, nor confident how much less pow=
erful PAIRCOMMIT is than CAT.
<br>> > > > >
<br>> > > > > This is sufficiently addressed in the BIP.
<br>> > > > >
<br>> > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > OP_VAULT
<br>> > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D
<br>> > > > >
<br>> > > > > > No demand for vaults.
<br>> > > > >
<br>> > > > > It's safe to completely ignore that "=
argument".
<br>> > > > >
<br>> > > > > BR,
<br>> > > > > moonsettler
<br>> > > > >
<br>> > > > >
<br>> > > > > On Tuesday, December 31st, 2024 at 9:23 AM, /d=
ev /fd0 <<a href data-email-masked rel=3D"nofollow">alice...@gmail.com</=
a>> wrote:
<br>> > > > >
<br>> > > > > > Hi Bitcoin Developers,
<br>> > > > > >
<br>> > > > > > I had shared covenants support wiki page =
link here on [mailing list][1] in the last week of November 2024. Multiple =
changes were made based on the feedback:
<br>> > > > > >
<br>> > > > > > - Removed 'community support' fro=
m 'No'. Rephrased definitions for 'Prefer' and 'Evaluat=
ing'.
<br>> > > > > > - Added LNHANCE category for a combinatio=
n of opcodes.
<br>> > > > > > - Added links for BIP drafts and a column=
for 'rationale'.
<br>> > > > > > - Created a separate table for evaluation=
s without a rationale.
<br>> > > > > >
<br>> > > > > > Murch and Gloria shared their feedback in=
the bitcoin optech [podcast 333][2]. I have started working on a [page][3]=
that lists use cases, prototype links and primitives used. We can still ad=
d more use cases in it. This list does not include use cases enabled by [OP=
_CHECKSIGFROMSTACK][4] alone or in combination with other opcodes like [LN =
SYMMETRY][5].
<br>> > > > > >
<br>> > > > > > I had verified each entry to avoid spam a=
nd fake evaluations. Rearden was assigned moderator permissions on 8 Decemb=
er 2024 by Theymos to help me with the moderations. Some edits have been ap=
proved by other moderators.
<br>> > > > > >
<br>> > > > > > Some insights from the table that could h=
elp developers working on different covenant proposals:
<br>> > > > > >
<br>> > > > > > 1. Multiple ways to achieve LN symmetry w=
ere discovered. SIGHASH_APO lacks interest among developers, contrary to th=
e belief prior to this exercise.
<br>> > > > > > 2. OP_CHECKSIGFROMSTACK has unanimous sup=
port and is a part of multiple covenant proposals.
<br>> > > > > > 3. OP_PAIRCOMMIT, OP_INTERNALKEY and OP_C=
HECKCONTRACTVERIFY are not reviewed by enough developers. OP_PARCOMMIT seem=
s to be controversial at this moment.
<br>> > > > > >
<br>> > > > > > Objections:
<br>> > > > > >
<br>> > > > > > ```
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > > SIGHASH_APO
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > >
<br>> > > > > > LN SYMMETRY is possible with combination =
of a few opcodes which is more efficient. Its not the best option for coven=
ants and cannot be used to improve Ark. Some developers prefer opcodes and =
not sighash flags.
<br>> > > > > >
<br>> > > > > > Seems to be the result of an attempt to f=
ix signatures to make them work for a specific use-case, but the end-result=
is hard-to-reason (for me) and not flexible. In general, SIGHASH flags are=
an encoding of specific predicates on the transaction, and I think the Scr=
ipt is better suited to carry the predicate. There is no interesting SIGHAS=
H flag that couldn't be functionally simulated by introspection + CHECK=
SIGFROMSTACK (or other Script-based approaches), and that seems to me a muc=
h cleaner and ergonomic way to achieve the same goals.
<br>> > > > > >
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > > OP_TXHASH
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > >
<br>> > > > > > More expressive, many flag configurations=
, untested and undesirable use cases. Unaddressed comments in the BIP and t=
he delay doesn't make sense because OP_CHECKTEMPLATEVERIFY can be upgra=
ded later to achieve the same thing. Makes hash caching complex, potentiall=
y opening up DoS vectors or quadratic sighash.
<br>> > > > > >
<br>> > > > > > Most templates you'd obtain with vari=
ous combinations of parameters are meaningless. It implements state-carryin=
g UTXOs in a very dirty way: adding additional inputs/outputs with no other=
meaning than "storing some state". This is ugly, inefficient, an=
d bloats the UTXO set - and it definitely will happen if TXHASH is enabled =
without also enabling a clean way to carry state.
<br>> > > > > >
<br>> > > > > > Follow up with an upgrade to OP_CHECKTEMP=
LATEVERIFY can fine tune it to what people are actually using covenants for=
, instead of prematurely optimizing everything with no data.
<br>> > > > > >
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > > OP_VAULT
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > >
<br>> > > > > > No demand for vaults. Customized for a sp=
ecific use case.
<br>> > > > > >
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > > OP_CAT
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > >
<br>> > > > > > Can be used for various complex scripts i=
ncluding undesirable use cases (DEX, AMM and Hashrate Escrow). Enables gran=
ular transaction introspection through abuse of schnorr signatures and OP_C=
HECKSIG. Can be used for interesting use cases but alone does it poorly and=
inefficiently.
<br>> > > > > >
<br>> > > > > > People can and will litter the chain with=
inefficient/ugly Scripts if activated alone. Since it happens to enable ge=
neric introspection by accident, and therefore an ugly version of state-car=
rying UTXOs, it shouldn't be enabled without more ergonomic opcodes for=
those use cases.
<br>> > > > > >
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > > OP_INTERNALKEY
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > >
<br>> > > > > > There are 3 'No' in the table, I =
couldn't find anything relevant in the rationales.
<br>> > > > > >
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > > OP_PAIRCOMMIT
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > >
<br>> > > > > > Adds unnecessary complexity, redundant if=
OP_CAT is activated in future and added for specific use case. LN SYMMETRY=
is possible without this opcode. It does not compose with anything that in=
volves transaction introspection due to its specified tagged hash. Some dev=
elopers prefer OP_CAT.
<br>> > > > > >
<br>> > > > > > Not convinced it is impossible that there=
is no way to simulate CAT with PAIRCOMMIT, nor confident how much less pow=
erful PAIRCOMMIT is than CAT.
<br>> > > > > >
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > > OP_CHECKTEMPLATEVERIFY
<br>> > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
<br>> > > > > >
<br>> > > > > > Limited in scope and not recursive.
<br>> > > > > > ```
<br>> > > > > >
<br>> > > > > > I have tried my best to remain unbiased i=
n writing this summary and approving edits. There are a few things that I w=
ant to share and it could be a result of the aggressive marketing:
<br>> > > > > >
<br>> > > > > > - A spammer had edited the table to remov=
e all evaluations except in favor of OP_CAT and it was rejected.
<br>> > > > > > - [Rationale][6] added by Aaron (sCrypt) =
does not mention anything about other opcodes and SIGHASH_APO. It is only f=
ocused on OP_CAT however evaluations exist in the table.
<br>> > > > > > - I [requested][7] Udev (CatSwap) to add =
details about evaluation of other opcodes and SIGHASH_APO.
<br>> > > > > > - Last [edit][8] by Roujiamo (bitdollar) =
has a rationale with incorrect signet stats and seems to be rephrased versi=
on of another rationale. Evaluation had 'weak' for OP_CTV before ad=
ding the rationale.
<br>> > > > > > - An edit with duplicate rationale (in su=
pport of OP_CAT) was rejected because sharing the link for a rationale subm=
itted by other developer adds no value in the table.
<br>> > > > > >
<br>> > > > > > Evaluations without a rationale have some=
'No' in different cells. Although none of them are backed by a rat=
ionale so cannot be considered for consensus discussion. The table is still=
updated regularly so you may see some of them with a rationale in 2025. An=
y suggestions to help achieve technical consensus are most welcome.
<br>> > > > > >
<br>> > > > > > What's next?
<br>> > > > > >
<br>> > > > > > - More rationales in the table
<br>> > > > > > - Discuss objections on mailing list (if =
any)
<br>> > > > > > - Workshops
<br>> > > > > > - Add a table for economic nodes and thei=
r opinion
<br>> > > > > > - Build activation client and discuss par=
ameters
<br>> > > > > >
<br>> > > > > > Finally, I would thank all the developers=
who added their evaluations in the table and everyone who shared updates o=
n twitter. It was a coordinated effort to reach some technical consensus. Y=
ou can read all the rationales in detail to understand different perspectiv=
es and reasons to support a combination of opcodes over others.
<br>> > > > > >
<br>> > > > > > [1]: <a href=3D"https://groups.google.com=
/g/bitcoindev/c/fdxkE1Al4TI/m/CeEuls2IAQAJ" target=3D"_blank" rel=3D"nofoll=
ow" data-saferedirecturl=3D"https://www.google.com/url?hl=3Den&q=3Dhttp=
s://groups.google.com/g/bitcoindev/c/fdxkE1Al4TI/m/CeEuls2IAQAJ&source=
=3Dgmail&ust=3D1736950171965000&usg=3DAOvVaw3bOR11RN0ICQwdtzFtM2oO"=
>https://groups.google.com/g/bitcoindev/c/fdxkE1Al4TI/m/CeEuls2IAQAJ</a>
<br>> > > > > > [2]: <a href=3D"https://bitcoinops.org/en=
/podcast/2024/12/17/" target=3D"_blank" rel=3D"nofollow" data-saferedirectu=
rl=3D"https://www.google.com/url?hl=3Den&q=3Dhttps://bitcoinops.org/en/=
podcast/2024/12/17/&source=3Dgmail&ust=3D1736950171965000&usg=
=3DAOvVaw1YNRFxey7uB-En-XmoU2Wv">https://bitcoinops.org/en/podcast/2024/12/=
17/</a>
<br>> > > > > > [3]: <a href=3D"https://en.bitcoin.it/wik=
i/Covenants_Uses" target=3D"_blank" rel=3D"nofollow" data-saferedirecturl=
=3D"https://www.google.com/url?hl=3Den&q=3Dhttps://en.bitcoin.it/wiki/C=
ovenants_Uses&source=3Dgmail&ust=3D1736950171965000&usg=3DAOvVa=
w1Zz9_cF_YEmn8e3fPJRRWL">https://en.bitcoin.it/wiki/Covenants_Uses</a>
<br>> > > > > > [4]: <a href=3D"https://github.com/bitcoi=
n/bips/blob/master/bip-0348.md" target=3D"_blank" rel=3D"nofollow" data-saf=
eredirecturl=3D"https://www.google.com/url?hl=3Den&q=3Dhttps://github.c=
om/bitcoin/bips/blob/master/bip-0348.md&source=3Dgmail&ust=3D173695=
0171965000&usg=3DAOvVaw23Tdty6toDC934hdZvyUIP">https://github.com/bitco=
in/bips/blob/master/bip-0348.md</a>
<br>> > > > > > [5]: <a href=3D"https://gist.github.com/A=
deman/4a14614fa850511d63a5b2a9b5104cb7" target=3D"_blank" rel=3D"nofollow" =
data-saferedirecturl=3D"https://www.google.com/url?hl=3Den&q=3Dhttps://=
gist.github.com/Ademan/4a14614fa850511d63a5b2a9b5104cb7&source=3Dgmail&=
amp;ust=3D1736950171965000&usg=3DAOvVaw1xIA-WtF3DlkCJ1BvIDp-J">https://=
gist.github.com/Ademan/4a14614fa850511d63a5b2a9b5104cb7</a>
<br>> > > > > > [6]: <a href=3D"https://gist.github.com/g=
itzhou/dc92c41db1987db16fe665c26bc56dd9" target=3D"_blank" rel=3D"nofollow"=
data-saferedirecturl=3D"https://www.google.com/url?hl=3Den&q=3Dhttps:/=
/gist.github.com/gitzhou/dc92c41db1987db16fe665c26bc56dd9&source=3Dgmai=
l&ust=3D1736950171965000&usg=3DAOvVaw065hUCINbNQwfEpt8mnCK5">https:=
//gist.github.com/gitzhou/dc92c41db1987db16fe665c26bc56dd9</a>
<br>> > > > > > [7]: <a href=3D"https://gist.github.com/u=
devswap/b768d20d62549922b9e72428ef9eb608?permalink_comment_id=3D5359072#gis=
tcomment-5359072" target=3D"_blank" rel=3D"nofollow" data-saferedirecturl=
=3D"https://www.google.com/url?hl=3Den&q=3Dhttps://gist.github.com/udev=
swap/b768d20d62549922b9e72428ef9eb608?permalink_comment_id%3D5359072%23gist=
comment-5359072&source=3Dgmail&ust=3D1736950171965000&usg=3DAOv=
Vaw3-8Y6DrPS4XJjSk_ipDeX-">https://gist.github.com/udevswap/b768d20d6254992=
2b9e72428ef9eb608?permalink_comment_id=3D5359072#gistcomment-5359072</a>
<br>> > > > > > [8]: <a href=3D"https://en.bitcoin.it/w/i=
ndex.php?title=3DCovenants_support&diff=3Dprev&oldid=3D70520" targe=
t=3D"_blank" rel=3D"nofollow" data-saferedirecturl=3D"https://www.google.co=
m/url?hl=3Den&q=3Dhttps://en.bitcoin.it/w/index.php?title%3DCovenants_s=
upport%26diff%3Dprev%26oldid%3D70520&source=3Dgmail&ust=3D173695017=
1965000&usg=3DAOvVaw1ZmVTfPkg4HpgippH-tAJK">https://en.bitcoin.it/w/ind=
ex.php?title=3DCovenants_support&diff=3Dprev&oldid=3D70520</a>
<br>> > > > > >
<br>> > > > > > /dev/fd0
<br>> > > > > > floppy disk guy
<br>> > > > > >
<br>> > > > > > --
<br>> > > > > > You received this message because you are=
subscribed to the Google Groups "Bitcoin Development Mailing List&quo=
t; group.
<br>> > > > > > To unsubscribe from this group and stop r=
eceiving emails from it, send an email to <a href data-email-masked rel=3D"=
nofollow">bitcoindev+...@googlegroups.com</a>.
<br>> > > > > > To view this discussion visit <a href=3D"=
https://groups.google.com/d/msgid/bitcoindev/38a6f252-afe9-4155-a341-11a42a=
9a9007n%40googlegroups.com" target=3D"_blank" rel=3D"nofollow" data-safered=
irecturl=3D"https://www.google.com/url?hl=3Den&q=3Dhttps://groups.googl=
e.com/d/msgid/bitcoindev/38a6f252-afe9-4155-a341-11a42a9a9007n%2540googlegr=
oups.com&source=3Dgmail&ust=3D1736950171965000&usg=3DAOvVaw0u43=
bZGkIAelMJr_lndNzy">https://groups.google.com/d/msgid/bitcoindev/38a6f252-a=
fe9-4155-a341-11a42a9a9007n%40googlegroups.com</a>.
<br>> > > > >
<br>> > > > > --
<br>> > > > > You received this message because you are subs=
cribed to the Google Groups "Bitcoin Development Mailing List" gr=
oup.
<br>> > > > > To unsubscribe from this group and stop receiv=
ing emails from it, send an email to <a href data-email-masked rel=3D"nofol=
low">bitcoindev+...@googlegroups.com</a>.
<br>> > > > > To view this discussion visit <a href=3D"https=
://groups.google.com/d/msgid/bitcoindev/rp07_AsZrGYA3kFwZweIhzZVonmcuQktAz9=
r51MgKvrG101_T9NBTTMCFK_q3bMzIH0-QzfFtzC6uJGEKOIMi6Hl6qwbDtMWXXV2frBWXac%3D=
%40protonmail.com" target=3D"_blank" rel=3D"nofollow" data-saferedirecturl=
=3D"https://www.google.com/url?hl=3Den&q=3Dhttps://groups.google.com/d/=
msgid/bitcoindev/rp07_AsZrGYA3kFwZweIhzZVonmcuQktAz9r51MgKvrG101_T9NBTTMCFK=
_q3bMzIH0-QzfFtzC6uJGEKOIMi6Hl6qwbDtMWXXV2frBWXac%253D%2540protonmail.com&a=
mp;source=3Dgmail&ust=3D1736950171965000&usg=3DAOvVaw0bkAPmfT2ctdXS=
US_fi1wR">https://groups.google.com/d/msgid/bitcoindev/rp07_AsZrGYA3kFwZweI=
hzZVonmcuQktAz9r51MgKvrG101_T9NBTTMCFK_q3bMzIH0-QzfFtzC6uJGEKOIMi6Hl6qwbDtM=
WXXV2frBWXac%3D%40protonmail.com</a>.
<br>> > > >
<br>> > > > --
<br>> > > > You received this message because you are subscribe=
d to the Google Groups "Bitcoin Development Mailing List" group.
<br>> > > > To unsubscribe from this group and stop receiving e=
mails from it, send an email to <a href data-email-masked rel=3D"nofollow">=
bitcoindev+...@googlegroups.com</a>.
<br>> > > > To view this discussion visit <a href=3D"https://gr=
oups.google.com/d/msgid/bitcoindev/CAEM%3Dy%2BV9Gu0n7pLv1d%2BK1HfaFsB3kXg-L=
btppyZG0xjAa7DBaA%40mail.gmail.com" target=3D"_blank" rel=3D"nofollow" data=
-saferedirecturl=3D"https://www.google.com/url?hl=3Den&q=3Dhttps://grou=
ps.google.com/d/msgid/bitcoindev/CAEM%253Dy%252BV9Gu0n7pLv1d%252BK1HfaFsB3k=
Xg-LbtppyZG0xjAa7DBaA%2540mail.gmail.com&source=3Dgmail&ust=3D17369=
50171965000&usg=3DAOvVaw0V0HEyh-qxnAoEeXtu6rJU">https://groups.google.c=
om/d/msgid/bitcoindev/CAEM%3Dy%2BV9Gu0n7pLv1d%2BK1HfaFsB3kXg-LbtppyZG0xjAa7=
DBaA%40mail.gmail.com</a>.
<br>>=20
<br>> --
<br>> You received this message because you are subscribed to the Google=
Groups "Bitcoin Development Mailing List" group.
<br>> To unsubscribe from this group and stop receiving emails from it, =
send an email to <a href data-email-masked rel=3D"nofollow">bitcoindev+...@=
googlegroups.com</a>.
<br>> To view this discussion visit <a href=3D"https://groups.google.com=
/d/msgid/bitcoindev/c411dee9-1937-42fd-bc66-d347ddbff506n%40googlegroups.co=
m" target=3D"_blank" rel=3D"nofollow" data-saferedirecturl=3D"https://www.g=
oogle.com/url?hl=3Den&q=3Dhttps://groups.google.com/d/msgid/bitcoindev/=
c411dee9-1937-42fd-bc66-d347ddbff506n%2540googlegroups.com&source=3Dgma=
il&ust=3D1736950171965000&usg=3DAOvVaw1i_DUcKsKyJxdpVlr8Buwu">https=
://groups.google.com/d/msgid/bitcoindev/c411dee9-1937-42fd-bc66-d347ddbff50=
6n%40googlegroups.com</a>.
<br></blockquote></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/c7486012-79a3-46e4-a310-a3d0edb47e97n%40googlegroups.com?utm_med=
ium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/bitcoind=
ev/c7486012-79a3-46e4-a310-a3d0edb47e97n%40googlegroups.com</a>.<br />
------=_Part_534799_1161673789.1736864077681--
------=_Part_534798_751735772.1736864077681--
|