From mboxrd@z Thu Jan  1 00:00:00 1970
Delivery-date: Sun, 23 Feb 2025 15:53:18 -0800
Received: from mail-ot1-f63.google.com ([209.85.210.63])
	by mail.fairlystable.org with esmtps  (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
	(Exim 4.94.2)
	(envelope-from <bitcoindev+bncBDL4XL646QOBBY7J526QMGQECMS2LEQ@googlegroups.com>)
	id 1tmLmf-0008JA-7W
	for bitcoindev@gnusha.org; Sun, 23 Feb 2025 15:53:18 -0800
Received: by mail-ot1-f63.google.com with SMTP id 46e09a7af769-72723b7151csf1140357a34.2
        for <bitcoindev@gnusha.org>; Sun, 23 Feb 2025 15:53:16 -0800 (PST)
ARC-Seal: i=2; a=rsa-sha256; t=1740354790; cv=pass;
        d=google.com; s=arc-20240605;
        b=MbS/vJLkRgDkgEtNNqheB1BbFZpbWa1WWJlf7HGIVDtfEyW3fpi7xQxd8Tp1Me8dR6
         AJsmOLUzLpOygtolVfkwkVG8s/XSVxEtUftb+Yzl8vOwTUFoEU+dm7EIcjrxa3reVibq
         TWrE7NA+2a2Hbp92enWHGEaz6SSJeSMLqKF4LyenQ+SzjVjeke4Vz+yaiVnZ3IFVol5n
         gJtmYK98tZ6hHOtqSC3Po/nba/7Ktn0zdO8MLbDDHYVT8UyXGVrXcklmrA9+JmmcLUl8
         NSTRq4iHlHfJfRYdTBkgyKglxKm4b9z4Ez5wdOoOO2663WjemLz86mxZ0e4t5+ZxzqJ/
         Sq2w==
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:reply-to:mime-version:feedback-id
         :references:in-reply-to:message-id:subject:cc:from:to:date
         :dkim-signature;
        bh=uvPSEJc2mQLHQ3aicQOmQgvpF0IEH+AZN3fEj+wCF+s=;
        fh=W47VPq2a172a+gHBZaTZm8NppdTY3jBXcgO739ED4uk=;
        b=dZVqtXUWySTeG2x7jUTlATM9gJ5wSHfTNEBYD0Yc0RdLysKv/4cHZWnJhy5tWUxa+m
         sxn2dae3alZEVAOuZuJ7TXNJasPaALncNRnOrZ3unDxM/+Kz+rttyZWkDwJKo8p7ojK1
         PbP25ZZYm/31X0mvDfwi8Hicsx/qso6XCb9Ydqy4yrdLNkEk18DJxSzZKExar19QJfuF
         4XC//ao9uEOgrFZdwCrIT8wU6BHYeNPbokJrak945lbE+cnkC0itaTkgZGIH6Qi44OEw
         wAtLg+xpRt2WveSBf5VN0RbeauNLKmEhtYHEXhva87Xws6/U0n9rJFb/oczZYg21sml2
         KL1w==;
        darn=gnusha.org
ARC-Authentication-Results: i=2; gmr-mx.google.com;
       dkim=pass header.i=@protonmail.com header.s=protonmail3 header.b=UI4Sz9HB;
       spf=pass (google.com: domain of darosior@protonmail.com designates 185.70.40.131 as permitted sender) smtp.mailfrom=darosior@protonmail.com;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=googlegroups.com; s=20230601; t=1740354790; x=1740959590; darn=gnusha.org;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:reply-to
         :x-original-authentication-results:x-original-sender:mime-version
         :feedback-id:references:in-reply-to:message-id:subject:cc:from:to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=uvPSEJc2mQLHQ3aicQOmQgvpF0IEH+AZN3fEj+wCF+s=;
        b=crETjZDer5tv+wCenOQYDs7Pyzqexcw9sEQTbU/0XcNh9netz4fw77Ef/vSi/zrwX9
         03eLIznnfYZ4XKvOBQS4Js+tRSJOGSjf9wJimjI1fMexZWn5BG7dMTs0NxWhdQm7wdyl
         02pkcOxZ9U0GbftI0TTzojTSKw/sSEh4LbXh5qJuX6wWrE5fzkiKwr87SDeigtc1CCau
         AfnoOKPEQ90IDE2Q2b8sXo3pZkgF9C9DLWbZXo4rPKY7K9GhVUNlSViXeqTPd/Zy3FPr
         P++UX3fVIqjgagqf4IyUR4ScmIgXSlRn4hyzjOt0LrpdBi6gDx+l8CVHGpMhfOvYHQAn
         5DZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1740354790; x=1740959590;
        h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
         :list-id:mailing-list:precedence:reply-to
         :x-original-authentication-results:x-original-sender:mime-version
         :feedback-id:references:in-reply-to:message-id:subject:cc:from:to
         :date:x-beenthere:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uvPSEJc2mQLHQ3aicQOmQgvpF0IEH+AZN3fEj+wCF+s=;
        b=DvaDoAw/DK5HKf4nZUksXefZHQoq1u0ANYiyfTB89y+46PfcwEdo9iD8n39wipDizc
         3xaGt25GCntnwoPYnvdDpgZU0zmOVS8oo5YSmQujCWKwvnwuw7sEPHjLCJPjUOrUx0hY
         3R0KCLUPICEEWEV+dLQPwZdt6MMUGGwLfOz00nGKSTsZzE7R/9CCEiUzPtKaFbDjfG+g
         eI+Fj51wPRNPNQgnXGPjnbzfPC9rJjJeqea9KcI0za8ImwsrVbgWaGn/j/sPkW6n/Zol
         eaIv4Ya8RUCI6h4mgFW/AdzoOsOlIRfSWNK/rZJ8GG39aHBw4khBh/+izO7APjGRjrP1
         EyJQ==
X-Forwarded-Encrypted: i=2; AJvYcCVUzrLBytM5uFDdWnz8Hw2i3MLt3XS+FdMltCcFrm8LhUCMMlYKSyT4kol7S/wUegmNRmWKAj1/jDl0@gnusha.org
X-Gm-Message-State: AOJu0YxIH6EOXf2yIMDcoTsIvDngZRY+tuiDE/ZQ/2yPChm/foX8sBZ3
	Bf/NlY0Jm9J8OHPgDIRJvicWgeO3bzRUiY+ANzlHouUTgUqEo6Rl
X-Google-Smtp-Source: AGHT+IGfu/6CAsniAPhJSgPhDOnJ69HE1Y1PXzmKHxXWqHZAW7tMDhzjjwUsB/SsX7gf09OGcsRffw==
X-Received: by 2002:a05:6870:fbac:b0:29e:5cb1:b148 with SMTP id 586e51a60fabf-2bd51500124mr9374401fac.6.1740354790131;
        Sun, 23 Feb 2025 15:53:10 -0800 (PST)
X-BeenThere: bitcoindev@googlegroups.com; h=Adn5yVEbXp01S+xMEtmrYXttWfTyYERlMshGePCgrb5T0nM1jQ==
Received: by 2002:a05:6870:a90e:b0:2b8:f3e5:a817 with SMTP id
 586e51a60fabf-2bd50bf1d9bls1059548fac.2.-pod-prod-02-us; Sun, 23 Feb 2025
 15:53:07 -0800 (PST)
X-Received: by 2002:a05:6808:80af:b0:3f4:756:52cf with SMTP id 5614622812f47-3f425a7e5ffmr8918473b6e.10.1740354786913;
        Sun, 23 Feb 2025 15:53:06 -0800 (PST)
Received: by 2002:a05:600c:3c9c:b0:439:a596:e64 with SMTP id 5b1f17b1804b1-439ae26b649ms5e9;
        Sun, 23 Feb 2025 14:36:05 -0800 (PST)
X-Received: by 2002:a05:600c:6b66:b0:439:96a4:d2a8 with SMTP id 5b1f17b1804b1-439a2fb2c41mr110368815e9.5.1740350163563;
        Sun, 23 Feb 2025 14:36:03 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1740350163; cv=none;
        d=google.com; s=arc-20240605;
        b=M8novVcXa4tX/13fBX8BeuzymGTEHhBdMR7JyjuHFiqnImZlV+cj6qUR8yDzDD2sJS
         LfgeN30UYEdAoKmyubM0uD5uyzDH3DfJsNxs8NbwpY53S+ToX3d5AS9SpSVg7HHE4Cwz
         742N6ZZQZSso7kwxXYfmstPhh2+sSWD6SboCWlL0XMlqnmWfB9sdv0MrtVeaJ/kbX1by
         w+x+GxTeHxaK0QvHdSTafWxJAygVGJiMDSWsVVrWEz1kFbl/GUCzXDiySsWzM0Ffni1h
         5AAqugMY567VbnbSk5UhvPYVUDiOGiAdqjVOV2pLzv8pw6z93IdKDFnwcorqzuWv8QSH
         e3tQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=mime-version:feedback-id:references:in-reply-to:message-id:subject
         :cc:from:to:date:dkim-signature;
        bh=iQzYaODkGrcUQAj/H6lk9rdwT5JKtir1B40QEzQ7mQU=;
        fh=QeX9rcZFbTLJsBh4PJSh4yeJazhXI8eiMyjXjq43dsI=;
        b=bzJZhUlK0cZKcb2zOqv9qnfjybz9dZeD2tWAwe6SEIN8YxGyjiASsfTfB+urvX+IWc
         SPfI+TJk+RbgpnSOc3E7bRno9CKjnGoZo3i/yOfQLsejYKXODMKkX0UpR0J8kVEZMvO8
         mfz34sceML0EaRPmqyOb0jDRFjWmoILpKrYmGhr9Vmfr1CHg5v3qm/vCq4t16X8X6wvM
         BHntgW77dpeGnG6r6uiKQatMzd02ddzaiPF5zdNAN/MrAR7Z4lhVXN2Undn405tXs+Gp
         GMqmhyynKdawrAwd3TToYN63r+mhFd4z8a1thhjCwnqePIdBIuJ+93gt3VZQOhZ6/Uyh
         bJhw==;
        dara=google.com
ARC-Authentication-Results: i=1; gmr-mx.google.com;
       dkim=pass header.i=@protonmail.com header.s=protonmail3 header.b=UI4Sz9HB;
       spf=pass (google.com: domain of darosior@protonmail.com designates 185.70.40.131 as permitted sender) smtp.mailfrom=darosior@protonmail.com;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com
Received: from mail-40131.protonmail.ch (mail-40131.protonmail.ch. [185.70.40.131])
        by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-4399bea9edesi8269645e9.0.2025.02.23.14.36.03
        for <bitcoindev@googlegroups.com>
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Sun, 23 Feb 2025 14:36:03 -0800 (PST)
Received-SPF: pass (google.com: domain of darosior@protonmail.com designates 185.70.40.131 as permitted sender) client-ip=185.70.40.131;
Date: Sun, 23 Feb 2025 22:35:59 +0000
To: Matt Corallo <lf-lists@mattcorallo.com>
From: "'Antoine Poinsot' via Bitcoin Development Mailing List" <bitcoindev@googlegroups.com>
Cc: bitcoindev@googlegroups.com
Subject: Re: [bitcoindev] Update on the Great Consensus Cleanup Revival
Message-ID: <VsltJ2PHqWfzG4BU9YETTXjL7fYBbJhjVXKZQyItemySIA1okvNee9kf0zAOyLMeJ4Nqv1VOrYbWns5nP4TANCWvPJYu1ew_yxQSaudizzk=@protonmail.com>
In-Reply-To: <25482CCA-1F9D-4971-914F-674DF15C3414@mattcorallo.com>
References: <jiyMlvTX8BnG71f75SqChQZxyhZDQ65kldcugeIDJVJsvK4hadCO3GT46xFc7_cUlWdmOCG0B_WIz0HAO5ZugqYTuX5qxnNLRBn3MopuATI=@protonmail.com> <25482CCA-1F9D-4971-914F-674DF15C3414@mattcorallo.com>
Feedback-ID: 7060259:user:proton
X-Pm-Message-ID: 52246b72b46a52236668a264b6b46f5bcb597d96
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="b1=_YwUdvv4IHL6z7x5zyDJd4pP51qxIeu07qSbwExzNs"
X-Original-Sender: darosior@protonmail.com
X-Original-Authentication-Results: gmr-mx.google.com;       dkim=pass
 header.i=@protonmail.com header.s=protonmail3 header.b=UI4Sz9HB;
       spf=pass (google.com: domain of darosior@protonmail.com designates
 185.70.40.131 as permitted sender) smtp.mailfrom=darosior@protonmail.com;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com
X-Original-From: Antoine Poinsot <darosior@protonmail.com>
Reply-To: Antoine Poinsot <darosior@protonmail.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: -1.0 (-)

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

> A 40x decrease to a validation time of 30 seconds probably is worth a bit=
 of risk for a further improvement.

Depends on what hardware. I don't think a worst case of 30 seconds for end =
users is worth more risks. A worst case of 30 seconds for miners would prob=
ably be concerning.

In addition, although the worst case is important to limit the damage an at=
tacker can do without being economically rational, what we care about for m=
iners attacking each other is economically viable attacks. At the moment th=
e optimal "validation time / cost to attacker" ratio is not the worst case,=
 by a large margin [0].

I believe we should take into account the worst case to miners even if not =
economically viable for an attacker as a safety margin. But we should keep =
in mind this is already overestimating the attack risk since in this scenar=
io what we should look at is the worst case validation time of blocks that =
may have positive returns to an attacker.

> Can you put numbers to this?

Sure. Using my functional test which runs the worst case today and the wors=
t case under various mitigations [1] on a Dell XPS 15 9520 laptop (the mode=
l with an i5-12500H) i get 120 seconds for the worst case today and 10 seco=
nds for the worst block with a limited of 2500 (potentially) executed sigop=
s per transaction. To (maybe, they could be running more powerful machines =
than my laptop) impose such a validation time to other miners an attacker w=
ould have to invest 89 (!!) preparation blocks. Sure, with low fees the opp=
ortunity cost of mining preparation transactions is not as high as it could=
 be. But still.

[0] [https://delvingbitcoin.org/t/worst-block-validation-time-inquiry/711/7=
0](https://delvingbitcoin.org/t/worst-block-validation-time-inquiry/711/70?=
u=3Dantoinep)
[1] [https://delvingbitcoin.org/t/worst-block-validation-time-inquiry/711/6=
1](https://delvingbitcoin.org/t/worst-block-validation-time-inquiry/711/61?=
u=3Dantoinep)
On Thursday, February 20th, 2025 at 8:22 PM, Matt Corallo <lf-lists@mattcor=
allo.com> wrote:

> In the delving post you said =E2=80=9CThis provides a 40x decrease in the=
 worst case validation time with a straightforward and flexible rule minimi=
zing the confiscatory surface. A further 7x decrease is possible by combini=
ng it with another rule, which is in my opinion not worth the additional co=
nfiscatory surface.=E2=80=9D
>
> Can you put numbers to this? How long does it take to validate a full blo=
ck with this 40x decrease and how long would it take with the further 7x de=
crease?
>
> A 40x decrease to a validation time of 30 seconds probably is worth a bit=
 of risk for a further improvement. A 40x decrease to 1 second is obviously=
 fine :).
