From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Tue, 29 Apr 2025 08:14:40 -0700 Received: from mail-oa1-f55.google.com ([209.85.160.55]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1u9mfP-0003e3-Je for bitcoindev@gnusha.org; Tue, 29 Apr 2025 08:14:40 -0700 Received: by mail-oa1-f55.google.com with SMTP id 586e51a60fabf-2c22c1d5d09sf4401707fac.2 for ; Tue, 29 Apr 2025 08:14:39 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1745939673; cv=pass; d=google.com; s=arc-20240605; b=HEyBgXWc2gyEDir2Vsl9ZwsW4lrjIpxeL1R0EB7mLuclUwlVDsIWxXPMlBLRzEraot 3Fk1kG8JkCURyZBW9i71/cr+SW6PKKMIsUz9NhRYgx1ixvMx7KQqqRBBMwCqIMw3wFkP 4KHMKQNXC6zWfmNHDnUvV7VMxH4hhTYVVA33nc4ONpqeK1QKWeG8f8g1Q0+IJmeihtUl 6n6XhNiH78VeqKNYS+/IFuza4Sga7XB4oO1Z/kLQVd58IMk6vnct8OOkNz0MwXD/aAMu UN7gL9Cahs0+jrSd220L1J+Bh4YiWCQG3tvm0+XS8YIcicTWpEsUmsPHOiYkTveipg9H k2tw== 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:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:sender:dkim-signature :dkim-signature; bh=bdMcbSXDaJA5IZZelPqp5TnwBFLsfeT1oWP7YoeCYmg=; fh=l0CaEUvU/CzgAFPI27IER9C1lNsIM19Yo7XBzUTPAfE=; b=XIssc+pjEWqZYr1qDskdYGQkhuhW9Eygjmm211ftQ8/rrfBifbRSxfXWUjAd6QJFYl Kv4sY/C/Uux60xxJ2ldYGt7PSOK3R0ysLzJymGLVODeM9zPYpWAWImo7exoVkPO5nQtR k7IQ4Tl2llT70mNwMDJsfhporTsPTCjygt+YO09/4cmgeSHJH2TurHljz8rxudEYnCjR 56V049svkI88oeOO0n2n3U2pKsreC5WNfDyRwJS0/X1Hrkh+Yf+85yV5sXJ+ic5WWZXt OWE+K0GLuZsaRyGRM/tsfGhSs0L3TqrhmxbQU38Lj32WNVC3/t3cMXKtS1LaJUzgXHcZ tqkQ==; darn=gnusha.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=QpixJtz4; spf=pass (google.com: domain of rsomsen@gmail.com designates 2607:f8b0:4864:20::b36 as permitted sender) smtp.mailfrom=rsomsen@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@googlegroups.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1745939673; x=1746544473; 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=bdMcbSXDaJA5IZZelPqp5TnwBFLsfeT1oWP7YoeCYmg=; b=mEWxcFL6jJahGR5V8bLLstGNipJl25LVkeg4vjYyn6S7g8Rng28M1iqVRZESTzSX9i jMLlPq4CUpIDaT4zXGo0qX46ynm5EnDSZH0rXRVdGlJ0gwbOJCezTyrtzw0ilUji8xMx C9xpts4BkNw8rTjsHBnb1dtsIA4rzy0tqFMUfjPgzxGbUrfzKKrP8gWTWHg5jHutpL07 wCtS7SVcBenMq4oFxaM8Q7bq9Nyeu8SSgMaIw91bRXWD0JLaDNFFjGwqXElb2EctL0SL h5R38tI4IUazG8oRK1tX/k9qwuAjZZf1EdxfdA+2OO4ABO4f+b+st+lnMWdndDxlzq6n pYMw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745939673; x=1746544473; 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=bdMcbSXDaJA5IZZelPqp5TnwBFLsfeT1oWP7YoeCYmg=; b=LofhfvQvwToSIj1VME6JNVby0Bo77sVqepoGwQtf5G5ISKG1V3IeQF0Pk3vMyx5AQ8 RmewMu3t3H2ZCH46IiGwcZL1NZb0YTBMnhZNdpF6R0bHnWty3TDqosGVlrbqr/H5LXzA F9DmRbj1pPP+Svymo/vt1HU+AEBOuy5QMyKpLgXUk1TQEYo3B0fI6vf4duuBVyNvi83Y wsiHr7LKK9uSDAkGIq8eKc4IZgdvBYeGJoqNpeNVKedg53C9gpUEkH3jJ1exc0Ug6fmd agsMTOODAaXWvP9V/vEpV8W4Lt3MXLca7P16AOwqUuIlSrWD49jBbcY0O5i6Mu9Vd0qA gWMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745939673; x=1746544473; 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=bdMcbSXDaJA5IZZelPqp5TnwBFLsfeT1oWP7YoeCYmg=; b=uCO4quxC/t2XjCKOz8Gnny4u7Arglljc9JbrRUqajYazmL/zYnGruvAuVOyzGLq5uC jaGZ/4JwnO4eY081XepAiW1+Z6E+K1odFvPUicX1uLltB7TkKzLfx5j4uhUOOMLwciEM 7PteXnvJ3bCbNWGyGwd8v7z0/Qw7+bvVodEnNdXkS7nZUxYK/ZbLA0BMpzOwHNTw7WSS GYBT3xrY9FZPDch/oiv1A2By6T6TCMTtmFGj5rek9b/03zT9yFLw+CXLVn5KHSWIWCOl HS/IiA04PM3/4SC38nA9rbRcwKZ4H55QqS85xS2Gq4R0IxJYVbKNnZ6i8vfQbPSCjza+ ohCQ== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCUfkw7p3mZBjnob+3k+dxADFhaBfy76ag9f2iV2KysTDYQDysjui/pkzSFqEByEBvf3UBDROaxAo4lY@gnusha.org X-Gm-Message-State: AOJu0YxmhIXBunogv74+oxJNuIFbk+W6xnrwqHLmWtbp5HsU+Bp2kpMU CPeoA2YZOwkQjy7MLkBh+WGXONQHv31dSorQ9It2RuL5OqtEeKns X-Google-Smtp-Source: AGHT+IEn46HoPRrBVkKCJ3M9ouN6JIzmNR67lmYTiPQDCe0rRfiDL/Lcbtjhhj5zDfaGFLriMivWzw== X-Received: by 2002:a05:6871:2886:b0:2d4:e29d:529a with SMTP id 586e51a60fabf-2d9be484d29mr7740210fac.5.1745939672506; Tue, 29 Apr 2025 08:14:32 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com; h=AVT/gBGHXvqzBpbOJOu7QG4PlZfVsvC709Qdq1eGyv83HCCD3w== Received: by 2002:a05:6820:1a8f:b0:602:2643:a008 with SMTP id 006d021491bc7-606434d8fbbls104146eaf.2.-pod-prod-05-us; Tue, 29 Apr 2025 08:14:29 -0700 (PDT) X-Received: by 2002:a05:6808:6b96:b0:3fe:ab15:5ecb with SMTP id 5614622812f47-401fd724374mr7951604b6e.9.1745939669482; Tue, 29 Apr 2025 08:14:29 -0700 (PDT) Received: by 2002:a05:6808:2002:b0:3fa:da36:efcd with SMTP id 5614622812f47-401f2fc0e20msb6e; Tue, 29 Apr 2025 08:11:53 -0700 (PDT) X-Received: by 2002:a05:6a21:3942:b0:1f5:8e94:2e83 with SMTP id adf61e73a8af0-2046a402b0emr20059735637.8.1745939512564; Tue, 29 Apr 2025 08:11:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1745939512; cv=none; d=google.com; s=arc-20240605; b=FqvwroJllu46KAx6bvEpDDvZoqdccryz6gV2jzuu/sWo0Wqh9oFH4z5wFWNGDkgB0C YegUYB/mnibpKCGiHPQDgQoVMFXvSjWIXsB1fWiIY2yyUdVUY8pSNw6qVY8GiGl7Ebx3 jB+eaTTMKTHDFDqAWcUdBrk/BYCLb4iwBgwV9D/BNA1YprHYPqMtcNH0H6MWiA7OK9s1 kxKmfeSQHrIO4csfRp9YQTc0T3yj1BxoOGgLpC0JlnOD0xcHDNDK9za5lHkFC6LhYfSi p/b8um7LKDWsyiFWEF86u1ey2H2rnxlLkZXBxHraXjPdHNLtE4j4XYZEqCFQsKib1EBj MByA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=fIIxj2pmrL1zspMLbZZ5zJCqZvhQqOHWZQ1vkEpXiY8=; fh=W+TqxZOpiG7WFDCTFdUi/FxkAHIvOMp/EwefaNrDtJ8=; b=V4t3P3kIFMOqCNhjGjmAsdHKK1upaGLloNtlyzwI9Fvn2ecvCsf1Zom9/NViikrz7J Sln3J6lfc147Ri2peKIkkIws4+hbjjRE20Qq0o63X6sEMDkZL5wySZ/5KApPD9bAoTi1 a1f91Mm/Bv0ps9MAmDuIwjodU8rBOSZ2v4Y2LdUMbMpZdWuf8aAxhTvSuWeUY0r2EF2Y WgM8iGdoq9HhWPIklzwyotz1GNElGffhZsdUJHXz0MWGuRXaPPh2x5VEZPIEvbmRY29H 57Pgdba4G0SqBXP9BjTmxpon2VBp/xLuzitN/Ol9F23NAVzU4Sbu6f+ObAUHkMDHuwm2 npFQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=QpixJtz4; spf=pass (google.com: domain of rsomsen@gmail.com designates 2607:f8b0:4864:20::b36 as permitted sender) smtp.mailfrom=rsomsen@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@googlegroups.com Received: from mail-yb1-xb36.google.com (mail-yb1-xb36.google.com. [2607:f8b0:4864:20::b36]) by gmr-mx.google.com with ESMTPS id 41be03b00d2f7-b15f53d2cefsi509493a12.0.2025.04.29.08.11.52 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 29 Apr 2025 08:11:52 -0700 (PDT) Received-SPF: pass (google.com: domain of rsomsen@gmail.com designates 2607:f8b0:4864:20::b36 as permitted sender) client-ip=2607:f8b0:4864:20::b36; Received: by mail-yb1-xb36.google.com with SMTP id 3f1490d57ef6-e7329792c6eso2605824276.1 for ; Tue, 29 Apr 2025 08:11:52 -0700 (PDT) X-Gm-Gg: ASbGncv5BHx7nqNTa/wrzfRBZyAKOODTLgE9if/MDa5gB4ulm0OQ1wzKvA/jIuExTub 1Hf2ImxFDYtoTzGaubK/WR8TRRmr0FzgRDCFzlCf6U03Ap1e7l08qjk7nViKaA/ykI2yw64m55u xOKm0RGfNidA2TdCiPgzpH640k9yd7NwbtzOIp8H4E0lQ+HToIxladqzaY X-Received: by 2002:a05:6902:2b06:b0:e72:efce:b24c with SMTP id 3f1490d57ef6-e732343a2f2mr18559463276.33.1745939511449; Tue, 29 Apr 2025 08:11:51 -0700 (PDT) MIME-Version: 1.0 References: <86FA0255-1A81-4DA1-9B1A-E57AD4F1DAAD@sprovoost.nl> In-Reply-To: From: Ruben Somsen Date: Tue, 29 Apr 2025 17:11:40 +0200 X-Gm-Features: ATxdqUE041HlFtNIIparZ-cLfYlldjuX1h32YMM6XXKyL6hpw6pS5zC-YwwXBb4 Message-ID: Subject: Re: [bitcoindev] The Tragic Tale of BIP30 To: bitcoindev@googlegroups.com Cc: Eric Voskuil , Sjors Provoost , luke@dashjr.org Content-Type: multipart/alternative; boundary="00000000000061227c0633ec3853" X-Original-Sender: rsomsen@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=QpixJtz4; spf=pass (google.com: domain of rsomsen@gmail.com designates 2607:f8b0:4864:20::b36 as permitted sender) smtp.mailfrom=rsomsen@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@googlegroups.com Precedence: list Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com List-ID: X-Google-Group-Id: 786775582512 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -0.5 (/) --00000000000061227c0633ec3853 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, Replying to parts of all messages thus far. >The obvious solution to this problem is to not create the problem in the first place. Yes, that is a fair point. Not removing the checkpoints is one way of ensuring the consensus bug cannot be triggered. 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). Even though checkpoints essentially force your node to halt if something were invalid up until that point, I still think there is value in being able to verify that the rules were followed. >Solution C could be to remove it, but restore the previous UTXO 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. >In the case of BIP30, one option could be to have a rule that says: if the 2014 checkpoint is missing, then enforce the BIP54 Consensus Cleanup nLockTime rule from genesis. BIP34 can then simply go away. I'm afraid it's not that simple. If you wanted to fork off from some arbitrary point prior to the last checkpoint, you'd want to enforce the new consensus rules from that exact point (not from genesis), but that requires shipping the full node software with a hash for every possible block that could be forked off from. It's roughly 8MB of data so it's not impossible, and I even had this written up as an alternative solution, but I removed it in favor of the solution I ended up describing. Cheers, Ruben On Mon, Apr 28, 2025 at 2:39=E2=80=AFPM Eric Voskuil wro= te: > > > On Apr 28, 2025, at 08:04, Sjors Provoost wrote: > > > >> I'm not aware of any compelling argument to hard fork out the existing > checkpoints > > > > Bitcoin Core plans to remove checkpoints entirely by v30 this fall. I > just started a thread about this. > > The thread does not provide or reference any compelling argument (or any > argument that I can find) for removing the checkpoints. > > One reference states that =E2=80=9Cassume valid=E2=80=9D speeds IBD, but = of course it does > so by not validating. So this does not provide a comparable offset to the > increased validation cost, and even if it did does not provide an argumen= t > for hard forking them out. > > e --=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/= CAPv7TjbEK8r8AQgzLvrwPmQHavU-ujgJqSz%2B7CFy_8W0_pwMvQ%40mail.gmail.com. --00000000000061227c0633ec3853 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

