summaryrefslogtreecommitdiff
path: root/6f/30d339405e6179c215a586bfe8fdaf1d32054a
blob: c9b21dd4473ee0fcc8d93968ed14a87f0975f7a1 (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
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
Delivery-date: Tue, 02 Apr 2024 05:00:48 -0700
Received: from mail-ot1-f64.google.com ([209.85.210.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+bncBDFIP6H73EBBBZ7GV6YAMGQEIDFQSJA@googlegroups.com>)
	id 1rrcop-00073I-Nx
	for bitcoindev@gnusha.org; Tue, 02 Apr 2024 05:00:48 -0700
Received: by mail-ot1-f64.google.com with SMTP id 46e09a7af769-6e889969dc0sf3231215a34.1
        for <bitcoindev@gnusha.org>; Tue, 02 Apr 2024 05:00:47 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1712059241; cv=pass;
        d=google.com; s=arc-20160816;
        b=r/4BQUpHkj8BIsoHbjERaQOa8eKxCVhFVNrvm0VU767iXGDmG+a2TNdVNUXxJNuO4+
         Zwkbrhib8jWesNJeYAlaUkVeQ6DJLnwFEnQfMe63/pzFqh4gyRrxZg3oXXoQKc0mnGXu
         oXVZjYryisNfkatzltPqwBZJEvwU1140uu4fj57rnn3vahZvg/S5Tximhf0OXDbGauHw
         gnbxPTkDXTbXWImoXg5mSGKH3L/yoWwlAcX/crx7d0DI9KTUQ/S7YpN+gxkJ5qg3E39J
         EN1TXgHwRmopu86C3c3tX8jsQFYxF24aVuifxX2vvmSD44qsjEkRwRlNfLVxw9ilqAco
         VRKQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        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=NXB/NKSDXBm7oTpnk0TSVbmnA1zAcTqyml9KSM774iY=;
        fh=KcHIWiDxH3Iw28qJdQTz/4FSqh5OqzKngXkK9GxbMyU=;
        b=L4OkQNMLH6VuiKWXWhvc0w1Xw1Fmfx+zHX1PiGbUVsa6jIZ+rM6j96nspUmnIx3bGK
         LVFb0BkfLUXIsma6P/7HvG98gOruDCyyKQGMcFZt2TdqWABCfCOoPbDnNepISAdUQe5H
         LN84MG5kklWiRb3aUy3dx0FxItOVa1GhHrGfXDp00YiUHDXWA1I9aqIeOLqgiAMk70ck
         Sl4dvwSIpdWIWfIYBIf9EBgeUppXaP7OcRnoriurUAohs2fUmXbtsw8dl0eyBIdHUXxr
         dU5JS5DdBZ/NMCgZXbHEDrSuBjud/HW5IbAcDauDo3lvtq8EA+WhtFZgiIESJeDUge3B
         GRrg==;
        darn=gnusha.org
ARC-Authentication-Results: i=2; gmr-mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20230601 header.b=dtOWsPqb;
       spf=pass (google.com: domain of jameson.lopp@gmail.com designates 2a00:1450:4864:20::130 as permitted sender) smtp.mailfrom=jameson.lopp@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=googlegroups.com; s=20230601; t=1712059241; x=1712664041; 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=NXB/NKSDXBm7oTpnk0TSVbmnA1zAcTqyml9KSM774iY=;
        b=lW3NPuWCk2j6HYRjTl+KDLmZSICeUukAO5fxaiVk9xGqA7hgE/kqtc34CRXMocXfTX
         hMrLK2cDHrrpCDnYbTUAGunSAb+eJ6AG8OAMXO5MrRyorQQlWugRv3CCOBg4uaRx6XFM
         J749JrUVgTF03TcTeEiC3ANwB+7A563pNG5hTK+pyWaKjKmI8RHtVM2BINF4+V6hTElZ
         f1kW5qPNcxKlBRXN3xIt84rBON8cIuUCfZRXQwT7XUJvIiqADjySiAwMjAKFWnGBQxOh
         z5cv4fG8tbE3Gg4NBphrukk+2fcjLYSMt+JtgcBnRG/NBk1s1UJTplFCVIR7k22PBk/9
         u+ug==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712059241; x=1712664041; 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=NXB/NKSDXBm7oTpnk0TSVbmnA1zAcTqyml9KSM774iY=;
        b=VqU1lDIFQNSKSBhaEppyvcKwq6GGYiph/+JhiEiLcmdAPEiBpei47GtonzgjUZIOij
         oPkl8wDxrrisnxfv8IndLJWDBrsnudAZUPARYIsa+671gTfXywWD727aUwMh95nIPQpP
         fSDLn/oDZ0N8dn8DJv0Kb6YSwX5eRtCVg8sMZiI85zWDyDdNTw8lei+QFIj5qDjfNOJF
         ksgp4+4oju4LOyC1+guWsLII4PHM2VYULhB1l5NaF+vWe6CMcvCdJyJoe1D51NAPIyPE
         E4z8NdbrCXJWwh85bhcdRLoftHhBbL2W50Tf1tNQrJiG7LQGjMeHTEIoRFYmfoRVL9CP
         SUsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712059241; x=1712664041;
        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=NXB/NKSDXBm7oTpnk0TSVbmnA1zAcTqyml9KSM774iY=;
        b=lMDvC8kNEwPnBwN/fwQL7/ax7rM9WJDirijJsA1D70SCaP5x+MYLe8X/qxhqA1fMyx
         caaV0GDmuBY3In3u2U8qBS2ZuqPg7dsmBNq/JHrwIy54hzzcjL+hf6tWGcFO+r5kkpbA
         ZBAg6pRKdeo7Qceq3cejz9OVcRBTLQJKLHxIcRcsLD50nT7FjEuPnKZp8yKIXDunhfL8
         y4oym3xABZnpQveh/EG63JbHiJuXyAuR1CUfa3dLECoF6de73tOL6//jdqXIJ37adKgN
         kRK7wixILp5uADE2M5o4EKV+goJA3X3NDYIxjRlJoq25kqMGN0uaBckISPU0EoocgFmX
         BGVQ==
Sender: bitcoindev@googlegroups.com
X-Forwarded-Encrypted: i=2; AJvYcCUcBpKWuANijDEpA33JgY3T9zLZcL2/qnp89ozkK0Y16opAF21HPLMiXxil2tjJN3n2WS+lQCozm+16qdzDOUBBzIea93E=
X-Gm-Message-State: AOJu0YwxcPqjkJimrPMUCSD4gl8q9o9rC0lnanCnHfHw5Sv+0uVwClQ+
	Djs3eKg85gJryzGlRw5iI7u+5AacvMmoNyZO6chaJqX7XNYWeYaY
X-Google-Smtp-Source: AGHT+IFtmOkG5YrSxShgyfSSHh8vY8+4wPG+69DbiK0eZleqzCVoGrcHyICJRryLeTL09Plc/oyEXQ==
X-Received: by 2002:a05:6871:48e:b0:220:b839:4bb0 with SMTP id f14-20020a056871048e00b00220b8394bb0mr14390988oaj.19.1712059240439;
        Tue, 02 Apr 2024 05:00:40 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com
Received: by 2002:ac8:5949:0:b0:432:b56b:3ef7 with SMTP id 9-20020ac85949000000b00432b56b3ef7ls2529532qtz.2.-pod-prod-08-us;
 Tue, 02 Apr 2024 05:00:39 -0700 (PDT)
X-Forwarded-Encrypted: i=2; AJvYcCUL5k8Cn4b4vEvHltYgdqBCQ1AhRUogMGXZTTNDnmKGuPtVXxtCNPbYywZZHm794UeK7WziGIkO/tn4URgcL0iHJ9G0LReadWgnZBs=
X-Received: by 2002:a05:620a:4712:b0:78b:eab5:4f09 with SMTP id bs18-20020a05620a471200b0078beab54f09mr26772qkb.9.1712059239283;
        Tue, 02 Apr 2024 05:00:39 -0700 (PDT)
Received: by 2002:a05:620a:444b:b0:78b:c6cb:86d4 with SMTP id af79cd13be357-78bc6cbd43ams85a;
        Tue, 2 Apr 2024 04:53:53 -0700 (PDT)
X-Forwarded-Encrypted: i=2; AJvYcCXFqPB+boNrkRBQRvGWQ7PK6ywjfOK9aKUGJNyzousO0acyDGEenrAYEAbByGVbN61GaIVrr6XZRkPbuYEhoBvbk5N8G/duIwRqGYQ=
X-Received: by 2002:ac2:5a0a:0:b0:513:da61:9b46 with SMTP id q10-20020ac25a0a000000b00513da619b46mr7380265lfn.53.1712058830371;
        Tue, 02 Apr 2024 04:53:50 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1712058830; cv=none;
        d=google.com; s=arc-20160816;
        b=ay9GFl6p0VQglh69pr2LGDJnjq1jSsT3ZRjbQbSNWPlTzrTVOyR+wRwPkwEQzH/63C
         JHOKV6QzF/p+CL7eXVbR4bMj+jL0CYGf+jLQ8cr2cSKQodEkqpOqr9OBWJrDKDH/ub3z
         xBn7WHWk8sk2wuyAGWUueA6GD33z68nD96Thr4G4Gwm/Bzd5qqNNXgQ4HajSe1qZAVcB
         W0r7Atd+zyre804WG5O/rQAKGhQ69n1x79gknTVMGgYkxlkpalpEIG2owrYnFcUSCtzJ
         7E2I4PDvguIb1UPcuuLIluUHona/gzkle6caONJGeTgi9SM+OfO3w7prIDAZajxX78w+
         2gqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:dkim-signature;
        bh=EzkQpKjE1V4rJ5rMqx/01NtgLlJKXka5hPCNij3EntU=;
        fh=y+OzfJ/OWmv9eUlaIMcbKP7rpOfL8G/6eZstwsK/ARQ=;
        b=c4NcFoHavFMJp82tEaFKHoqiqKnPGsffegWka6bSxoGzxvF3lkIHm9kfqeCBqN6Vbx
         FZG7C0hfLPc/blJsiixwNCVwKg+2inVjUh+0MDKH+unSocEKlHSuTUxoX0iXAEmEvXKZ
         0muBuoXpHY8O7dc4L9s3tK5jdk0pSf8huoKBGGoB77DH1+skvd5whoci2WyhZhql9Isc
         OuKQ5ml0AqhFbtwYjQxrb/l1bmWffK/9RPuTX8+v4afodEBFm2msbhz0dUozjgmX1KRI
         6pI6RhaEcQu9FjbIp1mYVZXkZYXX2TniMoIlWnGBHlrdO/Tw+hn1JgqZeVQ/q5pQo3do
         LeRg==;
        dara=google.com
ARC-Authentication-Results: i=1; gmr-mx.google.com;
       dkim=pass header.i=@gmail.com header.s=20230601 header.b=dtOWsPqb;
       spf=pass (google.com: domain of jameson.lopp@gmail.com designates 2a00:1450:4864:20::130 as permitted sender) smtp.mailfrom=jameson.lopp@gmail.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com. [2a00:1450:4864:20::130])
        by gmr-mx.google.com with ESMTPS id be7-20020a056512250700b0051644125d3asi243189lfb.3.2024.04.02.04.53.50
        for <bitcoindev@googlegroups.com>
        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
        Tue, 02 Apr 2024 04:53:50 -0700 (PDT)
Received-SPF: pass (google.com: domain of jameson.lopp@gmail.com designates 2a00:1450:4864:20::130 as permitted sender) client-ip=2a00:1450:4864:20::130;
Received: by mail-lf1-x130.google.com with SMTP id 2adb3069b0e04-513d3746950so6250111e87.1
        for <bitcoindev@googlegroups.com>; Tue, 02 Apr 2024 04:53:50 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCW0XSv07aGjKU1PVunsXvXw3CbkxtNfcessOTjG4hlSqeD7aX5iu7BrrjJvi+GKVeGi/+o3QMRk442IUINdj35YiiQ4DG5o2BHMMUg=
X-Received: by 2002:ac2:58d3:0:b0:513:84b6:6915 with SMTP id
 u19-20020ac258d3000000b0051384b66915mr7039245lfo.20.1712058829623; Tue, 02
 Apr 2024 04:53:49 -0700 (PDT)
MIME-Version: 1.0
References: <CADL_X_eXjbRFROuJU0b336vPVy5Q2RJvhcx64NSNPH-3fDCUfw@mail.gmail.com>
 <ZgmJFfXnQddkTQVq@petertodd.org> <CAFC_Vt7zKvMEfQLzWHQ6t_9bgv1iqt4Ah8N883CuoSfmLUKdMA@mail.gmail.com>
 <ZgnVtJHn2ikLfwa9@petertodd.org> <CADL_X_cmcXxHke089OD_45VRJy5aR+9uj-18bSjXBE7FKwR-Jw@mail.gmail.com>
 <wKrcm6SEjcG_7UmxByP-rDDVajB7-oYJRF9p_BjLe5XVzxVV9nCB8RsTAXcD5vF_rWxUmLK4HOM7zV7U4-kZSUO9Ccj4jEehsbbb7FD45GQ=@wuille.net>
 <ZgrCxWxMkiAt2Tg2@camus> <06oL-GctrcLb99M_RuOgygXKMjtB_vPLHOCuc-axYrGVy_QBRGPu5wA9C2QXDb7cKIJbJu_t_JKmRrr9FsBORdUPavXPFvOi98p04UQuvuE=@protonmail.com>
In-Reply-To: <06oL-GctrcLb99M_RuOgygXKMjtB_vPLHOCuc-axYrGVy_QBRGPu5wA9C2QXDb7cKIJbJu_t_JKmRrr9FsBORdUPavXPFvOi98p04UQuvuE=@protonmail.com>
From: Jameson Lopp <jameson.lopp@gmail.com>
Date: Tue, 2 Apr 2024 07:53:37 -0400
Message-ID: <CADL_X_dR1ENC9jm76azf_dkbJdeSCSBbPEpTkm71s4i-g_g=WA@mail.gmail.com>
Subject: Re: [bitcoindev] The Future of Bitcoin Testnet
To: Fabian <fjahr@protonmail.com>
Cc: Andrew Poelstra <apoelstra@wpsoftware.net>, bitcoindev@googlegroups.com
Content-Type: multipart/alternative; boundary="00000000000060004106151bc247"
X-Original-Sender: jameson.lopp@gmail.com
X-Original-Authentication-Results: gmr-mx.google.com;       dkim=pass
 header.i=@gmail.com header.s=20230601 header.b=dtOWsPqb;       spf=pass
 (google.com: domain of jameson.lopp@gmail.com designates 2a00:1450:4864:20::130
 as permitted sender) smtp.mailfrom=jameson.lopp@gmail.com;       dmarc=pass
 (p=NONE sp=QUARANTINE dis=NONE) header.from=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 (/)

--00000000000060004106151bc247
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I think Andrew's difficulty rule suggestions are the least invasive and
make sense for fixing the block storm issue while keeping the code changes
to the logic that is already conditional to testnet. Though even with those
rules I think it would still be possible, though far less likely, for the
difficulty to get permanently reset very low unless we also implement the
difficulty adjustment patch Fabian mentioned.

I suspect that creating a "fair" faucet is an unsolvable problem: the only
robust way to gate free giveaways (much like airdrops) is to impose an
economic cost on claiming them, which is against the spirit of testnet.

As emsit and I both noted, 13 years without a reset means that it would be
courteous to give testnet operators a reasonably long heads up to prepare.
Perhaps 6 months or 1 year lead time?

On Mon, Apr 1, 2024 at 6:06=E2=80=AFPM 'Fabian' via Bitcoin Development Mai=
ling
List <bitcoindev@googlegroups.com> wrote:

> Hi,
>
> removing the special rule and moving to a reduced block interval sounds
> like a good and simple solution.
>
> Another idea: Keep the current exception logic and adapt the difficulty
> adjustment code (`CalculateNextWorkRequired`) to look for the last block
> that didn't have difficulty 1 and use that block's difficulty as the basi=
s
> for the new difficulty calculation. It seemed like the most intuitive fix
> to me when I looked at the code after reading Jameson's first email (see
> https://github.com/bitcoin/bitcoin/pull/29775/commits/9913549637706749f0a=
f5d326f949bd652cbd5f8
> ).
>
> Best,
> Fabian
>
>
>
> On Monday, April 1st, 2024 at 4:20 PM, Andrew Poelstra <
> apoelstra@wpsoftware.net> wrote:
>
> > On Mon, Apr 01, 2024 at 01:37:59PM +0000, Pieter Wuille wrote:
> >
> > > As for using other measures to prevent too large difficulty
> variations... I'm not sure that's desirable, because it always cuts both
> ways (nicely demonstrated by the "allow difficulty 1 rule" on testnet3
> backfiring and enabling block storms!). For applications that actually ne=
ed
> very predictable block rate, there is signet. For others, just the normal
> mainnet rules are probably not too terrible. I would be ok with having a
> somewhat reduced block interval (say a few days instead of 2 weeks) if
> that's not deemed to complex to implement across the ecosystem, but I don=
't
> think it's that important.
> >
> >
> > I really like this. For my part (rust-bitcoin) this would be as simple
> > as adding an extra parameter to my blockparams structure. Possibly one
> > already exists, I'd have to check.
> >
> > This would be much easier than the existing situation where we have
> > special-case logic for testnet the difficulty-1 target.
> >
> > It would also limit the amount of bikeshedding possible, since there
> > aren't too many conflicting goals regarding the retargeting window...
> > unlike tweaking the existing logic where there's a tradeoff between
> > "we should make this never happen" and "it should happen often enough
> > that it doesn't break people's code" and "it should happen if blocks
> > slow down to like, 1/50th their normal rate even if they are still
> > technically being produced" and "it shouldn't be possible to trigger
> > it within the 2-hour timestamp-faking window" etc. And questions
> > about whether we should fix/redesign the interaction between the reset
> > rule and the normal difficulty retarget.
> >
> >
> > OTOH, since we already have the special logic, I'd also be happy with
> > tweaking the existing rule. My specific proposal (after reading Jameson=
's
> > post, which has some nice graphs of difficulty) would be
> >
> > * increase the reset threshold from 20 minutes to 6 hours, which is
> > (a) well outside the 2-hour window in which miners can easily fake
> > timestamps, and (b) will basically never be hit by accident
> > * increase the reset difficulty from 1 to 1MM, which is an rough lower
> > bound on the "normal" testnet difficulty seen historically
> >
> > Which puts us in the "this rule would never be triggered unless
> > literally everyone stopped mining" corner of the design space.
> >
> >
> > --
> > Andrew Poelstra
> > Director of Research, Blockstream
> > Email: apoelstra at wpsoftware.net
> > Web: https://www.wpsoftware.net/andrew
> >
> > The sun is always shining in space
> > -Justin Lewis-Webster
> >
> > --
> > 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 on the web visit
> https://groups.google.com/d/msgid/bitcoindev/ZgrCxWxMkiAt2Tg2%40camus.
>
> --
> 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 on the web visit
> https://groups.google.com/d/msgid/bitcoindev/06oL-GctrcLb99M_RuOgygXKMjtB=
_vPLHOCuc-axYrGVy_QBRGPu5wA9C2QXDb7cKIJbJu_t_JKmRrr9FsBORdUPavXPFvOi98p04UQ=
uvuE%3D%40protonmail.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 on the web visit https://groups.google.com/d/msgid/=
bitcoindev/CADL_X_dR1ENC9jm76azf_dkbJdeSCSBbPEpTkm71s4i-g_g%3DWA%40mail.gma=
il.com.

