summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine Riard <antoine.riard@gmail.com>2025-02-11 13:20:10 -0800
committerbitcoindev <bitcoindev@googlegroups.com>2025-02-11 16:06:00 -0800
commit7e3e271b15f406a1800fff392d574150c0f78441 (patch)
treebb2c1f064b04b1f1efa2bad789f3c9211b6a1906
parentad9df40000e9e1b2a65db20ac0aeb7c2faa981f8 (diff)
downloadpi-bitcoindev-7e3e271b15f406a1800fff392d574150c0f78441.tar.gz
pi-bitcoindev-7e3e271b15f406a1800fff392d574150c0f78441.zip
Re: [bitcoindev] Update on the Great Consensus Cleanup Revival
-rw-r--r--81/3d9c471068ade2c71b68020017f600e569a0a6256
1 files changed, 256 insertions, 0 deletions
diff --git a/81/3d9c471068ade2c71b68020017f600e569a0a6 b/81/3d9c471068ade2c71b68020017f600e569a0a6
new file mode 100644
index 000000000..0795ab17a
--- /dev/null
+++ b/81/3d9c471068ade2c71b68020017f600e569a0a6
@@ -0,0 +1,256 @@
+Delivery-date: Tue, 11 Feb 2025 16:06:00 -0800
+Received: from mail-yb1-f187.google.com ([209.85.219.187])
+ by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
+ (Exim 4.94.2)
+ (envelope-from <bitcoindev+bncBC3PT7FYWAMRBXWLV66QMGQEVMB5SXA@googlegroups.com>)
+ id 1ti0GN-0002yT-D4
+ for bitcoindev@gnusha.org; Tue, 11 Feb 2025 16:06:00 -0800
+Received: by mail-yb1-f187.google.com with SMTP id 3f1490d57ef6-e54da6701d2sf9386865276.0
+ for <bitcoindev@gnusha.org>; Tue, 11 Feb 2025 16:05:59 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=googlegroups.com; s=20230601; t=1739318753; x=1739923553; 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=1HSlJipyOPWy+Ch4jqROw1EAJQ+uI7SVRQ4dr83xO3Y=;
+ b=p5FwEZbmF+d+PTaqd8qw5Jec/vdLOGY5pjMqxtgaJfS7Pb3OqNj5K0Lz7x54YJkhOO
+ SHJjI6Q0a/JiIPee/vCBuglin26HNFVK6MllzWnaT5Boy6vujdGgm1uP3MLNiRpd2nK6
+ xOaoOd1iMW0zMSVfXdr+FqRg6y8m2lWDt5eQuKVBbe2TyuFSnLanVjN0qRdbKg2KpVcI
+ fzl53aTDak61iRiVQqTLc+ZEfe6gE68ZE0uEHwt46n/M9Yarg404pLqwnyRr/AG83Vrh
+ pxzJEFNn9wV4Zufpuiz4HWld6Lo/wZ4/adfeJbQpOorrOAfCQG/mq7feDSH1HiESPYwo
+ M0FQ==
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=gmail.com; s=20230601; t=1739318753; x=1739923553; 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=1HSlJipyOPWy+Ch4jqROw1EAJQ+uI7SVRQ4dr83xO3Y=;
+ b=UaB8tKNmO4EOnGYXDVzm7NgJEPCpags4ifnDKv70D/RlrEyGODUBTbezMG5T7xBXUK
+ i63UJtR5sC+BJOzcBKsvnlnTF/FgWWEsW80VXJlms2LvwmLepsP9q1PFcQEW6Al8hz3I
+ 3wosbQUw9oMbhEfbsUF02SCD/l39c/RORgD6n+F2l/Q8j+ahPORQqhL9VjP9uNFuev4S
+ o8ix4rxbY/I/p/n0loXrGVOM4c4P3QujqrwvFpJDEzN4qih49xQLrai/iL4fLCiNGyAy
+ 7Q5zInuboqgDt5XqYKNR9J372blofUM0BYJqvweRfF5Lj/a42dF47qukIdjygLoQgV7X
+ m5zw==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20230601; t=1739318753; x=1739923553;
+ 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=1HSlJipyOPWy+Ch4jqROw1EAJQ+uI7SVRQ4dr83xO3Y=;
+ b=q7o3pY2YreVsTECJMKoLvEjH3PRbvEmYM2fltBnz44rAxeCmadNZLJqS1wfAnyZDkE
+ f6uvitwKLHhq1F/s923ueDzVv4Oi+fG4ZpKHYwQUlBOKNlZznWttmc4vGGGjG1VGJuaE
+ nqaYmmcnvbANj2U++ZpJGVnf4SlhII8FQ/CyNtlIDI6SuLYgiJY0aZwFo5cfGRiS9yr0
+ TYwmN574OAK6aHe8vZgGXk1Nts7kE1A/+dlxDqi++PJ9P/VGxC+BGaJTA+uiSZU3B1Km
+ R6T4pVS27Iv6D6eUOX+2anS4qhupl4vsfKwv4OvEBc5/sqQG0HJM9LWlt/QVZ/CU8tke
+ XU/A==
+Sender: bitcoindev@googlegroups.com
+X-Forwarded-Encrypted: i=1; AJvYcCXgwBwlICcA9ReD5SFupFbFtp7koMvjbPi5lHGr1BQn1S0z/IDepSI6A39Z4E/KyIAGi4CPFEnbOfKI@gnusha.org
+X-Gm-Message-State: AOJu0YxOOIglakeIIrXOatoSY3pYlYla+e6mtDg3VMvlZH84eEeY4Dy1
+ ZNeio4PbRgNz8tJt6REUqQ4jQ+kNQmyRpRnRYtWX+dwNTkt/assi
+X-Google-Smtp-Source: AGHT+IF/rgM5btrl3GRC99CX4WFOwHZdlCPZG2b5mUrF6mO5FOZFjIFb2bUW4zVbzSoKftykpmVBTA==
+X-Received: by 2002:a05:6902:2382:b0:e5b:3a7b:1221 with SMTP id 3f1490d57ef6-e5d9f0fcadcmr1304372276.14.1739318753386;
+ Tue, 11 Feb 2025 16:05:53 -0800 (PST)
+X-BeenThere: bitcoindev@googlegroups.com
+Received: by 2002:a25:abab:0:b0:e5b:3adb:a133 with SMTP id 3f1490d57ef6-e5b46087878ls290736276.1.-pod-prod-03-us;
+ Tue, 11 Feb 2025 16:05:49 -0800 (PST)
+X-Received: by 2002:a05:690c:30c:b0:6f9:a90a:f7f2 with SMTP id 00721157ae682-6fb1f6c42a8mr17054047b3.34.1739318749688;
+ Tue, 11 Feb 2025 16:05:49 -0800 (PST)
+Received: by 2002:a05:690c:4448:b0:6f9:a930:a709 with SMTP id 00721157ae682-6f9b1de8b9ams7b3;
+ Tue, 11 Feb 2025 13:20:11 -0800 (PST)
+X-Received: by 2002:a05:690c:3687:b0:6f9:50ed:e6eb with SMTP id 00721157ae682-6fb1f27c541mr13924927b3.27.1739308810637;
+ Tue, 11 Feb 2025 13:20:10 -0800 (PST)
+Date: Tue, 11 Feb 2025 13:20:10 -0800 (PST)
+From: Antoine Riard <antoine.riard@gmail.com>
+To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
+Message-Id: <87360fbe-30dd-4e18-acbf-7416c47ebc61n@googlegroups.com>
+In-Reply-To: <CAGL6+mFYCKjhD8O1G9diC4pbM=_XubW0YxTfeqyyRpDe9t2fng@mail.gmail.com>
+References: <jiyMlvTX8BnG71f75SqChQZxyhZDQ65kldcugeIDJVJsvK4hadCO3GT46xFc7_cUlWdmOCG0B_WIz0HAO5ZugqYTuX5qxnNLRBn3MopuATI=@protonmail.com>
+ <CAGL6+mFYCKjhD8O1G9diC4pbM=_XubW0YxTfeqyyRpDe9t2fng@mail.gmail.com>
+Subject: Re: [bitcoindev] Update on the Great Consensus Cleanup Revival
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+ boundary="----=_Part_331308_116972442.1739308810117"
+X-Original-Sender: antoine.riard@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_331308_116972442.1739308810117
+Content-Type: multipart/alternative;
+ boundary="----=_Part_331309_1883248253.1739308810117"
+
+------=_Part_331309_1883248253.1739308810117
+Content-Type: text/plain; charset="UTF-8"
+
+Hi Darosior,
+
+> I believe it is important to bundle all fixes together to make up for the
+substantial fixed cost of deploying a soft fork. It also seems absurd to
+deploy a soft fork aimed at patching security bugs, but only fix some of
+them and lea> ve the protocol partly vulnerable. While it is technically
+possible it is not something i want to encourage.
+
+I don't wish to be dogmatic here, though I believe we have 2 distinct
+things. There is (a) to have 4 distinct BIPs for each fix
+("timewarp"/"worst-block-time"/"merkle-tree-weakness"/"enhanced-duplicated-txn")
+and there is (b) to bundle all the fixes together as of course there is
+substantial ecosystem coordination cost to deploy a soft fork, even with
+BIP9. Getting 4 distinct BIPs, it's of course a bit more work for the soft
+fork authors and champions, though I think this avoid too-beefy
+ill-written BIP as we already had and undocumented future rules in the
+script interpreter code like the SIGPUSHONLY check I was pointing out.
+
+Apart of this editorial good practice motivation, this also indeed make it
+simpler to deploy the fix one by one (of course you can always hack-in
+activation code, even if it's single BIP), in the pessimistic scenario in
+the future there are no consensus on all the fixes, though only a subset of
+the 4 ones. In that optic, yes if we can get in 3 of the 4 fixes in a
+bundled soft fork and the remaining one at a latter time, it would be
+already a win to reduce the protocol vulnerability exposure.
+
+It's unlike the Taproot patchset here, each proposed soft-fork fix is
+supposed to be addressing a vulnerability of its own, and there is almost
+no technical coupling between them (well one could go to argue there is one
+among the timewarp fix and the worst-block-validation time, if you go to
+consider the maximum DoS surface of a full-node under wall clock time). I
+don't think it's a question of wishing what we wished to encourage as the
+"ideal" deployment of this set of consensus rules changes, as if there are
+good technical reasons to object on 1 fix and no consensus, this shouldn't
+prevent to be realistic and go to deploy all the remaining ones for which
+there is consensus.
+
+> Regarding the confiscation surface, please note the specific concerns
+raised about the 2019 proposal do not apply to the fix proposed here. The
+new approach to mitigating the worst case validation time is extremely
+conservative in this regard: no opcodes or other Script functionality get
+disabled. Only a limit is introduced at the transaction level, which allows
+to pinpoint exactly the harmful behaviour without rendering any innocent
+transaction invalid.
+
+I'm not sure if there is already code, and even a BIP on the
+"worst-block-validation-time", though it's unclear to me if the limit aims
+to apply on UTXO spends spending lecacy scripts ex post to the activation
+(as I think the proposal of few months ago was laying out) or ex ante to
+the activation. If the latter one, with a "retro-active" confiscation
+surface, I think it's akin to the specific concerns raised in 2019, and if
+it's something like that we should be
+very careful in the design.
+
+> As one would expect due to the larger design space available to fix this
+issue, this private thread is where most of the discussion would happen.
+
+There is another point - I'm sharing the practice on not exposing all
+experimentation on the worst-block-validation-time, as you never know it's
+the wild Internet and there can be always script kiddies at the corner of
+the block for unpatched vulnerabilities. On the other hand, we're proposing
+to change what is the "consensus" definition of people money, so a bit more
+of publicity in rationalizing why the changes are proposed could be
+welcome. For clarity I have access on the thread and there is bunch of
+other devs. It's always a (hard) question how much info you share on
+vulnerabilities in the process of fixing them.
+
+Anyway, I'll go to review code+BIP(s) for all the fixes, those raised
+points are just relevant to keep in mind imho.
+
+Best,
+Antoine R. (nah you're evil, i'm evil, we're all evil, btc is beyond good
+and evil)
+OTS hash: 0334fb9d557426c4f7d71d3e99bb9badbfd87903
+
+--
+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 visit https://groups.google.com/d/msgid/bitcoindev/87360fbe-30dd-4e18-acbf-7416c47ebc61n%40googlegroups.com.
+
+------=_Part_331309_1883248253.1739308810117
+Content-Type: text/html; charset="UTF-8"
+Content-Transfer-Encoding: quoted-printable
+
+Hi Darosior,<br /><br />&gt; I believe it is important to bundle all fixes =
+together to make up for the substantial fixed cost of deploying a soft fork=
+. It also seems absurd to deploy a soft fork aimed at patching security bug=
+s, but only fix some of them and lea&gt; ve the protocol partly vulnerable.=
+ While it is technically possible it is not something i want to encourage.<=
+br /><br />I don't wish to be dogmatic here, though I believe we have 2 dis=
+tinct things. There is (a) to have 4 distinct BIPs for each fix ("timewarp"=
+/"worst-block-time"/"merkle-tree-weakness"/"enhanced-duplicated-txn") and t=
+here is (b) to bundle all the fixes together as of course there is substant=
+ial ecosystem coordination cost to deploy a soft fork, even with BIP9. Gett=
+ing 4 distinct BIPs, it's of course a bit more work for the soft fork autho=
+rs and champions, =C2=A0though I think this avoid too-beefy ill-written BIP=
+ as we already had and undocumented future rules in the script interpreter =
+code like the SIGPUSHONLY check I was pointing out.<br /><br />Apart of thi=
+s editorial good practice motivation, this also indeed make it simpler to d=
+eploy the fix one by one (of course you can always hack-in activation code,=
+ even if it's single BIP), in the pessimistic scenario in the future there =
+are no consensus on all the fixes, though only a subset of the 4 ones. In t=
+hat optic, yes if we can get in 3 of the 4 fixes in a bundled soft fork and=
+ the remaining one at a latter time, it would be already a win to reduce th=
+e protocol vulnerability exposure.<br /><br />It's unlike the Taproot patch=
+set here, each proposed soft-fork fix is supposed to be addressing a vulner=
+ability of its own, and there is almost no technical coupling between them =
+(well one could go to argue there is one among the timewarp fix and the wor=
+st-block-validation time, if you go to consider the maximum DoS surface of =
+a full-node under wall clock time). I don't think it's a question of wishin=
+g what we wished to encourage as the "ideal" deployment of this set of cons=
+ensus rules changes, as if there are good technical reasons to object on 1 =
+fix and no consensus, this shouldn't prevent to be realistic and go to depl=
+oy all the remaining ones for which there is consensus.<br /><br />&gt; Reg=
+arding the confiscation surface, please note the specific concerns raised a=
+bout the 2019 proposal do not apply to the fix proposed here. The new appro=
+ach to mitigating the worst case validation time is extremely conservative =
+in this regard: no opcodes or other Script functionality get disabled. Only=
+ a limit is introduced at the transaction level, which allows to pinpoint e=
+xactly the harmful behaviour without rendering any innocent transaction inv=
+alid.<br /><br />I'm not sure if there is already code, and even a BIP on t=
+he "worst-block-validation-time", though it's unclear to me if the limit ai=
+ms to apply on UTXO spends spending lecacy scripts ex post to the activatio=
+n (as I think the proposal of few months ago was laying out) or ex ante to =
+the activation. If the latter one, with a "retro-active" confiscation surfa=
+ce, I think it's akin to the specific concerns raised in 2019, and if it's =
+something like that we should be<br />very careful in the design.<br /><br =
+/>&gt; As one would expect due to the larger design space available to fix =
+this issue, this private thread is where most of the discussion would happe=
+n. <br /><br />There is another point - I'm sharing the practice on not exp=
+osing all experimentation on the worst-block-validation-time, as you never =
+know it's the wild Internet and there can be always script kiddies at the c=
+orner of the block for unpatched vulnerabilities. On the other hand, we're =
+proposing to change what is the "consensus" definition of people money, so =
+a bit more of publicity in rationalizing why the changes are proposed could=
+ be welcome. For clarity I have access on the thread and there is bunch of =
+other devs. It's always a (hard) question how much info you share on vulner=
+abilities in the process of fixing them.<br /><br />Anyway, I'll go to revi=
+ew code+BIP(s) for all the fixes, those raised points are just relevant to =
+keep in mind imho.<br /><br />Best,<br />Antoine R. (nah you're evil, i'm e=
+vil, we're all evil, btc is beyond good and evil)<br />OTS hash: 0334fb9d55=
+7426c4f7d71d3e99bb9badbfd87903<br />
+
+<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/87360fbe-30dd-4e18-acbf-7416c47ebc61n%40googlegroups.com?utm_med=
+ium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/bitcoind=
+ev/87360fbe-30dd-4e18-acbf-7416c47ebc61n%40googlegroups.com</a>.<br />
+
+------=_Part_331309_1883248253.1739308810117--
+
+------=_Part_331308_116972442.1739308810117--
+