Replying to parts of all messages t= hus far.


>The obvious solution to this proble= m is to not create the problem in the first place.

Yes, that is a fa= ir point. Not removing the checkpoints is one way of ensuring the consensus= bug cannot be triggered. I'm agnostic about whether having checkpoints= is also a reason to forgo consensus checks such as BIP30=C2=A0(or my propo= sed alternative of checking the coinbase TXID for uniqueness and ensuring n= o future collision). Even though checkpoints essentially force your node to= halt if something were invalid up until that point, I still think there is= value in being able to verify that the rules were followed.

<= div>
>Solution C could be to remove it, but restore the pr= evious UTXO

Yes, as Sjors also pointed out, I do t= hink it is best to be precise about which of the duplicates you're keep= ing. In fact, it's probably required to ensure the rolling UTXO set has= h remains consistent.


>In the case of=C2=A0= BIP30, one option could be to have a rule t= hat says: if the 2014 checkpoint is missing, then enforce the BIP54 Consens= us Cleanup nLockTime rule from genesis. BIP34 can then simply go away.

I'm afraid it's not that simple. If you wanted= to fork off from some arbitrary point prior to the last checkpoint, you= 9;d want to enforce the new consensus rules from that exact point (not from= genesis), but that requires shipping the full node software with a hash fo= r every possible block that could be forked off from. It's roughly 8MB = of data so it's not impossible, and I even had this written up as an al= ternative solution, but I removed it in favor of the solution I ended up=C2= =A0describing.


Cheers,
Ruben

On Mon, Apr 28, 2025 at 2:39=E2=80=AFPM Eric Vosk= uil <eric@voskuil.org> wrote:=

> On Apr 28, 2025, at 08:04, Sjors Provoost <sjors@sprovoost.nl> wrote:
>
>> I'm not aware of any compelling argument to hard fork out the = existing checkpoints
>
> Bitcoin Core plans to remove checkpoints entirely by v30 this fall. I = just started a thread about this.

The thread does not provide or reference any compelling argument (or any ar= gument that I can find) for removing the checkpoints.

One reference states that =E2=80=9Cassume valid=E2=80=9D speeds IBD, but of= course it does so by not validating. So this does not provide a comparable= offset to the increased validation cost, and even if it did does not provi= de an argument for hard forking them out.

e

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/= msgid/bitcoindev/CAPv7TjbEK8r8AQgzLvrwPmQHavU-ujgJqSz%2B7CFy_8W0_pwMvQ%40ma= il.gmail.com.
--00000000000061227c0633ec3853--