summaryrefslogtreecommitdiff
path: root/48/d590b1d6a833c493954c82bc8e4a2401ef66ee
blob: 79ac6148aac3ab9506ba81804daedc2797ae26b2 (plain)
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
Delivery-date: Mon, 28 Apr 2025 23:26:01 -0700
Received: from mail-qv1-f64.google.com ([209.85.219.64])
	by mail.fairlystable.org with esmtps  (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
	(Exim 4.94.2)
	(envelope-from <bitcoindev+bncBAABB3XBYHAAMGQEDQKKUXI@googlegroups.com>)
	id 1u9ePo-0002IH-7S
	for bitcoindev@gnusha.org; Mon, 28 Apr 2025 23:26:01 -0700
Received: by mail-qv1-f64.google.com with SMTP id 6a1803df08f44-6ead629f6c6sf89473696d6.2
        for <bitcoindev@gnusha.org>; Mon, 28 Apr 2025 23:25:59 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1745907953; cv=pass;
        d=google.com; s=arc-20240605;
        b=TKWO/utFPKAOysumlbRFPa74A+AU8Fxt8s6Wjx0DOESIC1fu+6WwIGi71YejbNGS2Y
         BxB26UH6xQpsBgoR0zUINUJsy86aIOwY5Y2u/KPJIeuMpxVTo9JLoR8rC9kBBuMnofVr
         UtSohrw8HqbtKgHYM2SaXMHMsMbh6T8fJOVg8ErQTxuqyx7jRo+S2o+IB+yuthkmgPhh
         tJ1zU+FejVr944mzCPj71YUtpeRNRz/uEX9xE+uOZ3xWNslx4t17GEFsPkG2Q/2Hywmd
         1TPuWIwbFZwRwZFEV0Y0cJueYmmCrw/QOk19C+1D1qBZwgoZlN9b8QeVPhauNQksGrbn
         yO+g==
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:message-id:in-reply-to:to
         :references:date:subject:mime-version:content-transfer-encoding:from
         :feedback-id:sender:dkim-signature;
        bh=CEFPEJC99QRXtPOKixwk4ovLVw1jv7zaDrFW3C+blJo=;
        fh=1jgCmtKVpPqTjZsjga31pSZu3lvCLsQG9Krg6V8gjD8=;
        b=CDDEH490Xoud3cmWlAXJK6vp1EK2xxVXEuXPPUtKXdOLTIRHRulWuEPZpg7rvD4oZn
         AdXGLiDPxd7090cAxh6mP5gMFBRKwTlD8rHgH+ChhoaGIQpu530LZJCN0Qv9znmUqPVW
         vS7IJrkPOaUGHyxjvgN7jkS3jO+mCD5aWVJcaL4IYXBs3uHMhR/NDxpLebdDr0g9HZ2e
         +t/3zPn0M9Ntia7CCWewhyu04qAUSxp8b/cct6Gh8WJTlY17dREF0yR9/VX3Bk+Ml+5u
         Bzm9fPGyLojOvtWy/IjFgvWzDHcBZA4PqMy5yIFvDxDkroK6gffk3Mrp7tyis0gwzssK
         i2gA==;
        darn=gnusha.org
ARC-Authentication-Results: i=2; gmr-mx.google.com;
       dkim=pass header.i=@sprovoost.nl header.s=fm1 header.b=AvyazvuU;
       dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=BeOvQ7m5;
       spf=pass (google.com: domain of sjors@sprovoost.nl designates 202.12.124.155 as permitted sender) smtp.mailfrom=sjors@sprovoost.nl;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sprovoost.nl
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=googlegroups.com; s=20230601; t=1745907953; x=1746512753; 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:message-id:in-reply-to:to:references:date:subject
         :mime-version:content-transfer-encoding:from:feedback-id:sender:from
         :to:cc:subject:date:message-id:reply-to;
        bh=CEFPEJC99QRXtPOKixwk4ovLVw1jv7zaDrFW3C+blJo=;
        b=v0FJ0k4hrNwpnA4ljgQEfwt5cUNohX21jJruvq4WmmKglvnZ/RnAifI2oJw5bZZ/XK
         wJnR1+MKkx/ofRKHcrKADns5ZPbSFhzz8t6U3J8+ZxucgtKrON9txhlcUeQceE4MU/Ep
         VLEhF/5hs8u/WyTlxb28g18QhL017aHqPAQq82dvS+bDimMcoCvvL4cjgiUIWbH9uQ4r
         wyISNRkPznSnU4ATz7oIKqw0gSrVmEcLgG9PKyc9s+Ygvw3bG1ymF3a5ljdIipE6YUCM
         nQlMlpNkgVbyG/XOzbtKKw4npCQC6GSqy7B8Xs+plp1jU7g8GS4KQj6grmVN9w1tZHue
         F0Pg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1745907953; x=1746512753;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:x-original-authentication-results
         :x-original-sender:message-id:in-reply-to:to:references:date:subject
         :mime-version:content-transfer-encoding:from:feedback-id:x-beenthere
         :x-gm-message-state:sender:from:to:cc:subject:date:message-id
         :reply-to;
        bh=CEFPEJC99QRXtPOKixwk4ovLVw1jv7zaDrFW3C+blJo=;
        b=k+tJAuUZOUgY5D7/nMaDpSS42KK3Kv9oXP0FuO6aBMBOEh+unbpcbO4AIhCxP1XXF3
         yeqZfhZIVptDSsdHrqgaHqhXhTm8vIO4eZlhYCS8VnIC8l0TUgzPDX3kGGBVqhf8eaf6
         wRfPi58pGH03WO+usT7UqAKCM2epfmk1rGbmN2tEGvXv8mDHWbu12zHoBn0d/nTHoiIv
         RjdHrhTkif7Ny0O/Ugd1UCnhNC4uliVY6GQLn3XlB+eBzObIbTghmlj8aJxtEjX2aUDZ
         FP8t2zqOKJYZuNz7Js3YXrYLHe+q93+qkBa8YWrVPNXWJKtudSOPSOqUo7spt18aiRru
         AaYg==
Sender: bitcoindev@googlegroups.com
X-Forwarded-Encrypted: i=2; AJvYcCVyKSPZ597R1rHkfVQq3czkspiJP0yJHjz8TnglWlCehACs+u59RjOiPQqMmwYObqpHm3Xvz3L5IBD0@gnusha.org
X-Gm-Message-State: AOJu0Yy3oMCJp0x+DhtoXrFryNLEKJYo5jrM/b+uLxYUXbo+ve+jjHBl
	e4MK7d+bHJpaH8cHmTKbAGdElYVVINfWlX4HGnK+BxaIQa5wMsHa
X-Google-Smtp-Source: AGHT+IFj1Fgy/cHA2IivwkM1EVZRC+oMSlo1YB/ncMtWxGLwO3H84j6qlr0Pgc6upGZeSRaekK5VmQ==
X-Received: by 2002:ad4:5dc9:0:b0:6f2:b7d9:689b with SMTP id 6a1803df08f44-6f4f0613b4amr46485306d6.35.1745907952980;
        Mon, 28 Apr 2025 23:25:52 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com; h=AVT/gBFVIqlle5XWAFre0zry0PYr0P5qkyElqD4xvX4SSesN1A==
Received: by 2002:a05:6214:3c9e:b0:6f4:f5cb:2bd4 with SMTP id
 6a1803df08f44-6f4f5cb2bdcls3134756d6.0.-pod-prod-07-us; Mon, 28 Apr 2025
 23:25:50 -0700 (PDT)
X-Received: by 2002:a05:620a:258f:b0:7c7:82a6:ec7c with SMTP id af79cd13be357-7cabdd719a6mr384069685a.4.1745907950369;
        Mon, 28 Apr 2025 23:25:50 -0700 (PDT)
Received: by 2002:a05:620a:490c:b0:7c5:495f:5415 with SMTP id af79cd13be357-7c9614d10dbms85a;
        Mon, 28 Apr 2025 09:25:53 -0700 (PDT)
X-Received: by 2002:a05:6122:3288:b0:523:a88b:9ac5 with SMTP id 71dfb90a1353d-52a89efb582mr8965398e0c.9.1745857552496;
        Mon, 28 Apr 2025 09:25:52 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1745857552; cv=none;
        d=google.com; s=arc-20240605;
        b=Gh817XZjqiVjdQ/DptfLQliFLT9FJOoZ21J7jyBz3H0oVT6Inh/PWGjInJydAhUiMX
         2Gpy86SMXfBPRv34oCthPw3LK1KnA8kO62S5Fo/0hAuTo0NZSWy5v1jvVz8MKctw+98h
         tqWZ1sD8U9Le1HD9P2D+3MHaUTuYAXeB+a30ewxaaGpJNWVCT+2PYwS2YtMH3h4YJt6U
         s14uyggMREZzXh+7u7xmNRlUZEYRPTnQ1zFb0P5RS8ilSzRWioVGFsArTCtAsVUfe8cc
         7tDvuFXCRBiOPXb99BTMWS2tr0LwwXspUjx151oZp55LgGkM1Il5AKIrZkZOgfRr7mi6
         II5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=message-id:in-reply-to:to:references:date:subject:mime-version
         :content-transfer-encoding:from:feedback-id:dkim-signature
         :dkim-signature;
        bh=KSC2NOCLB1zLcyI+6e14Yo0FqXecRK4g0t6yRrGP+H8=;
        fh=DMP0F9ULS1guKiqimntQRCN8ZraraesEgQuVcn7F0Z0=;
        b=NXbSy0w+6iclwl8n8SeYhxFM+op2lLM9HTcE8CEw06VeGBVrgusIgvGWVzcFqDUWPw
         Qk7cGu3jApVLUwh7qXUW+mp7iAnE0Zwmsodt5csI8m92Ttjw5oECr9SRTI8TqW6kDL0b
         LvWvRpP806yUnvOAdfVhwdRVO8NlE69Ep/S7vsIbibrjks8R9dhJV3Cojrj5Vg7L9xXq
         rfAEN8SOqxYjo4dePUAuJVOqbPColzmwjYeKFkLdQR3a5zZzadygUNwM9/cv+WWrV3Zo
         Ip91DSAASqqk4BcZowJCx5x8iufss5Z0x3txAiVSMUk8LCmtp/TI7lh9fceptwWglapu
         w2Bw==;
        dara=google.com
ARC-Authentication-Results: i=1; gmr-mx.google.com;
       dkim=pass header.i=@sprovoost.nl header.s=fm1 header.b=AvyazvuU;
       dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=BeOvQ7m5;
       spf=pass (google.com: domain of sjors@sprovoost.nl designates 202.12.124.155 as permitted sender) smtp.mailfrom=sjors@sprovoost.nl;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sprovoost.nl
Received: from fhigh-b4-smtp.messagingengine.com (fhigh-b4-smtp.messagingengine.com. [202.12.124.155])
        by gmr-mx.google.com with ESMTPS id 71dfb90a1353d-52a9933e8c9si11216e0c.3.2025.04.28.09.25.52
        for <bitcoindev@googlegroups.com>
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Mon, 28 Apr 2025 09:25:52 -0700 (PDT)
Received-SPF: pass (google.com: domain of sjors@sprovoost.nl designates 202.12.124.155 as permitted sender) client-ip=202.12.124.155;
Received: from phl-compute-02.internal (phl-compute-02.phl.internal [10.202.2.42])
	by mailfhigh.stl.internal (Postfix) with ESMTP id B78D5254027F
	for <bitcoindev@googlegroups.com>; Mon, 28 Apr 2025 12:25:51 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
  by phl-compute-02.internal (MEProxy); Mon, 28 Apr 2025 12:25:51 -0400
X-ME-Sender: <xms:D6wPaLhcpT5B8ut2tgcCQ2iyRAenQTT50ucuQ-ARBQlcEy-iiwNOsQ>
    <xme:D6wPaIDmS49x3lA3PQ9iEOyPzFjQnpdopK0iBBmvjjdMmA4G34eMP8eIP1Pq9l9uh
    dkExpj8huBONcLflw>
X-ME-Received: <xmr:D6wPaLF8yKlQVXTxG0qFmg-F2Tw3Uh8wHCnSBiy00zVs5MGBQ8B9lTpkxoYNuB5YojTn>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddviedugedvucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
    pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
    gvnhhtshculddquddttddmnecujfgurhephfgtgfgguffffhfvjgfkofesthhqmhdthhdt
    vdenucfhrhhomhepufhjohhrshcurfhrohhvohhoshhtuceoshhjohhrshesshhprhhovh
    hoohhsthdrnhhlqeenucggtffrrghtthgvrhhnpefhhffgtddtffehgfduheejfeeiteef
    ieeugeeugeelhedufeeufefhhefgtdeludenucffohhmrghinhepghhnuhhshhgrrdhorh
    hgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepshhj
    ohhrshesshhprhhovhhoohhsthdrnhhlpdhnsggprhgtphhtthhopedupdhmohguvgepsh
    hmthhpohhuthdprhgtphhtthhopegsihhttghoihhnuggvvhesghhoohhglhgvghhrohhu
    phhsrdgtohhm
X-ME-Proxy: <xmx:D6wPaISJcyDyVsmWQxbYRlNofH-iR5AqxPL2EY3NAGKomGTz2fnaQg>
    <xmx:D6wPaIzpsRiQH1Ig8Zb31maGXYyfuDfL7mxNPOFZQLIDZQv6YD4h3g>
    <xmx:D6wPaO7UipERbdT43Xuzb-G53EU5nnQgXv3QHzNISteuN9y_3WO01Q>
    <xmx:D6wPaNwOcNUIUKcM864-g_7utiXfksmpZ1R8GqHyPtTTkbO0wJEWjQ>
    <xmx:D6wPaKoFXSDj0px-aE-YPPayghi8Ldnh3L4SBkZoDA156BCd-eHgAkY1>
Feedback-ID: ie5e042df:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <bitcoindev@googlegroups.com>; Mon, 28 Apr 2025 12:25:50 -0400 (EDT)
From: Sjors Provoost <sjors@sprovoost.nl>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.500.181.1.5\))
Subject: Re: [bitcoindev] Removing checkpoints in Bitcoin Core v30
Date: Mon, 28 Apr 2025 18:25:39 +0200
References: <F8E9B25A-5198-4A5E-B3D7-9DAD6B709825@sprovoost.nl>
To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
In-Reply-To: <F8E9B25A-5198-4A5E-B3D7-9DAD6B709825@sprovoost.nl>
Message-Id: <8E4DFC2E-23D4-4D22-87C5-415A3CFC7E57@sprovoost.nl>
X-Mailer: Apple Mail (2.3826.500.181.1.5)
X-Original-Sender: sjors@sprovoost.nl
X-Original-Authentication-Results: gmr-mx.google.com;       dkim=pass
 header.i=@sprovoost.nl header.s=fm1 header.b=AvyazvuU;       dkim=pass
 header.i=@messagingengine.com header.s=fm3 header.b=BeOvQ7m5;       spf=pass
 (google.com: domain of sjors@sprovoost.nl designates 202.12.124.155 as
 permitted sender) smtp.mailfrom=sjors@sprovoost.nl;       dmarc=pass (p=NONE
 sp=NONE dis=NONE) header.from=sprovoost.nl
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 (/)