--00000000000060004106151bc247
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I think Andrew&#39;s difficulty rule suggestions are the l=
east invasive and make sense for fixing the block storm issue while keeping=
 the code changes to the logic that is already conditional to testnet. Thou=
gh even with those rules I think it would still be possible, though far les=
s likely, for the difficulty to get permanently reset very low unless we al=
so implement the difficulty adjustment patch Fabian mentioned.<div><br></di=
v><div>I suspect that creating a &quot;fair&quot; faucet is an unsolvable p=
roblem: the only robust way to gate free giveaways (much like airdrops) is =
to impose an economic cost on claiming them, which is against the spirit=C2=
=A0of testnet.</div><div><br></div><div>As emsit and I both noted, 13 years=
 without a reset means that it would be courteous to give testnet operators=
 a reasonably long heads up to prepare. Perhaps 6 months or 1 year lead tim=
e?</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmai=
l_attr">On Mon, Apr 1, 2024 at 6:06=E2=80=AFPM &#39;Fabian&#39; via Bitcoin=
 Development Mailing List &lt;<a href=3D"mailto:bitcoindev@googlegroups.com=
">bitcoindev@googlegroups.com</a>&gt; wrote:<br></div><blockquote class=3D"=
gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(20=
4,204,204);padding-left:1ex">Hi,<br>
<br>
removing the special rule and moving to a reduced block interval sounds lik=
e a good and simple solution.<br>
<br>
Another idea: Keep the current exception logic and adapt the difficulty adj=
ustment code (`CalculateNextWorkRequired`) to look for the last block that =
didn&#39;t have difficulty 1 and use that block&#39;s difficulty as the bas=
is for the new difficulty calculation. It seemed like the most intuitive fi=
x to me when I looked at the code after reading Jameson&#39;s first email (=
see <a href=3D"https://github.com/bitcoin/bitcoin/pull/29775/commits/991354=
9637706749f0af5d326f949bd652cbd5f8" rel=3D"noreferrer" target=3D"_blank">ht=
tps://github.com/bitcoin/bitcoin/pull/29775/commits/9913549637706749f0af5d3=
26f949bd652cbd5f8</a>).<br>
<br>
Best,<br>
Fabian<br>
<br>
<br>
<br>
On Monday, April 1st, 2024 at 4:20 PM, Andrew Poelstra &lt;<a href=3D"mailt=
o:apoelstra@wpsoftware.net" target=3D"_blank">apoelstra@wpsoftware.net</a>&=
gt; wrote:<br>
<br>
&gt; On Mon, Apr 01, 2024 at 01:37:59PM +0000, Pieter Wuille wrote:<br>
&gt; <br>
&gt; &gt; As for using other measures to prevent too large difficulty varia=
tions... I&#39;m not sure that&#39;s desirable, because it always cuts both=
 ways (nicely demonstrated by the &quot;allow difficulty 1 rule&quot; on te=
stnet3 backfiring and enabling block storms!). For applications that actual=
ly need very predictable block rate, there is signet. For others, just the =
normal mainnet rules are probably not too terrible. I would be ok with havi=
ng a somewhat reduced block interval (say a few days instead of 2 weeks) if=
 that&#39;s not deemed to complex to implement across the ecosystem, but I =