>
>> On Feb 5, 2025, at 19:57, 'Antoine Poinsot' via Bitcoin Development Mail=
ing List <bitcoindev@googlegroups.com> wrote:
>
>> =EF=BB=BFHi everyone,
>>
>> A bit over a year ago i started working on revisiting the 2019 Great Con=
sensus Cleanup proposal from
>> Matt Corallo [0]. His proposal included:
>> - making <=3D64 bytes transactions invalid to fix merkle tree weaknesses=
;
>> - making non-pushonly scriptSigs, FindAndDelete matches, OP_CODESEPARATO=
R and non-standard sighash
>> types fail script validation to mitigate the worst case block validation=
 time;
>> - restrict the nTime field of the first block in each difficulty adjustm=
ent interval to be no less
>> than 600 seconds lower than the previous block's;
>>
>> I set out to research the impact of each of the vulnerabilities this int=
ended to patch, the
>> alternative fixes possible for each and finally if there was any other p=
rotocol bug fix we'd want to
>> include if we went through the considerable effort of soft forking Bitco=
in already.
>>
>> Later in March i shared some first findings on Delving [1] and advertize=
d the effort on this mailing
>> list [2]. I also created a companion thread on Delving, kept private, to=
 discuss the details of the
>> worst case block validation time [3]. As one would expect due to the lar=
ger design space available
>> to fix this issue, this private thread is where most of the discussion w=
ould happen. Thank you to
>> everyone who contributed feedback, insights, ideas and argumented opinio=
ns on the different issues
>> all along the process.
>>
>> Now i would like to update the broader Bitcoin development community on =
the outcome of this effort.
>> I believe a Consensus Cleanup proposal should include the following.
>> - A fix for vulnerabilities surrounding the use of timestamps in the dif=
ficulty adjustment
>> algorithm. In particular, a fix for the timewarp attack with a 7200 seco=
nds grace period as well
>> as a fix for the Murch-Zawy attack [4] by making invalid any difficulty =
adjustment period with a
>> negative duration.
>> - A fix for long block validation times with a minimal "confiscation sur=
face", by introducing a
>> per-transaction limit on the number of legacy sigops in the inputs.
>> - A fix for merkle tree weaknesses by making transactions which serializ=
e to exactly 64 bytes
>> invalid.
>> - A fix for duplicate transactions to supplement BIP34 in order to avoid=
 resuming unnecessary BIP30