Note that my original mail was written in a hurry and does not provide a fu=
ll overview of the arguments for and against checkpoints. Perhaps this thre=
ad can serve as a collection point for the various historical discussions t=
hat were had on this topic.

In the context of BIP30 [0] Eric Voskuil brought up performance:

>  The top checkpoint is consensus for over 11 years and materially reduces=
 the validation cost of 295,000 blocks.

I don't think performance should be a consideration when removing checkpoin=
ts.

Afaik checkpoints were not introduced as a performance feature, but rather =
as a DoS vulnerability fix.

Even if they were, imo they shouldn't be used for performance enhancement, =
as it creates a temptation to add more - although Eric clearly says:

> I would never advocate for adding more

But perhaps someone else would fork Bitcoin Core (or Libbitcoin) and start =
with honest checkpoints, in order to gain adoption due its excellent perfor=
mance - especially when combined with a UTXO snapshot. And then suddenly it=
 has an "upgrade".

But even if this wasn't a concern, the performance benefit of the latest ch=
eckpoint from 2014 is just very small. That's because the early blocks don'=
t have that many signatures to check. The first 5 years of Bitcoin represen=
t only 3% of all historical transactions.

On an M4 MacBook I did an IBD up to the last checkpoint at height 295,000. =
This took 17.5 minutes.

