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
|
Delivery-date: Fri, 02 May 2025 15:24:28 -0700
Received: from mail-oo1-f60.google.com ([209.85.161.60])
by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
(Exim 4.94.2)
(envelope-from <bitcoindev+bncBC5P5KEHZQLBBE4M2XAAMGQEQGLVKUA@googlegroups.com>)
id 1uAynz-0003RG-Q4
for bitcoindev@gnusha.org; Fri, 02 May 2025 15:24:28 -0700
Received: by mail-oo1-f60.google.com with SMTP id 006d021491bc7-605fbf2d4b6sf1708218eaf.2
for <bitcoindev@gnusha.org>; Fri, 02 May 2025 15:24:28 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1746224662; cv=pass;
d=google.com; s=arc-20240605;
b=Q7qJ6TAKNqRHOF0xA5V4KjYJ8aqYqAqA86DHRyzNBZZ1WJ0hv0Xj+0xs2r1AziyfC4
7YTp6aXzXDBSg55lhd3QgejPAdyp/vUx7yeaytYanP/JVWn2AKLf277PgoRDMSxsjIw6
5+xU57sgOaaDaiAXcX1R9Z0ZzCQcj4vCwcycHxRna8RWzI2n8D2iq4gbaCGqpDBHMdNV
mPvaAOjyPP5ilqn2zccFxsU90ZtQReEGY2Wa2RKDLh3KGhpoTVAAyBsNOSqJgqqbNQhc
diNktGa9jOLyRS476EJhM/mtTGuRICRhRt/MUROULtl8MsyRdBm9AQTudKlXMN59rIUT
oUhA==
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:thread-index:content-language
:content-transfer-encoding:mime-version:message-id:date:subject
:in-reply-to:references:cc:to:from:sender:dkim-signature;
bh=bqAbcnRJIfIn9VsLPiN97YrvIJk5s/vOyu8u9skX4Ks=;
fh=ZTMxX2Mnh+oCiTFWw3wDekZpc09k4oZlw+p5gxS3FAY=;
b=OGL6/S/2GHYsHBKW5A2ZKBN3v+dj1bumbJB1Ve1wuMzk8lWp2EBI5HilKVzI7Vbsl5
sL+2r2xsgC7NSuXHWtzV2A7VQ6721dlhH2a522pvjikSkYtWc3/FpT4glxbE7uBLD36F
nT/wMVW7oLKNNz8E/Nf28etUnDfr7ldnFfvUrsiShpYYlIfHcMvrkBJPfdnnOflEQqky
7U76u1XJDLDS9dtaRLk3hGcTP1x9ZFkJtgghmxrNjUIQeUmoH8CWuf4dcJZ5Mj+nmBjG
PADWbY8wkFtscHqQ+/Tc9/SpJR5SEP7fBj3nYJYhGmBvt0PT7SsF0GdswkgThiIuzlpp
lGuw==;
darn=gnusha.org
ARC-Authentication-Results: i=2; gmr-mx.google.com;
dkim=pass header.i=@voskuil-org.20230601.gappssmtp.com header.s=20230601 header.b=BSUVPkmV;
spf=none (google.com: eric@voskuil.org does not designate permitted sender hosts) smtp.mailfrom=eric@voskuil.org;
dara=pass header.i=@googlegroups.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=googlegroups.com; s=20230601; t=1746224662; x=1746829462; 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:thread-index:content-language
:content-transfer-encoding:mime-version:message-id:date:subject
:in-reply-to:references:cc:to:from:sender:from:to:cc:subject:date
:message-id:reply-to;
bh=bqAbcnRJIfIn9VsLPiN97YrvIJk5s/vOyu8u9skX4Ks=;
b=ldYiuwAIEqmVzURj8fSwD8Gw6jkViKQ1/APouPypV27YynKN7ARn9atf4shU9KS1KF
+VMrLs8riQD+TQ7jQPgHb6S5Gt1cyZC72mjKF/2WoDCNRoZlVBn2XzjI8YcguTLuaHII
O8MNnq9zz5aGZ5RTzCKA96yCITmV9ExA35uYSBEW2zwSNSlzU2Ies5asn61sQd5TjtSq
9m+BhO543YByfoX19SyBopAOO+uEJnpyKg0RgcvjGu/jIsbppEpmy10tgPLqmUR2oKx1
NqD5MePfHF5Apr4bEmj8Ol0Lbs481yr/tuW4GdAAgK/tnMo3bjlT+7NuQQFb7S2lmqSa
ghaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1746224662; x=1746829462;
h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
:list-id:mailing-list:precedence:x-original-authentication-results
:x-original-sender:thread-index:content-language
:content-transfer-encoding:mime-version:message-id:date:subject
:in-reply-to:references:cc:to:from:x-beenthere:x-gm-message-state
:sender:from:to:cc:subject:date:message-id:reply-to;
bh=bqAbcnRJIfIn9VsLPiN97YrvIJk5s/vOyu8u9skX4Ks=;
b=F254egiPjJmnjhlFQ2wSZDFJ2Of/mpBUJtLL7yf31crM3BXC03pvZovbTCbMHPHwo6
pv3Ngz7ylLeG0N7p2c4Fi+oivOed+9rV362FudGdovnOunKG0KgPpkyXVORCZ8LQNRYS
xWEns53t6Z6OpTuqXCDs9gVsYl8UfOW4C3TkWiG6BVFlgftyBz1wL/RWRMwMLmtCXZo/
5976ltcYLZ9Tr37hSiTZPRuEEeXW/LJ2xUt01J/n5+ComqAlIQzF1y90bgCxRCSXiLDB
7fMY1QqdJXtHciWmcPggZ+TC97SRaTV+4snG19MNHnvzU41XzSSMv4DdqP4PUEp63ela
4azg==
Sender: bitcoindev@googlegroups.com
X-Forwarded-Encrypted: i=2; AJvYcCUhaNv4kAeCaqL38Fv/36L7RmcWvvB6pTEuJlN7lL9ACMrX2n3C6k3Hj7oYU4LjeRotC+O/QArcw2yl@gnusha.org
X-Gm-Message-State: AOJu0YxHGy/CA+pKkoXNLKmjxzzvgSLcvhBMWKEuqT3QVGHYVAIQGVek
Ch51haCIm4Fppg6mfHdAdwWJqtkiFKg8MZJTBqyNZcO0Hs+aMCqT
X-Google-Smtp-Source: AGHT+IHTP6ujP4adGDO0dixM+tx3KnbLjiLB3kWizMODrKLUbecsqkB8iyfKO05GNW93l4bbaEOPOA==
X-Received: by 2002:a05:6820:a07:b0:602:7078:df55 with SMTP id 006d021491bc7-607faa53582mr506257eaf.5.1746224661939;
Fri, 02 May 2025 15:24:21 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com; h=AVT/gBEMXvmy4wFUa/UHVx3qfEI83xk6g0sxwoF94dlbtcNvrA==
Received: by 2002:a4a:b304:0:b0:606:4368:f7d with SMTP id 006d021491bc7-607def39c14ls735448eaf.1.-pod-prod-03-us;
Fri, 02 May 2025 15:24:19 -0700 (PDT)
X-Forwarded-Encrypted: i=2; AJvYcCUMm5vOixs7ueApUVi6srph8rBJ9zNqVBm3JTezqRk1jLPAQXXBKLaLmcCHS7a7OiybScoWLP4p6R1c@googlegroups.com
X-Received: by 2002:a05:6808:1450:b0:3f6:a9d4:b7e4 with SMTP id 5614622812f47-4035367101amr534309b6e.20.1746224659062;
Fri, 02 May 2025 15:24:19 -0700 (PDT)
Received: by 2002:a05:6808:2109:b0:403:484c:9068 with SMTP id 5614622812f47-403484c9444msb6e;
Fri, 2 May 2025 14:09:08 -0700 (PDT)
X-Forwarded-Encrypted: i=2; AJvYcCXXIgN2q7dDDSqa5vQ5OpJTESp3+CynANsaga5NLUc0r6mM3n5IMJwZkq5eRqBVDKWxvwx8YfSUfwJA@googlegroups.com
X-Received: by 2002:a05:6a21:505:b0:1ee:e33d:f477 with SMTP id adf61e73a8af0-20e06436b8fmr747750637.15.1746220147717;
Fri, 02 May 2025 14:09:07 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1746220147; cv=none;
d=google.com; s=arc-20240605;
b=L8leO1zgFsu4N57IxnmLlfDbuG83vUgxXXMoDLLmo5UdNKCt7d5en4Nm9V2xGPsOt7
3sYqtXC5JI9CIrskBsGonEwbpMmqCFjeJpJhgB4Q7wR6bnU1kftuvx8sGLU9/Y6Ew4Md
rEiOL4f01icvLAZxgbUu2doeDA4yQzDLJCjH8Imn+1KvzCbrnd2+FFPGNNxUGKhS+HqX
8ajC9xCpKqIsvuKuoF8l/sikTdqtbXTfNYJRDB45xWQKBkGcQ6YctJFALjEBCk6GHU25
KblvvhoMKlDYGgyu2rlpSACqFEt+zF7E4/cs1KEovK7X7NfWCBURm2PZWV1MBhUlVg8v
k5Qw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
h=thread-index:content-language:content-transfer-encoding
:mime-version:message-id:date:subject:in-reply-to:references:cc:to
:from:dkim-signature;
bh=EG057oE2cPCWUNgy7hU7jbuQVuLJjbDcx3yA1O1Etp4=;
fh=bJVX0/so8UZZZCIxlkZLZ/OQ2Enl4rUSGSb+wMpMYCI=;
b=H+o2PNbtBnh5+zwKM7TwmH/zdvaODBEdJA2SaLQCF2pj2j0nKwE3n85sgdwPoCzWg8
WYUGjklnBt71ECGMc2wAdlBsgA7gHZElUhohoweWq47lfx4Vg/3vgwVQqv6IZ55/dU4B
kbZaM3PxTnmb5RVlIQEbzw6uYXfCbDRSjblam1Kn5SzotvM+28sZF7Jt3XU8aLFhXpMf
RmQ7QGe88o7dzauQpHPrPRqq7TOX/5UKwgK6JnRbVi5nYyHEFDmEsPBvLyIwQmUn0VCT
Ovik7HYm9bgAzXiaVAErwGQatraasXX4Zn4IRET4po8ZEAKtspeUwn+JInbTrdRqN5Bb
rLrQ==;
dara=google.com
ARC-Authentication-Results: i=1; gmr-mx.google.com;
dkim=pass header.i=@voskuil-org.20230601.gappssmtp.com header.s=20230601 header.b=BSUVPkmV;
spf=none (google.com: eric@voskuil.org does not designate permitted sender hosts) smtp.mailfrom=eric@voskuil.org;
dara=pass header.i=@googlegroups.com
Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com. [2607:f8b0:4864:20::736])
by gmr-mx.google.com with ESMTPS id d2e1a72fcca58-74058d76e55si115912b3a.1.2025.05.02.14.09.07
for <bitcoindev@googlegroups.com>
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Fri, 02 May 2025 14:09:07 -0700 (PDT)
Received-SPF: none (google.com: eric@voskuil.org does not designate permitted sender hosts) client-ip=2607:f8b0:4864:20::736;
Received: by mail-qk1-x736.google.com with SMTP id af79cd13be357-7c0e135e953so256181485a.2
for <bitcoindev@googlegroups.com>; Fri, 02 May 2025 14:09:07 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCX5odNZ8yvYvmzlhKYbYLdbo8uu+d4RFdc95PbXJuVs+htzxHQV+VumFo2gQPwsZBBil5N65lfdZTX1@googlegroups.com
X-Gm-Gg: ASbGncta0oQPg3v68Zt2UsqLU4Tw/ubvHMGdJNb1uo0Ay3hI5e0ErQXaVbAy0U/JNpA
YZQDEf4B2KOtVgtDPIyfhG5NcpbjlRSYRAoIkJf8KpFd6myggcuRPj1daJgDTMTwqN6fE5oaFOW
vqYi6ILYdcO0671/SLchBF9b+EpUXQ61MYkk02+hQ2c8XkYNTfl8FlidbjWlqzYYK/RZWNnbxc7
a9U1oG6oU+9Ps784z7O7zkamKOg0jfemHb1vw4ZS4X/2ASDj81OGAwqKOgERsEqdieJ/DE3e4WQ
Y7U9rCrG8FYhHof3Idn8jkUFywX03MYgO5MbZzxv+T3KioAC/Iv7j+EZhENfOe4TghD5KjrPuSN
6+gMsoeh+0tlclfrs
X-Received: by 2002:a05:620a:4085:b0:7c7:a5e6:d287 with SMTP id af79cd13be357-7cadfeda3e2mr90771985a.52.1746220146578;
Fri, 02 May 2025 14:09:06 -0700 (PDT)
Received: from ERICDESKTOP (c-73-227-67-43.hsd1.nh.comcast.net. [73.227.67.43])
by smtp.gmail.com with ESMTPSA id af79cd13be357-7cad23b6165sm234666585a.14.2025.05.02.14.09.05
(version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
Fri, 02 May 2025 14:09:06 -0700 (PDT)
From: <eric@voskuil.org>
To: "'Ruben Somsen'" <rsomsen@gmail.com>,
<bitcoindev@googlegroups.com>
Cc: "'Sjors Provoost'" <sjors@sprovoost.nl>,
<luke@dashjr.org>
References: <86FA0255-1A81-4DA1-9B1A-E57AD4F1DAAD@sprovoost.nl> <E8225EAC-BED8-4840-8E3D-81A55C365209@voskuil.org> <CAPv7TjbEK8r8AQgzLvrwPmQHavU-ujgJqSz+7CFy_8W0_pwMvQ@mail.gmail.com>
In-Reply-To: <CAPv7TjbEK8r8AQgzLvrwPmQHavU-ujgJqSz+7CFy_8W0_pwMvQ@mail.gmail.com>
Subject: RE: [bitcoindev] The Tragic Tale of BIP30
Date: Fri, 2 May 2025 17:09:05 -0400
Message-ID: <035301dbbba6$701dd490$50597db0$@voskuil.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-us
Thread-Index: AQJvRd78+PJgEYMTVZ1+xH+uWjc2cgG5pz42AjXO1GqyeREykA==
X-Original-Sender: eric@voskuil.org
X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass
header.i=@voskuil-org.20230601.gappssmtp.com header.s=20230601
header.b=BSUVPkmV; spf=none (google.com: eric@voskuil.org does not
designate permitted sender hosts) smtp.mailfrom=eric@voskuil.org;
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.8 (/)
Hi Ruben,
> >The obvious solution to this problem is to not create the problem in the=
first
> place.
>=20
> Yes, that is a fair point. Not removing the checkpoints is one way of ens=
uring
> the consensus bug cannot be triggered.
It's more than that. We are contemplating a "consensus bug" that would caus=
e a chain split because the BIP30 exceptions are no longer being covered by=
any checkpoint. The heights at which this would cause a split are well bel=
ow all but 3 of the 14 checkpoints. For that to occur 11 formerly checkpoin=
ted blocks would first have to be popped, given the existence of a stronger=
chain capable of triggering the above bug. This implies 11 more chain spli=
ts, depending at which point nodes adopted the checkpoint soft fork(s), jus=
t to reach this bug, and up to 14 possible in total. It makes no sense to f=
ix this bug without first fixing chain splits that would be triggered *over=
200,000 blocks less deep* than this BIP30 bug. And the only way to fix tho=
se is to not remove the checkpoints - which renders this bug inert.
> I'm agnostic about whether having
> checkpoints is also a reason to forgo consensus checks such as BIP30 (or =
my
> proposed alternative of checking the coinbase TXID for uniqueness and
> ensuring no future collision).
There is certainly a reason, the checkpoints are consensus rules.
> Even though checkpoints essentially force your node to halt if something =
were invalid up until that point,=20
Right, if any other rule conflicted with them then the chain would stall fo=
rever at that point. That is not the applied meaning of these rules. The ch=
eckpoints declare that the blocks are required and therefore inherently val=
id. The reason we are having this conversation is the contemplated removal =
of the checkpoints, which also implies that other validation within covered=
blocks is not consensus.
> I still think there is value in being able to verify that the rules were =
followed.
Like them or not, checkpoints are the rules that are required to be followe=
d.
> >Solution C could be to remove it, but restore the previous UTXO
>=20
> Yes, as Sjors also pointed out, I do think it is best to be precise about=
which of
> the duplicates you're keeping. In fact, it's probably required to ensure =
the
> rolling UTXO set hash remains consistent.
Sure, but these are implementation details, not a matter of consensus. The =
consensus behavior would be that the second output is popped with its block=
and the first remains with its block. Assuming it would be written up, tha=
t's how I would recommend handling it.
Best,
Eric
--=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/=
035301dbbba6%24701dd490%2450597db0%24%40voskuil.org.
|