public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Peter Todd <pete@petertodd•org>
To: "David A. Harding" <dave@dtrt•org>
Cc: bitcoindev@googlegroups.com
Subject: Re: [bitcoindev] Re: The Future of Bitcoin Testnet
Date: Tue, 9 Apr 2024 16:48:36 +0000	[thread overview]
Message-ID: <ZhVxZN6eLiCpdQ/F@petertodd.org> (raw)
In-Reply-To: <FB86E432-FAF0-466D-802D-938614AE0BDD@dtrt.org>

[-- Attachment #1: Type: text/plain, Size: 2743 bytes --]

On Sat, Apr 06, 2024 at 01:04:16PM -1000, David A. Harding wrote:
> 
> 
> On April 4, 2024 6:30:19 PM HST, Calvin Kim <ccychc@gmail•com> wrote:
> >I support reseting testnet3.
> >
> >However, I'm more inclined towards keeping the rules the same.
> 
> What about fundamentally requiring BIP34 from the start of the next testnet?  I haven't heard anyone say this, but I assume the current testnet4 having reverted[1] to BIP30 is bad for utreexo?
> 
> For context, BIP30 invalidates any block that has a transaction with the same txid as an entry in the current UTXO set.  A utreexo node doesn't have a complete copy of the utxo set, so it can't enforce BIP30 by itself.  I don't think current designs support efficient proof of non-membership, so an untrusted third party can't prove to a utreexo node that no current UTXO matches a given txid.  Thus, as I understand it, Utreexo depends on every transaction having a unique txid.
> 
> BIP34 requires every coinbase transaction include a unique data push, fixing the only known way to include two bit-identical transactions in the same valid blockchain.  On blockchains such as mainnet and testnet4 that started before BIP34, duplicate transactions remain possible in some rare edge cases (called the Block 1,983,702 Problem), so BIP30 support remains necessary unless the underlying issue is further fixed (e.g. [2]).  For new blockchains, like a potential testnet5,  I think we should probably require BIP34 from genesis so that there's no need to ever rely on BIP30.

NACK

One of the purposes of testnet is to exercise edge cases in code, in an
environment where mistakes don't cost money. It's a good thing that, eg, a
utreexo testnet implementation has to deal with all the the same warts as it
would have to eventually deal with in mainnet.

In fact, ideally if we reset testnet we'd delibrately *add* non-unique txids to
testnet to ensure that code related to that flaw is exercised; IIRC testnet
currently does not have any.


I also believe this principal is a reason to avoid resetting testnet: we have a
large body of weirdness in the current testnet that serves as good test cases
for any implementation. At the very least, if we do a testnet reset we should
consider re-adding all those weird edge cases to the new testnet.

-- 
https://petertodd.org 'peter'[:-1]@petertodd.org

-- 
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/ZhVxZN6eLiCpdQ/F%40petertodd.org.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2024-04-09 17:01 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-31 13:19 [bitcoindev] " Jameson Lopp
2024-03-31 14:33 ` Luke Dashjr
2024-03-31 14:57   ` Jameson Lopp
2024-03-31 17:21     ` Eric Voskuil
2024-04-09 18:28   ` Garlo Nicon
2024-03-31 16:02 ` Peter Todd
2024-03-31 21:01   ` Nagaev Boris
2024-03-31 21:29     ` Peter Todd
2024-04-01 12:54       ` Jameson Lopp
2024-04-01 13:37         ` Pieter Wuille
2024-04-01 14:20           ` Andrew Poelstra
2024-04-01 22:01             ` 'Fabian' via Bitcoin Development Mailing List
2024-04-02 11:53               ` Jameson Lopp
2024-04-02 18:36                 ` Lukáš Kráľ
2024-04-02 19:46                   ` Jameson Lopp
2024-04-03  4:19           ` Anthony Towns
2024-04-03 18:18             ` emsit
2024-04-03 19:35               ` Andrew Poelstra
2024-04-30 18:46               ` Matthew Bagazinski
2024-05-01 15:30                 ` Garlo Nicon
2024-05-04 17:13                 ` Peter Todd
2024-04-10  6:57       ` Garlo Nicon
2024-04-22  4:33         ` Ali Sherief
2024-04-01 13:25 ` Andrew Poelstra
2024-04-01 13:32   ` 'Fabian' via Bitcoin Development Mailing List
2024-04-01 14:28 ` Warren Togami
2024-04-01 19:22 ` [bitcoindev] " emsit
2024-04-04  8:14 ` Calvin Kim
2024-04-04 12:47   ` Jameson Lopp
2024-04-05  4:30     ` Calvin Kim
2024-04-06 23:04       ` David A. Harding
2024-04-09 16:48         ` Peter Todd [this message]
2024-04-16 17:30           ` [bitcoindev] " 'Sjors Provoost' via Bitcoin Development Mailing List
2024-04-07  7:20   ` [bitcoindev] " Christian Decker
2024-04-07  8:09     ` K Calvin
2024-04-08 19:11 ` Garlo Nicon
2024-04-09  4:29   ` coinableS
2024-04-28 13:45 ` [bitcoindev] " Matt Corallo
2024-05-02  7:10   ` Ali Sherief
2024-05-04 17:08     ` Peter Todd

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZhVxZN6eLiCpdQ/F@petertodd.org \
    --to=pete@petertodd$(echo .)org \
    --cc=bitcoindev@googlegroups.com \
    --cc=dave@dtrt$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox