Skip to content

Commit 55d663c

Browse files
committed
Merge bitcoin#30658: kernel: pre-28.x chainparams and headerssync update
221809b headerssync: Update headerssync configuration (Ava Chow) c270744 params: Update assumevalid and minimum chainwork (Ava Chow) 255d451 params: Update chainTxData (Ava Chow) 6a5bdae params: Update assumed blockchain and chainstate sizes (Ava Chow) Pull request description: Update chainparams and headerssync parameters for the pre-28.x branching, per https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-branch-off ACKs for top commit: fjahr: re-ACK 221809b Sjors: re-ACK 221809b glozow: ACK 221809b marcofleon: ACK 221809b Tree-SHA512: 5106d59f46dbe167fffa339519e52975ae5bfd7e52202d76ec058da0d4e8bf87355e90678f7ace7c8c402a2f7264050a0355680b9f727c7962ff60e8fcdb3a90
2 parents 338b9d8 + 221809b commit 55d663c

File tree

3 files changed

+34
-33
lines changed

3 files changed

+34
-33
lines changed

contrib/devtools/headerssync-params.py

100644100755
+2-2
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
# Parameters:
1313

1414
# Aim for still working fine at some point in the future. [datetime]
15-
TIME = datetime(2026, 10, 5)
15+
TIME = datetime(2027, 4, 1)
1616

1717
# Expected block interval. [timedelta]
1818
BLOCK_INTERVAL = timedelta(seconds=600)
1919

2020
# The number of headers corresponding to the minchainwork parameter. [headers]
21-
MINCHAINWORK_HEADERS = 804000
21+
MINCHAINWORK_HEADERS = 856760
2222

2323
# Combined processing bandwidth from all attackers to one victim. [bit/s]
2424
# 6 Gbit/s is approximately the speed at which a single thread of a Ryzen 5950X CPU thread can hash

src/headerssync.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
// contrib/devtools/headerssync-params.py.
1414

1515
//! Store one header commitment per HEADER_COMMITMENT_PERIOD blocks.
16-
constexpr size_t HEADER_COMMITMENT_PERIOD{606};
16+
constexpr size_t HEADER_COMMITMENT_PERIOD{615};
1717

1818
//! Only feed headers to validation once this many headers on top have been
1919
//! received and validated against commitments.
20-
constexpr size_t REDOWNLOAD_BUFFER_SIZE{14441}; // 14441/606 = ~23.8 commitments
20+
constexpr size_t REDOWNLOAD_BUFFER_SIZE{14621}; // 14621/615 = ~23.8 commitments
2121

2222
// Our memory analysis assumes 48 bytes for a CompressedHeader (so we should
2323
// re-calculate parameters if we compress further)

src/kernel/chainparams.cpp