>> validation in the future. This is achieved by mandating the nLockTime fi=
eld of coinbase
>> transaction to be set to the height of their block minus 1.
>>
>> I have started drafting a BIP draft with the detailed specs for this.
>>
>> Antoine Poinsot
>>
>> [0] https://github.com/TheBlueMatt/bips/blob/7f9670b643b7c943a0cc6d2197d=
3eabe661050c2/bip-XXXX.mediawiki
>> [1] https://delvingbitcoin.org/t/great-consensus-cleanup-revival/710
>> [2] https://groups.google.com/g/bitcoindev/c/CAfm7D5ppjo/m/bYJ3BiOuAAAJ
>> [3] https://delvingbitcoin.org/t/worst-block-validation-time-inquiry/711
>> [4] https://delvingbitcoin.org/t/zawy-s-alternating-timestamp-attack/106=
2#variant-on-zawys-attack-2
>>
>> --
>> You received this message because you are subscribed to the Google Group=
s "Bitcoin Development Mailing List" group.
>> To unsubscribe from this group and stop receiving emails from it, send a=
n email to bitcoindev+unsubscribe@googlegroups.com.
>> To view this discussion visit https://groups.google.com/d/msgid/bitcoind=
ev/jiyMlvTX8BnG71f75SqChQZxyhZDQ65kldcugeIDJVJsvK4hadCO3GT46xFc7_cUlWdmOCG0=
B_WIz0HAO5ZugqYTuX5qxnNLRBn3MopuATI%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 visit https://groups.google.com/d/msgid/bitcoindev/=
VsltJ2PHqWfzG4BU9YETTXjL7fYBbJhjVXKZQyItemySIA1okvNee9kf0zAOyLMeJ4Nqv1VOrYb=
Wns5nP4TANCWvPJYu1ew_yxQSaudizzk%3D%40protonmail.com.

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