don&#39;t think it&#39;s that important.<br>
&gt; <br>
&gt; <br>
&gt; I really like this. For my part (rust-bitcoin) this would be as simple=
<br>
&gt; as adding an extra parameter to my blockparams structure. Possibly one=
<br>
&gt; already exists, I&#39;d have to check.<br>
&gt; <br>
&gt; This would be much easier than the existing situation where we have<br=
>
&gt; special-case logic for testnet the difficulty-1 target.<br>
&gt; <br>
&gt; It would also limit the amount of bikeshedding possible, since there<b=
r>
&gt; aren&#39;t too many conflicting goals regarding the retargeting window=
...<br>
&gt; unlike tweaking the existing logic where there&#39;s a tradeoff betwee=
n<br>
&gt; &quot;we should make this never happen&quot; and &quot;it should happe=
n often enough<br>
&gt; that it doesn&#39;t break people&#39;s code&quot; and &quot;it should =
happen if blocks<br>
&gt; slow down to like, 1/50th their normal rate even if they are still<br>
&gt; technically being produced&quot; and &quot;it shouldn&#39;t be possibl=
e to trigger<br>
&gt; it within the 2-hour timestamp-faking window&quot; etc. And questions<=
br>
&gt; about whether we should fix/redesign the interaction between the reset=
<br>
&gt; rule and the normal difficulty retarget.<br>
&gt; <br>
&gt; <br>
&gt; OTOH, since we already have the special logic, I&#39;d also be happy w=
ith<br>
&gt; tweaking the existing rule. My specific proposal (after reading Jameso=
n&#39;s<br>
&gt; post, which has some nice graphs of difficulty) would be<br>
&gt; <br>
&gt; * increase the reset threshold from 20 minutes to 6 hours, which is<br=
>
&gt; (a) well outside the 2-hour window in which miners can easily fake<br>
&gt; timestamps, and (b) will basically never be hit by accident<br>
&gt; * increase the reset difficulty from 1 to 1MM, which is an rough lower=
<br>
&gt; bound on the &quot;normal&quot; testnet difficulty seen historically<b=
r>
&gt; <br>
&gt; Which puts us in the &quot;this rule would never be triggered unless<b=
r>
&gt; literally everyone stopped mining&quot; corner of the design space.<br=
>
&gt; <br>
&gt; <br>
&gt; --<br>
&gt; Andrew Poelstra<br>
&gt; Director of Research, Blockstream<br>
&gt; Email: apoelstra at <a href=3D"http://wpsoftware.net" rel=3D"noreferre=
r" target=3D"_blank">wpsoftware.net</a><br>
&gt; Web: <a href=3D"https://www.wpsoftware.net/andrew" rel=3D"noreferrer" =
target=3D"_blank">https://www.wpsoftware.net/andrew</a><br>
&gt; <br>
&gt; The sun is always shining in space<br>
&gt; -Justin Lewis-Webster<br>
&gt; <br>
&gt; --<br>
&gt; You received this message because you are subscribed to the Google Gro=
ups &quot;Bitcoin Development Mailing List&quot; group.<br>
&gt; To unsubscribe from this group and stop receiving emails from it, send=
 an email to <a href=3D"mailto:bitcoindev%2Bunsubscribe@googlegroups.com" t=
