Subject: Re: [bitcoindev] Unbreaking testnet4

From: pithosian <[email-masked]>
Date: Mon, 28 Apr 2025 11:48:58 +0000 (UTC)

On Sun, 27 Apr 2025 22:54:54 +0000 (UTC)
Jameson Lopp <[email-masked]> wrote:
> I'd suggest simply disabling the halving logic and making it a
> perpetual 50 TBTC issuance. At that rate, it would still take ~8
> years or so to surpass the 21M limit and I'd think that testnets
> should be reset more frequently than that.

On Mon, 28 Apr 2025 11:06:55 +0000 (UTC)
Jameson Lopp <[email-masked]> wrote:
> Encoding an "end of life date" into testnets is actually an
> interesting idea worth discussing. As far as I'm aware it's never
> been done before on any network.
What about having the halving act as a reset? Eg: don't reduce the
mining reward AND disallow spends of UTXOs from before the last halving.

> On Mon, Apr 28, 2025 at 2:11 AM Saint Wenhao <[email-masked]>
> wrote:
> 
> > > Demurrage might be asking a bit much in terms of deviation.
> >
> > If that's the case, then why signing all blocks in signet is not
> > "too much"?
> >
> 
> Because signet isn't testnet? It gives up permissionless block
> creation in return for predictability.
> 
> 
> > Or why unlimited supply is not "too much"?
> >
> 
> It might be, but it might not be, given that the point of testnet is
> for coins to be free for developers to acquire and use without fear of
> financial loss. Thus scarcity isn't really an inviolable property of
> testnet.
> 
> 
> > All of these changes were put in the same basket of "Require
> > unanimous consent", so why one kind of change is better or worse
> > than the others? All of them deviates from the mainnet, and we
> > probably wouldn't want anything like that on the original chain
> > anyway.
> >
> > > I'd think that testnets should be reset more frequently than that.
> >
> > Then why don't we put any kind of reset logic into testnet5
> > consensus rules? Because when nothing like that is present, then
> > testnets can potentially run forever. Testnet3 is becoming an
> > altcoin, and new testnets will also be, if no significant changes
> > will be made. Signet is not traded yet, mainly because of
> > centralized mining, but there already are centralized altcoin
> > federations, so it may change in the future.
> >
> >
> Encoding an "end of life date" into testnets is actually an
> interesting idea worth discussing. As far as I'm aware it's never
> been done before on any network.
> 
> And again, the word "reset" should be replaced by "abandon", unless
> you
> > really want to reorganize the whole old chain of some existing
> > testnet, by producing a stronger alternative chain in testnet5,
> > which would replace the old network in a backward-compatible way,
> > by mining everything on top of the same Genesis Block, and
> > eventually producing a bigger chainwork.
> >
> > pon., 28 kwi 2025 o 00:50 Jameson Lopp <[email-masked]>
> > napisał(a):
> >
> >>
> >>
> >> On Sun, Apr 27, 2025 at 12:47 PM Saint Wenhao
> >> <[email-masked]> wrote:
> >>
> >>> What about introducing demurrage in testnet5 consensus rules?
> >>>
> >> In general it seems desirable for a testnet to be as close as
> >> possible to mainnet's rules. Demurrage might be asking a bit much
> >> in terms of deviation.
> >>
> >> I'd suggest simply disabling the halving logic and making it a
> >> perpetual 50 TBTC issuance. At that rate, it would still take ~8
> >> years or so to surpass the 21M limit and I'd think that testnets
> >> should be reset more frequently than that.
> >>
> >>>
> >>> Testnet coins were supposed to be worthless. But it failed in both
> >>> testnet3 and testnet4. In the meanwhile, signet was introduced,
> >>> to make a more stable test network. However, signing blocks was
> >>> listed on wiki page https://en.bitcoin.it/wiki/Prohibited_changes
> >>> as something, that "Require unanimous consent". And, as the
> >>> history can tell us, people still wanted to test mining anyway,
> >>> which is why testnet3 and testnet4 have much more chainwork than
> >>> signet (and when it comes to signet, sending signed-but-unmined
> >>> blocks to the miners was never implemented, so they had no chance
> >>> to provide more hashing power).
> >>>
> >>> Another kind of change on the list, that would require consent,
> >>> was increasing the total number of coins beyond 21 million. But
> >>> then, testing supply limits would be harder, and it could cause
> >>> integer overflows in some cases. But: in all test networks,
> >>> including testnet3, testnet4, and signet, there was never a
> >>> problem of "not enough coins for miners", so that change probably
> >>> wouldn't solve any problems (and seeing it in action would take
> >>> years anyway; testnet4 is still far from the first halving, and
> >>> it is traded anyway, so that change won't fix it).
> >>>
> >>> Then, we have the third option, which was not yet tried in test
> >>> networks: demurrage. There are two main options: burning coins, or
> >>> re-assigning them to someone else. To make a soft-fork out of it,
> >>> re-assigning would be backward-incompatible, so it is probably
> >>> easier to just implement burning, and just treat all coins older
> >>> than N blocks in the same way, as OP_RETURN, by simply
> >>> invalidating transactions spending them on consensus level.
> >>>
> >>> Also, when it comes to maintaining testnet nodes, if it would be
> >>> possible to automatically remove things from the UTXO set, then
> >>> it would make Initial Blockchain Download easier, just because
> >>> new nodes wouldn't need to synchronize everything, if old coins
> >>> would be automatically invalidated. In practice, all nodes could
> >>> be just running in pruned mode all the time, and everything
> >>> beyond the pruning point, could be simply ignored on consensus
> >>> level (which would also prevent the UTXO set from exploding). And
> >>> then, if we would keep for example the last 2,016 blocks, then
> >>> the whole chain would never take more than 2016 * 4 MB = 8.064 GB
> >>> of storage, and that's all we would need to send during Initial
> >>> Blockchain Download to other nodes.
> >>>
> >>> poniedziałek, 31 marca 2025 o 22:50:27 UTC+2 Antoine Poinsot
> >>> napisał(a):
> >>>
> >>>> Good point on not having the flag day on a holiday. One or two
> >>>> weeks sounds good to me.
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> On Monday, March 24th, 2025 at 8:25 AM, Murch <[email-masked]>
> >>>> wrote:
> >>>>
> >>>> >
> >>>> >
> >>>> > Errr, I wrote the same date as you, but I meant a week later,
> >>>> 2026-01-08
> >>>> > instead.
> >>>> >
> >>>> > -Murch
> >>>> >
> >>>> > On 2025-03-21 14:20, Murch wrote:
> >>>> >
> >>>> > > Hey Antoine and everyone,
> >>>> > >
> >>>> > > What you suggest makes sense to me. Since the 20-minute
> >>>> > > difficulty exception is now exploited perpetually, it
> >>>> > > doesn’t serve its
> >>>> intended
> >>>> > > purpose of allowing developers to mine themselves a few coins
> >>>> easily or
> >>>> > > confirm their own non-standard transactions. In that case,
> >>>> > > it would
> >>>> be
> >>>> > > better to not have it at all.
> >>>> > >
> >>>> > > On 2025-03-18 07:29, 'Antoine Poinsot' via Bitcoin
> >>>> > > Development
> >>>> Mailing
> >>>> > > List wrote:
> >>>> > >
> >>>> > > > I propose to fix this by removing the difficulty reset
> >>>> > > > rule from testnet4 through a flag day hard fork on
> >>>> > > > 2026-01-01.
> >>>> > >
> >>>> > > I would suggest to pick a date that’s not a holiday in many
> >>>> > > places
> >>>> to
> >>>> > > avoid disrupting people’s holiday, how about 2026-01-01
> >>>> > > instead?
> >>>> > >
> >>>> > > Cheers,
> >>>> > > Murch
> >>>> >
> >>>> >
> >>>> > --
> >>>> > 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 [email-masked].
> >>>> > To view this discussion visit
> >>>> https://groups.google.com/d/msgid/bitcoindev/7c6800f0-7b77-4aca-a4f9-2506a2410b29%40murch.one.
> >>>>
> >>>>
> >>> --
> >>> 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 [email-masked].
> >>> To view this discussion visit
> >>> https://groups.google.com/d/msgid/bitcoindev/672cb527-9005-46fc-be2c-4508d39cfd7dn%40googlegroups.com
> >>> <https://groups.google.com/d/msgid/bitcoindev/672cb527-9005-46fc-be2c-4508d39cfd7dn%40googlegroups.com?utm_medium=email&utm_source=footer>
> >>> .
> >>>
> >>
> 

-- 
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 [email-masked].
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/20250428114858.46B477C1126%40smtp.postman.i2p.