<blockquote style=3D"border-left: 3px solid rgb(200, 200, 200); border-colo=
r: rgb(200, 200, 200); padding-left: 10px; color: rgb(102, 102, 102);"><div=
 style=3D"font-family: Arial, sans-serif; font-size: 14px;"><span dir=3D"lt=
r"><span style=3D"font-size: 16px; color: rgb(42, 42, 43); background-color=
: rgb(255, 255, 255);">A 40x decrease to a validation time of 30 seconds pr=
obably is worth a bit of risk for a further improvement.</span></span><br><=
/div></blockquote>
<div class=3D"protonmail_signature_block protonmail_signature_block-empty" =
style=3D"font-family: Arial, sans-serif; font-size: 14px;">
    <div class=3D"protonmail_signature_block-user protonmail_signature_bloc=
k-empty">
       =20
            </div>
   =20
            <div class=3D"protonmail_signature_block-proton protonmail_sign=
ature_block-empty">
       =20
            </div>
</div>
<div style=3D"font-family: Arial, sans-serif; font-size: 14px;"><br></div><=
div style=3D"font-family: Arial, sans-serif; font-size: 14px;">Depends on w=
hat hardware. I don't think a worst case of 30 seconds for end users is wor=
th more risks. A worst case of 30 seconds for miners would probably be conc=
erning.</div><div style=3D"font-family: Arial, sans-serif; font-size: 14px;=
"><br></div><div style=3D"font-family: Arial, sans-serif; font-size: 14px;"=
>In addition, although the worst case is important to limit the damage an a=
ttacker can do without being economically rational, what we care about for =
miners attacking each other is economically viable attacks. At the moment t=
he optimal "validation time / cost to attacker" ratio is not the worst case=
, by a large margin [0].</div><div style=3D"font-family: Arial, sans-serif;=
 font-size: 14px;"><br></div><div style=3D"font-family: Arial, sans-serif; =