arget=3D"_blank">bitcoindev+unsubscribe@googlegroups.com</a>.<br>
&gt; To view this discussion on the web visit <a href=3D"https://groups.goo=
gle.com/d/msgid/bitcoindev/ZgrCxWxMkiAt2Tg2%40camus" rel=3D"noreferrer" tar=
get=3D"_blank">https://groups.google.com/d/msgid/bitcoindev/ZgrCxWxMkiAt2Tg=
2%40camus</a>.<br>
<br>
-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;Bitcoin Development Mailing List&quot; 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 on the web visit <a href=3D"https://groups.google.c=
om/d/msgid/bitcoindev/06oL-GctrcLb99M_RuOgygXKMjtB_vPLHOCuc-axYrGVy_QBRGPu5=
wA9C2QXDb7cKIJbJu_t_JKmRrr9FsBORdUPavXPFvOi98p04UQuvuE%3D%40protonmail.com"=
 rel=3D"noreferrer" target=3D"_blank">https://groups.google.com/d/msgid/bit=
coindev/06oL-GctrcLb99M_RuOgygXKMjtB_vPLHOCuc-axYrGVy_QBRGPu5wA9C2QXDb7cKIJ=
bJu_t_JKmRrr9FsBORdUPavXPFvOi98p04UQuvuE%3D%40protonmail.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&quot; 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 on the web visit <a href=3D"https://groups.google.c=
om/d/msgid/bitcoindev/CADL_X_dR1ENC9jm76azf_dkbJdeSCSBbPEpTkm71s4i-g_g%3DWA=
%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.go=
ogle.com/d/msgid/bitcoindev/CADL_X_dR1ENC9jm76azf_dkbJdeSCSBbPEpTkm71s4i-g_=
g%3DWA%40mail.gmail.com</a>.<br />

--00000000000060004106151bc247--