Re: [bitcoin-dev] Unbreaking testnet4

59 views
Skip to first unread message

Angelo

unread,
Jan 18, 2026, 6:35:17 PM (2 days ago) Jan 18
to bitco...@googlegroups.com
Hello mailing list.

I have forked Bitcoin Core and modified the code to fix testnet4 by disabling the min difficulty rule after block 150,000: https://github.com/bitcoin/bitcoin/compare/master...batmanbytes:bitcoin:testnet4-fix

The changes in the code are minimal. As I've written in Bitcointalk:
I have introduced int nMinDifficultyBlocksForkHeight which is 0 by default in consensus/params.h, only ever used by the CTestNet4Params class. GetNextWorkRequired and PermittedDifficultyTransition are also modified to check whether min difficulty blocks are enabled, and if yes, whether nMinDifficultyBlocksForkHeight is 0 (which would indicate it is not testnet4). 

With no other changes to the code, during the epoch that includes block 150,000 (which already began at block 149,184), we should expect the block interval to increase by roughly sixfold (to about one hour per block). This is because the effective hashrate would correspond to approximately one-sixth of the difficulty. The difficulty increases by about 6x since there are roughly six times more difficulty-1 blocks than blocks at the normal difficulty.

We could modify the code to not suffer from the temporary 1-hour block interval if needed. I'm just interested to see what you think of those changes, so that we can move forward.  

Saint Wenhao

unread,
Jan 19, 2026, 5:28:40 AM (2 days ago) Jan 19
to Angelo, bitco...@googlegroups.com
> The changes in the code are minimal.

Yes, but you need some test cases as well.


> We could modify the code to not suffer from the temporary 1-hour block interval if needed.

It is not needed. Testnet4 overproduced around 30k blocks, if we count the time between today, and the Genesis Block. If it will take three months, instead of two weeks, to re-adjust the difficulty, then it wouldn't matter that much, because we already have around 1.5 million more coins, than we should have today.

Also, rejecting all blocks with CPU difficulty would mean, that the updated network will be stuck from time to time, when ASIC miners will come in, raise the difficulty, and then go away, leaving the rest of the users with halted chain.

--
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+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/85djL2Ah0Mh9Appt934138jLRE23gGmaIr96y8q-clEmMa_APPZLerKrrUZN524_Diq4pOydQLaEOZ3XBy4-sQIPxYODOHreM5RWuNHILto%3D%40protonmail.com.
Reply all
Reply to author
Forward
0 new messages