font-size: 14px;">I believe we should take into account the worst case to m=
iners even if not economically viable for an attacker as a safety margin. B=
ut we should keep in mind this is already overestimating the attack risk si=
nce in this scenario what we should look at is the worst case validation ti=
me of blocks that may have positive returns to an attacker.</div><div style=
=3D"font-family: Arial, sans-serif; font-size: 14px;"><br></div><blockquote=
 style=3D"border-left: 3px solid rgb(200, 200, 200); border-color: rgb(200,=
 200, 200); padding-left: 10px; color: rgb(102, 102, 102);"><div style=3D"f=
ont-family: Arial, sans-serif; font-size: 14px;"><span style=3D"font-size: =
16px; color: rgb(42, 42, 43); background-color: rgb(255, 255, 255);">Can yo=
u put numbers to this?</span></div></blockquote><div style=3D""><br></div><=
div style=3D"">Sure. Using my functional test which runs the worst case tod=
ay and the worst case under various mitigations [1] on a <span>Dell XPS 15 =
9520</span> laptop (the model with an i5-12500H) i get 120 seconds for the =
worst case today and 10 seconds for the worst block with a limited of 2500 =
(potentially) executed sigops per transaction. To (maybe, they could be run=
ning more powerful machines than my laptop) impose such a validation time t=
o other miners an attacker would have to invest 89 (!!) preparation blocks.=
 Sure, with low fees the opportunity cost of mining preparation transaction=
