Skip to content

Commit 9f3dcac

Browse files
committed
Merge bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
11a2d3a [headerssync] update headerssync config for v29 (glozow) dd23c53 [kernel] update chainTxData for v29 (glozow) 80926af [kernel] update assumevalid and minimumChainWork for v29 (glozow) 0683b8e [kernel] update assumed blockchain and chainstate sizes for v29 (glozow) Pull request description: Update chainparams and headerssync config for v29.0 (see [release process](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-branch-off)). ACKs for top commit: achow101: ACK 11a2d3a Sjors: ACK 11a2d3a Tree-SHA512: 726cbb16a3bc8b11419c2888b17552d70217f616f17a715ba4983fdfccb0cfd9705c528601a6bb3e62563a6f43d41543181e13cdbad89d75abba3b7899328031
2 parents bd0ee07 + 11a2d3a commit 9f3dcac

File tree

3 files changed

+34
-34
lines changed

3 files changed

+34
-34
lines changed

contrib/devtools/headerssync-params.py

Lines changed: 2 additions & 2 deletions
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(2027, 4, 1)
15+
TIME = datetime(2027, 10, 6)
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 = 856760
21+
MINCHAINWORK_HEADERS = 886157
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

Lines changed: 2 additions & 2 deletions
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{615};
16+
constexpr size_t HEADER_COMMITMENT_PERIOD{624};
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{14621}; // 14621/615 = ~23.8 commitments
20+
constexpr size_t REDOWNLOAD_BUFFER_SIZE{14827}; // 14827/624 = ~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

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ class CMainParams : public CChainParams {
117117
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1628640000; // August 11th, 2021
118118
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 709632; // Approximately November 12th, 2021
119119

120-
consensus.nMinimumChainWork = uint256{"000000000000000000000000000000000000000088e186b70e0862c193ec44d6"};
121-
consensus.defaultAssumeValid = uint256{"000000000000000000011c5890365bdbe5d25b97ce0057589acaef4f1a57263f"}; // 856760
120+
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000b1f3b93b65b16d035a82be84"};
121+
consensus.defaultAssumeValid = uint256{"00000000000000000001b658dd1120e82e66d2790811f89ede9742ada3ed6d77"}; // 886157
122122

123123
/**
124124
* The message start string is designed to be unlikely to occur in normal data.
@@ -131,7 +131,7 @@ class CMainParams : public CChainParams {
131131
pchMessageStart[3] = 0xd9;
132132
nDefaultPort = 8333;
133133
nPruneAfterHeight = 100000;
134-
m_assumed_blockchain_size = 620;
134+
m_assumed_blockchain_size = 720;
135135
m_assumed_chain_state_size = 14;
136136

137137
genesis = CreateGenesisBlock(1231006505, 2083236893, 0x1d00ffff, 1, 50 * COIN);
@@ -201,10 +201,10 @@ class CMainParams : public CChainParams {
201201
};
202202

203203
chainTxData = ChainTxData{
204-
// Data from RPC: getchaintxstats 4096 000000000000000000011c5890365bdbe5d25b97ce0057589acaef4f1a57263f
205-
.nTime = 1723649144,
206-
.tx_count = 1059312821,
207-
.dTxRate = 6.721086701157182,
204+
// Data from RPC: getchaintxstats 4096 00000000000000000001b658dd1120e82e66d2790811f89ede9742ada3ed6d77
205+
.nTime = 1741017141,
206+
.tx_count = 1161875261,
207+
.dTxRate = 4.620728156243148,
208208
};
209209
}
210210
};
@@ -247,16 +247,16 @@ class CTestNetParams : public CChainParams {
247247
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = 1628640000; // August 11th, 2021
248248
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay
249249

250-
consensus.nMinimumChainWork = uint256{"000000000000000000000000000000000000000000000f209695166be8b61fa9"};
251-
consensus.defaultAssumeValid = uint256{"000000000000000465b1a66c9f386308e8c75acef9201f3f577811da09fc90ad"}; // 2873500
250+
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000015f5e0c9f13455b0eb17"};
251+
consensus.defaultAssumeValid = uint256{"00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57"}; // 3974606
252252

253253
pchMessageStart[0] = 0x0b;
254254
pchMessageStart[1] = 0x11;
255255
pchMessageStart[2] = 0x09;
256256
pchMessageStart[3] = 0x07;
257257
nDefaultPort = 18333;
258258
nPruneAfterHeight = 1000;
259-
m_assumed_blockchain_size = 93;
259+
m_assumed_blockchain_size = 200;
260260
m_assumed_chain_state_size = 19;
261261

262262
genesis = CreateGenesisBlock(1296688602, 414098458, 0x1d00ffff, 1, 50 * COIN);
@@ -302,10 +302,10 @@ class CTestNetParams : public CChainParams {
302302
};
303303

304304
chainTxData = ChainTxData{
305-
// Data from RPC: getchaintxstats 4096 000000000000000465b1a66c9f386308e8c75acef9201f3f577811da09fc90ad
306-
.nTime = 1723613341,
307-
.tx_count = 187917082,
308-
.dTxRate = 3.265051477698455,
305+
// Data from RPC: getchaintxstats 4096 00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57
306+
.nTime = 1741042082,
307+
.tx_count = 475477615,
308+
.dTxRate = 17.15933950357594,
309309
};
310310
}
311311
};
@@ -346,17 +346,17 @@ class CTestNet4Params : public CChainParams {
346346
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
347347
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].min_activation_height = 0; // No activation delay
348348

349-
consensus.nMinimumChainWork = uint256{"00000000000000000000000000000000000000000000005faa15d02e6202f3ba"};
350-
consensus.defaultAssumeValid = uint256{"000000005be348057db991fa5d89fe7c4695b667cfb311391a8db374b6f681fd"}; // 39550
349+
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000001d6dce8651b6094e4c1"};
350+
consensus.defaultAssumeValid = uint256{"0000000000003ed4f08dbdf6f7d6b271a6bcffce25675cb40aa9fa43179a89f3"}; // 72600
351351

352352
pchMessageStart[0] = 0x1c;
353353
pchMessageStart[1] = 0x16;
354354
pchMessageStart[2] = 0x3f;
355355
pchMessageStart[3] = 0x28;
356356
nDefaultPort = 48333;
357357
nPruneAfterHeight = 1000;
358-
m_assumed_blockchain_size = 1;
359-
m_assumed_chain_state_size = 0;
358+
m_assumed_blockchain_size = 11;
359+
m_assumed_chain_state_size = 1;
360360

361361
const char* testnet4_genesis_msg = "03/May/2024 000000000000000000001ebd58c244970b3aa9d783bb001011fbe8ea8e98e00e";
362362
const CScript testnet4_genesis_script = CScript() << "000000000000000000000000000000000000000000000000000000000000000000"_hex << OP_CHECKSIG;
@@ -401,10 +401,10 @@ class CTestNet4Params : public CChainParams {
401401
};
402402

403403
chainTxData = ChainTxData{
404-
// Data from RPC: getchaintxstats 4096 000000005be348057db991fa5d89fe7c4695b667cfb311391a8db374b6f681fd
405-
.nTime = 1723651702,
406-
.tx_count = 757229,
407-
.dTxRate = 0.01570402633472492,
404+
// Data from RPC: getchaintxstats 4096 0000000000003ed4f08dbdf6f7d6b271a6bcffce25675cb40aa9fa43179a89f3
405+
.nTime = 1741070246,
406+
.tx_count = 7653966,
407+
.dTxRate = 1.239174414591965,
408408
};
409409
}
410410
};
@@ -428,15 +428,15 @@ class SigNetParams : public CChainParams {
428428
vSeeds.emplace_back("178.128.221.177");
429429
vSeeds.emplace_back("v7ajjeirttkbnt32wpy3c6w3emwnfr3fkla7hpxcfokr3ysd3kqtzmqd.onion:38333");
430430

431-
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000000000000025dbd66e58f"};
432-
consensus.defaultAssumeValid = uint256{"0000014aad1d58dddcb964dd749b073374c6306e716b22f573a2efe68d414539"}; // 208800
433-
m_assumed_blockchain_size = 2;
434-
m_assumed_chain_state_size = 0;
431+
consensus.nMinimumChainWork = uint256{"000000000000000000000000000000000000000000000000000002b517f3d1a1"};
432+
consensus.defaultAssumeValid = uint256{"000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a"}; // 237722
433+
m_assumed_blockchain_size = 9;
434+
m_assumed_chain_state_size = 1;
435435
chainTxData = ChainTxData{
436-
// Data from RPC: getchaintxstats 4096 0000014aad1d58dddcb964dd749b073374c6306e716b22f573a2efe68d414539
437-
.nTime = 1723655233,
438-
.tx_count = 5507045,
439-
.dTxRate = 0.06271073277261494,
436+
// Data from RPC: getchaintxstats 4096 000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a
437+
.nTime = 1741019645,
438+
.tx_count = 16540736,
439+
.dTxRate = 1.064918879911595,
440440
};
441441
} else {
442442
bin = *options.challenge;

0 commit comments

Comments
 (0)