+30-29
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ class CMainParams : public CChainParams {
115115
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1628640000; // August 11th, 2021
116116
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 709632; // Approximately November 12th, 2021
117117

118-
consensus.nMinimumChainWork = uint256{"000000000000000000000000000000000000000063c4ebd298db40af57541800"};
119-
consensus.defaultAssumeValid = uint256{"000000000000000000026811d149d4d261995ec5b3f64f439a0a10e1a464af9a"}; // 824000
118+
consensus.nMinimumChainWork = uint256{"000000000000000000000000000000000000000088e186b70e0862c193ec44d6"};
119+
consensus.defaultAssumeValid = uint256{"000000000000000000011c5890365bdbe5d25b97ce0057589acaef4f1a57263f"}; // 856760
120120

121121
/**
122122
* The message start string is designed to be unlikely to occur in normal data.
@@ -129,8 +129,8 @@ class CMainParams : public CChainParams {
129129
pchMessageStart[3] = 0xd9;
130130
nDefaultPort = 8333;
131131
nPruneAfterHeight = 100000;
132-
m_assumed_blockchain_size = 600;
133-
m_assumed_chain_state_size = 10;
132+
m_assumed_blockchain_size = 620;
133+
m_assumed_chain_state_size = 14;
134134

135135
genesis = CreateGenesisBlock(1231006505, 2083236893, 0x1d00ffff, 1, 50 * COIN);
136136
consensus.hashGenesisBlock = genesis.GetHash();
@@ -194,10 +194,10 @@ class CMainParams : public CChainParams {
194194
};
195195

196196
chainTxData = ChainTxData{
197-
// Data from RPC: getchaintxstats 4096 000000000000000000026811d149d4d261995ec5b3f64f439a0a10e1a464af9a
198-
.nTime = 1704194835,
199-
.tx_count = 946728933,
200-
.dTxRate = 6.569290261471664,
197+
// Data from RPC: getchaintxstats 4096 000000000000000000011c5890365bdbe5d25b97ce0057589acaef4f1a57263f
198+
.nTime = 1723649144,
199+
.tx_count = 1059312821,
200+
.dTxRate = 6.721086701157182,
201201
};
202202
}
203203
};
@@ -240,17 +240,17 @@ class CTestNetParams : public CChainParams {
240240
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1628640000; // August 11th, 2021
241241
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay
242242

243-
consensus.nMinimumChainWork = uint256{"000000000000000000000000000000000000000000000c59b14e264ba6c15db9"};
244-
consensus.defaultAssumeValid = uint256{"000000000001323071f38f21ea5aae529ece491eadaccce506a59bcc2d968917"}; // 2550000
243+
consensus.nMinimumChainWork = uint256{"000000000000000000000000000000000000000000000f209695166be8b61fa9"};
244+
consensus.defaultAssumeValid = uint256{"000000000000000465b1a66c9f386308e8c75acef9201f3f577811da09fc90ad"}; // 2873500
245245

246246
pchMessageStart[0] = 0x0b;
247247
pchMessageStart[1] = 0x11;
248248
pchMessageStart[2] = 0x09;
249249
pchMessageStart[3] = 0x07;
250250
nDefaultPort = 18333;
251251
nPruneAfterHeight = 1000;
252-
m_assumed_blockchain_size = 42;
253-
m_assumed_chain_state_size = 3;
252+
m_assumed_blockchain_size = 93;
253+
m_assumed_chain_state_size = 19;
254254

255255
genesis = CreateGenesisBlock(1296688602, 414098458, 0x1d00ffff, 1, 50 * COIN);
256256
consensus.hashGenesisBlock = genesis.GetHash();
@@ -295,10 +295,10 @@ class CTestNetParams : public CChainParams {
295295
};
296296

297297
chainTxData = ChainTxData{
298-
// Data from RPC: getchaintxstats 4096 000000000001323071f38f21ea5aae529ece491eadaccce506a59bcc2d968917
299-
.nTime = 1703579240,
300-
.tx_count = 67845391,
301-
.dTxRate = 1.464436832560951,
298+
// Data from RPC: getchaintxstats 4096 000000000000000465b1a66c9f386308e8c75acef9201f3f577811da09fc90ad
299+
.nTime = 1723613341,
300+
.tx_count = 187917082,
301+
.dTxRate = 3.265051477698455,
302302
};
303303
}
304304
};
@@ -339,16 +339,16 @@ class CTestNet4Params : public CChainParams {
339339
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
340340
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay
341341

342-
consensus.nMinimumChainWork = uint256{"000000000000000000000000000000000000000000000056faca98a0cd9bdf5f"};
343-
consensus.defaultAssumeValid = uint256{};
342+
consensus.nMinimumChainWork = uint256{"00000000000000000000000000000000000000000000005faa15d02e6202f3ba"};
343+
consensus.defaultAssumeValid = uint256{"000000005be348057db991fa5d89fe7c4695b667cfb311391a8db374b6f681fd"}; // 39550
344344

345345
pchMessageStart[0] = 0x1c;
346346
pchMessageStart[1] = 0x16;
347347
pchMessageStart[2] = 0x3f;
348348
pchMessageStart[3] = 0x28;
349349
nDefaultPort = 48333;
350350
nPruneAfterHeight = 1000;
351-
m_assumed_blockchain_size = 0;
351+
m_assumed_blockchain_size = 1;
352352
m_assumed_chain_state_size = 0;
353353

354354
const char* testnet4_genesis_msg = "03/May/2024 000000000000000000001ebd58c244970b3aa9d783bb001011fbe8ea8e98e00e";
@@ -394,9 +394,10 @@ class CTestNet4Params : public CChainParams {
394394
};
395395

396396
chainTxData = ChainTxData{
397-
.nTime = 0,
398-
.tx_count = 0,
399-
.dTxRate = 0,
397+
// Data from RPC: getchaintxstats 4096 000000005be348057db991fa5d89fe7c4695b667cfb311391a8db374b6f681fd
398+
.nTime = 1723651702,
399+
.tx_count = 757229,
400+
.dTxRate = 0.01570402633472492,
400401
};
401402
}
402403
};
@@ -420,15 +421,15 @@ class SigNetParams : public CChainParams {
420421
vSeeds.emplace_back("178.128.221.177");
421422
vSeeds.emplace_back("v7ajjeirttkbnt32wpy3c6w3emwnfr3fkla7hpxcfokr3ysd3kqtzmqd.onion:38333");
422423

423-
consensus.nMinimumChainWork = uint256{"00000000000000000000000000000000000000000000000000000206e86f08e8"};
424-
consensus.defaultAssumeValid = uint256{"0000000870f15246ba23c16e370a7ffb1fc8a3dcf8cb4492882ed4b0e3d4cd26"}; // 180000
425-
m_assumed_blockchain_size = 1;
424+
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000000000000025dbd66e58f"};
425+
consensus.defaultAssumeValid = uint256{"0000014aad1d58dddcb964dd749b073374c6306e716b22f573a2efe68d414539"}; // 208800
426+
m_assumed_blockchain_size = 2;
426427
m_assumed_chain_state_size = 0;
427428
chainTxData = ChainTxData{
428-
// Data from RPC: getchaintxstats 4096 0000000870f15246ba23c16e370a7ffb1fc8a3dcf8cb4492882ed4b0e3d4cd26
429-
.nTime = 1706331472,
430-
.tx_count = 2425380,
431-
.dTxRate = 0.008277759863833788,
429+
// Data from RPC: getchaintxstats 4096 0000014aad1d58dddcb964dd749b073374c6306e716b22f573a2efe68d414539
430+
.nTime = 1723655233,
431+
.tx_count = 5507045,
432+
.dTxRate = 0.06271073277261494,
432433
};
433434
} else {
434435
bin = *options.challenge;

0 commit comments

Comments
 (0)