s is not as high as it could be. But still.<br></div><div style=3D"font-fam=
ily: Arial, sans-serif; font-size: 14px;"><br></div><div style=3D"font-fami=
ly: Arial, sans-serif; font-size: 14px;">[0] <span><a target=3D"_blank" rel=
=3D"noreferrer nofollow noopener" href=3D"https://delvingbitcoin.org/t/wors=
t-block-validation-time-inquiry/711/70?u=3Dantoinep">https://delvingbitcoin=
.org/t/worst-block-validation-time-inquiry/711/70</a></span></div><div styl=
e=3D"font-family: Arial, sans-serif; font-size: 14px;">[1] <span><a target=
=3D"_blank" rel=3D"noreferrer nofollow noopener" href=3D"https://delvingbit=
coin.org/t/worst-block-validation-time-inquiry/711/61?u=3Dantoinep">https:/=
/delvingbitcoin.org/t/worst-block-validation-time-inquiry/711/61</a></span>=
<br></div><div class=3D"protonmail_quote">
        On Thursday, February 20th, 2025 at 8:22 PM, Matt Corallo &lt;lf-li=
sts@mattcorallo.com&gt; wrote:<br>
        <blockquote class=3D"protonmail_quote" type=3D"cite">
            <div dir=3D"ltr"></div><div dir=3D"ltr"><div dir=3D"ltr">In the=
 delving post you said =E2=80=9C<span style=3D"caret-color: rgb(42, 42, 43)=