I then ran it again with -assumevalid=3D0, i.e. checking all signatures, wh=
ich took 18 minutes.=20

These times are from connecting the first block until connecting block 295,=
000. They exclude the 1.5 minutes spent on the header pre-sync mechanism, w=
hich is required to operate safely with or without (new) checkpoints. In bo=
th cases I used -dbcache=3D3000 to avoid UTXO set disk I/O.

The difference is 30 seconds, but let's round that up to 1 minute because m=
y setup isn't a clean lab.

A full IBD takes at least 5 hours on this machine, so the benefit is roughl=
y 0.3% (unless we add another checkpoint).

Loading a UTXO snapshot at the checkpoint height, without doing background =
validation of historical blocks, might get us an additional 15 minute speed=
up, which is still only 5%.

Libbitcoin would probably find a different ratio, as might a machine with s=
evere CPU limitations, but I suspect it will be equally negliable. And with=
out new checkpoints the ratio keeps going down over time.

Note that -assumevalid doesn't need checkpoints, it just falls back to more=
 slow validation if there is a major reorg (but perhaps sub catastrophic). =
Its performance benefit for the present day blockchain should be much highe=
r than what I found here.

That said, I've never been a fan of -assumevalid conceptually. Hopefully it=
 can be replaced by something like AssumeUTXO + SwiftSync [1] for the backg=
round with full validation using block Undo data.

- Sjors

[0] https://gnusha.org/pi/bitcoindev/E8225EAC-BED8-4840-8E3D-81A55C365209@v=
oskuil.org/T/#mf3d290b70bae822cf31a683439ca8dbaed443e42
[1] https://gnusha.org/pi/bitcoindev/CAPv7TjaM0tfbcBTRa0_713Bk6Y9jr+ShOC1KZ=
i2V3V2zooTXyg@mail.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/=
8E4DFC2E-23D4-4D22-87C5-415A3CFC7E57%40sprovoost.nl.