; color: rgb(42, 42, 43); font-family: Arial, sans-serif; font-size: 16px; =
-webkit-text-size-adjust: 100%; background-color: rgb(255, 255, 255);">This=
 provides a 40x decrease in the worst case validation time with a straightf=
orward and flexible rule minimizing the confiscatory surface. A further 7x =
decrease is possible by combining it with another rule, which is in my opin=
ion not worth the additional confiscatory surface.=E2=80=9D</span></div><di=
v dir=3D"ltr"><span style=3D"caret-color: rgb(42, 42, 43); color: rgb(42, 4=
2, 43); font-family: Arial, sans-serif; font-size: 16px; -webkit-text-size-=
adjust: 100%; background-color: rgb(255, 255, 255);"><br></span></div><div =
dir=3D"ltr"><span style=3D"caret-color: rgb(42, 42, 43); color: rgb(42, 42,=
 43); font-family: Arial, sans-serif; font-size: 16px; -webkit-text-size-ad=
just: 100%; background-color: rgb(255, 255, 255);">Can you put numbers to t=
his? How long does it take to validate a full block with this 40x decrease =
and how long would it take with the further 7x decrease?</span></div><div d=
ir=3D"ltr"><span style=3D"caret-color: rgb(42, 42, 43); color: rgb(42, 42, =
43); font-family: Arial, sans-serif; font-size: 16px; -webkit-text-size-adj=
ust: 100%; background-color: rgb(255, 255, 255);"><br></span></div><div dir=
=3D"ltr"><span style=3D"caret-color: rgb(42, 42, 43); color: rgb(42, 42, 43=
); font-family: Arial, sans-serif; font-size: 16px; -webkit-text-size-adjus=
t: 100%; background-color: rgb(255, 255, 255);">A 40x decrease to a validat=
ion time of 30 seconds probably is worth a bit of risk for a further improv=
ement. A 40x decrease to 1 second is obviously fine :).</span></div></div><=
div dir=3D"ltr"><br><div dir=3D"ltr"></div><blockquote type=3D"cite">On Feb=
 5, 2025, at 19:57, 'Antoine Poinsot' via Bitcoin Development Mailing List =
&lt;bitcoindev@googlegroups.com&gt; wrote:<br><br></blockquote></div><block=
quote type=3D"cite"><div dir=3D"ltr">=EF=BB=BF<span>Hi everyone,</span><br>=
<span></span><br><span>A bit over a year ago i started working on revisitin=
g the 2019 Great Consensus Cleanup proposal from</span><br><span>Matt Coral=
lo [0]. His proposal included:</span><br><span>- making &lt;=3D64 bytes tra=
nsactions invalid to fix merkle tree weaknesses;</span><br><span>- making n=
on-pushonly scriptSigs, FindAndDelete matches, OP_CODESEPARATOR and non-sta=
ndard sighash</span><br><span> &nbsp;types fail script validation to mitiga=
te the worst case block validation time;</span><br><span>- restrict the nTi=
me field of the first block in each difficulty adjustment interval to be no=
 less</span><br><span> &nbsp;than 600 seconds lower than the previous block=
's;</span><br><span></span><br><span>I set out to research the impact of ea=
ch of the vulnerabilities this intended to patch, the</span><br><span>alter=
native fixes possible for each and finally if there was any other protocol =
bug fix we'd want to</span><br><span>include if we went through the conside=
rable effort of soft forking Bitcoin already.</span><br><span></span><br><s=
pan>Later in March i shared some first findings on Delving [1] and advertiz=
ed the effort on this mailing</span><br><span>list [2]. I also created a co=
mpanion thread on Delving, kept private, to discuss the details of the</spa=
n><br><span>worst case block validation time [3]. As one would expect due t=
o the larger design space available</span><br><span>to fix this issue, this=
 private thread is where most of the discussion would happen. Thank you to<=
/span><br><span>everyone who contributed feedback, insights, ideas and argu=
mented opinions on the different issues</span><br><span>all along the proce=
ss.</span><br><span></span><br><span>Now i would like to update the broader=
 Bitcoin development community on the outcome of this effort.</span><br><sp=
an>I believe a Consensus Cleanup proposal should include the following.</sp=
an><br><span>- A fix for vulnerabilities surrounding the use of timestamps =
in the difficulty adjustment</span><br><span> &nbsp;algorithm. &nbsp;In par=
ticular, a fix for the timewarp attack with a 7200 seconds grace period as =
well</span><br><span> &nbsp;as a fix for the Murch-Zawy attack [4] by makin=
g invalid any difficulty adjustment period with a</span><br><span> &nbsp;ne=
gative duration.</span><br><span>- A fix for long block validation times wi=
th a minimal "confiscation surface", by introducing a</span><br><span> &nbs=
p;per-transaction limit on the number of legacy sigops in the inputs.</span=
><br><span>- A fix for merkle tree weaknesses by making transactions which =
serialize to exactly 64 bytes</span><br><span> &nbsp;invalid.</span><br><sp=
an>- A fix for duplicate transactions to supplement BIP34 in order to avoid=
 resuming unnecessary BIP30</span><br><span> &nbsp;validation in the future=
. This is achieved by mandating the nLockTime field of coinbase</span><br><=
span> &nbsp;transaction to be set to the height of their block minus 1.</sp=
an><br><span></span><br><span>I have started drafting a BIP draft with the =
detailed specs for this.</span><br><span></span><br><span>Antoine Poinsot</=
span><br><span></span><br><span></span><br><span>[0] https://github.com/The=
BlueMatt/bips/blob/7f9670b643b7c943a0cc6d2197d3eabe661050c2/bip-XXXX.mediaw=
iki</span><br><span>[1] https://delvingbitcoin.org/t/great-consensus-cleanu=
p-revival/710</span><br><span>[2] https://groups.google.com/g/bitcoindev/c/=
CAfm7D5ppjo/m/bYJ3BiOuAAAJ</span><br><span>[3] https://delvingbitcoin.org/t=
/worst-block-validation-time-inquiry/711</span><br><span>[4] https://delvin=
gbitcoin.org/t/zawy-s-alternating-timestamp-attack/1062#variant-on-zawys-at=
tack-2</span><br><span></span><br><span>-- </span><br><span>You received th=
is message because you are subscribed to the Google Groups "Bitcoin Develop=
ment Mailing List" group.</span><br><span>To unsubscribe from this group an=
d stop receiving emails from it, send an email to bitcoindev+unsubscribe@go=
oglegroups.com.</span><br><span>To view this discussion visit https://group=
s.google.com/d/msgid/bitcoindev/jiyMlvTX8BnG71f75SqChQZxyhZDQ65kldcugeIDJVJ=
svK4hadCO3GT46xFc7_cUlWdmOCG0B_WIz0HAO5ZugqYTuX5qxnNLRBn3MopuATI%3D%40proto=
nmail.com.</span><br></div></blockquote>
        </blockquote><br>
    </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 visit <a href=3D"https://groups.google.com/d/msgid/=
bitcoindev/VsltJ2PHqWfzG4BU9YETTXjL7fYBbJhjVXKZQyItemySIA1okvNee9kf0zAOyLMe=
J4Nqv1VOrYbWns5nP4TANCWvPJYu1ew_yxQSaudizzk%3D%40protonmail.com?utm_medium=
=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/bitcoindev/=
VsltJ2PHqWfzG4BU9YETTXjL7fYBbJhjVXKZQyItemySIA1okvNee9kf0zAOyLMeJ4Nqv1VOrYb=
Wns5nP4TANCWvPJYu1ew_yxQSaudizzk%3D%40protonmail.com</a>.<br />

--b1=_YwUdvv4IHL6z7x5zyDJd4pP51qxIeu07qSbwExzNs--