mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-16 16:32:47 +00:00
Merge bitcoin/bitcoin#34677: kernel: Chainparams and headerssync updates pre-31.0
44538f8ada868cb73ffa7a4bfb5267046d3f6b85 kernel: Add recent assumeutxo snapshot info (Ava Chow) 58c2e23fca05d201dfcea092ab032c943c9d5665 kernel: Update headerssync params (Ava Chow) cf261b071f68b1967077a6d3baac10ea024e653a kernel: update chainTxData (Ava Chow) 8eaf1d26d446ecdc5c69b61334ee51a6f41050d3 kernel: update defaultAssumeValid and minimumChainWork (Ava Chow) 5ca0c55517d4c8e41a1dd9904545d82ee09adedf kernel: update assumed blockchain and chainstate sizes (Ava Chow) Pull request description: Update chainparams and headerssync params per the release process. Also added new assumeutxo snapshots for each network. I've uploaded snapshots to https://achow101.com/files/utxo-snapshots/ ACKs for top commit: Sjors: ACK 44538f8ada868cb73ffa7a4bfb5267046d3f6b85 fjahr: ACK 44538f8ada868cb73ffa7a4bfb5267046d3f6b85 janb84: ACK 44538f8ada868cb73ffa7a4bfb5267046d3f6b85 sipa: ACK 44538f8ada868cb73ffa7a4bfb5267046d3f6b85. I re-did all the mainnet parameters, but did not look closely at the other networks. jaonoctus: ACK 44538f8ada868cb73ffa7a4bfb5267046d3f6b85 Tree-SHA512: f9b6ccc967c5ef58f734245df459c3136491e9b6a0f6e36f4272bc0787e7b59eabe47a8c8b19a90267eca4a0b5851dfbf45153f96eac599c417f148b3cf264cf
This commit is contained in:
commit
d198635fa2
@ -12,13 +12,13 @@ import random
|
||||
# Parameters:
|
||||
|
||||
# Aim for still working fine at some point in the future. [datetime]
|
||||
TIME = datetime(2028, 4, 2)
|
||||
TIME = datetime(2028, 10, 10)
|
||||
|
||||
# Expected block interval. [timedelta]
|
||||
BLOCK_INTERVAL = timedelta(seconds=600)
|
||||
|
||||
# The number of headers corresponding to the minchainwork parameter. [headers]
|
||||
MINCHAINWORK_HEADERS = 912683
|
||||
MINCHAINWORK_HEADERS = 938343
|
||||
|
||||
# Combined processing bandwidth from all attackers to one victim. [bit/s]
|
||||
# 6 Gbit/s is approximately the speed at which a single thread of a Ryzen 5950X CPU thread can hash
|
||||
|
||||
@ -114,8 +114,8 @@ public:
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].threshold = 1815; // 90%
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].period = 2016;
|
||||
|
||||
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000dee8e2a309ad8a9820433c68"};
|
||||
consensus.defaultAssumeValid = uint256{"00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb"}; // 912683
|
||||
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000001128750f82f4c366153a3a030"};
|
||||
consensus.defaultAssumeValid = uint256{"00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac"}; // 938343
|
||||
|
||||
/**
|
||||
* The message start string is designed to be unlikely to occur in normal data.
|
||||
@ -128,7 +128,7 @@ public:
|
||||
pchMessageStart[3] = 0xd9;
|
||||
nDefaultPort = 8333;
|
||||
nPruneAfterHeight = 100000;
|
||||
m_assumed_blockchain_size = 810;
|
||||
m_assumed_blockchain_size = 856;
|
||||
m_assumed_chain_state_size = 14;
|
||||
|
||||
genesis = CreateGenesisBlock(1231006505, 2083236893, 0x1d00ffff, 1, 50 * COIN);
|
||||
@ -181,20 +181,26 @@ public:
|
||||
.hash_serialized = AssumeutxoHash{uint256{"4daf8a17b4902498c5787966a2b51c613acdab5df5db73f196fa59a4da2f1568"}},
|
||||
.m_chain_tx_count = 1226586151,
|
||||
.blockhash = uint256{"0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821"},
|
||||
},
|
||||
{
|
||||
.height = 935'000,
|
||||
.hash_serialized = AssumeutxoHash{uint256{"e4b90ef9eae834f56c4b64d2d50143cee10ad87994c614d7d04125e2a6025050"}},
|
||||
.m_chain_tx_count = 1305397408,
|
||||
.blockhash = uint256{"0000000000000000000147034958af1652b2b91bba607beacc5e72a56f0fb5ee"},
|
||||
}
|
||||
};
|
||||
|
||||
chainTxData = ChainTxData{
|
||||
// Data from RPC: getchaintxstats 4096 00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb
|
||||
.nTime = 1756722903,
|
||||
.tx_count = 1235299397,
|
||||
.dTxRate = 5.456290459519495,
|
||||
// Data from RPC: getchaintxstats 4096 00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac
|
||||
.nTime = 1772055173,
|
||||
.tx_count = 1315805869,
|
||||
.dTxRate = 5.40111006496122,
|
||||
};
|
||||
|
||||
// Generated by headerssync-params.py on 2025-09-01.
|
||||
// Generated by headerssync-params.py on 2026-02-25.
|
||||
m_headers_sync_params = HeadersSyncParams{
|
||||
.commitment_period = 632,
|
||||
.redownload_buffer_size = 15009, // 15009/632 = ~23.7 commitments
|
||||
.commitment_period = 641,
|
||||
.redownload_buffer_size = 15218, // 15218/641 = ~23.7 commitments
|
||||
};
|
||||
}
|
||||
};
|
||||
@ -239,8 +245,8 @@ public:
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].threshold = 1512; // 75%
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].period = 2016;
|
||||
|
||||
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000016dd270dd94fac1d7632"};
|
||||
consensus.defaultAssumeValid = uint256{"0000000000000065c6c38258e201971a3fdfcc2ceee0dd6e85a6c022d45dee34"}; // 4550000
|
||||
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000017dde1c649f3708d14b6"};
|
||||
consensus.defaultAssumeValid = uint256{"000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4"}; // 4842348
|
||||
|
||||
pchMessageStart[0] = 0x0b;
|
||||
pchMessageStart[1] = 0x11;
|
||||
@ -248,7 +254,7 @@ public:
|
||||
pchMessageStart[3] = 0x07;
|
||||
nDefaultPort = 18333;
|
||||
nPruneAfterHeight = 1000;
|
||||
m_assumed_blockchain_size = 240;
|
||||
m_assumed_blockchain_size = 245;
|
||||
m_assumed_chain_state_size = 19;
|
||||
|
||||
genesis = CreateGenesisBlock(1296688602, 414098458, 0x1d00ffff, 1, 50 * COIN);
|
||||
@ -284,20 +290,26 @@ public:
|
||||
.hash_serialized = AssumeutxoHash{uint256{"f841584909f68e47897952345234e37fcd9128cd818f41ee6c3ca68db8071be7"}},
|
||||
.m_chain_tx_count = 66484552,
|
||||
.blockhash = uint256{"0000000000000093bcb68c03a9a168ae252572d348a2eaeba2cdf9231d73206f"},
|
||||
},
|
||||
{
|
||||
.height = 4'840'000,
|
||||
.hash_serialized = AssumeutxoHash{uint256{"ce6bb677bb2ee9789c4a1c9d73e6683c53fc20e8fdbedbdaaf468982a0c8db2a"}},
|
||||
.m_chain_tx_count = 536078574,
|
||||
.blockhash = uint256{"00000000000000f4971a7fb37fbdff89315b69a2e1920c467654a382f0d64786"},
|
||||
}
|
||||
};
|
||||
|
||||
chainTxData = ChainTxData{
|
||||
// Data from RPC: getchaintxstats 4096 0000000000000065c6c38258e201971a3fdfcc2ceee0dd6e85a6c022d45dee34
|
||||
.nTime = 1751816758,
|
||||
.tx_count = 508468699,
|
||||
.dTxRate = 7.172978845985714,
|
||||
// Data from RPC: getchaintxstats 4096 000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4
|
||||
.nTime = 1772051651,
|
||||
.tx_count = 536108416,
|
||||
.dTxRate = 0.02691479016257117,
|
||||
};
|
||||
|
||||
// Generated by headerssync-params.py on 2025-09-03.
|
||||
// Generated by headerssync-params.py on 2026-02-25.
|
||||
m_headers_sync_params = HeadersSyncParams{
|
||||
.commitment_period = 628,
|
||||
.redownload_buffer_size = 13460, // 13460/628 = ~21.4 commitments
|
||||
.commitment_period = 673,
|
||||
.redownload_buffer_size = 14460, // 14460/673 = ~21.5 commitments
|
||||
};
|
||||
}
|
||||
};
|
||||
@ -341,8 +353,8 @@ public:
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].threshold = 1512; // 75%
|
||||
consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].period = 2016;
|
||||
|
||||
consensus.nMinimumChainWork = uint256{"00000000000000000000000000000000000000000000034a4690fe592dc49c7c"};
|
||||
consensus.defaultAssumeValid = uint256{"000000000000000180a58e7fa3b0db84b5ea76377524894f53660d93ac839d9b"}; // 91000
|
||||
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000009a0fe15d0177d086304"};
|
||||
consensus.defaultAssumeValid = uint256{"0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a"}; // 123613
|
||||
|
||||
pchMessageStart[0] = 0x1c;
|
||||
pchMessageStart[1] = 0x16;
|
||||
@ -350,7 +362,7 @@ public:
|
||||
pchMessageStart[3] = 0x28;
|
||||
nDefaultPort = 48333;
|
||||
nPruneAfterHeight = 1000;
|
||||
m_assumed_blockchain_size = 22;
|
||||
m_assumed_blockchain_size = 31;
|
||||
m_assumed_chain_state_size = 2;
|
||||
|
||||
const char* testnet4_genesis_msg = "03/May/2024 000000000000000000001ebd58c244970b3aa9d783bb001011fbe8ea8e98e00e";
|
||||
@ -391,20 +403,26 @@ public:
|
||||
.hash_serialized = AssumeutxoHash{uint256{"784fb5e98241de66fdd429f4392155c9e7db5c017148e66e8fdbc95746f8b9b5"}},
|
||||
.m_chain_tx_count = 11347043,
|
||||
.blockhash = uint256{"0000000002ebe8bcda020e0dd6ccfbdfac531d2f6a81457191b99fc2df2dbe3b"},
|
||||
},
|
||||
{
|
||||
.height = 120'000,
|
||||
.hash_serialized = AssumeutxoHash{uint256{"10b05d05ad468d0971162e1b222a4aa66caca89da2bb2a93f8f37fb29c4794b0"}},
|
||||
.m_chain_tx_count = 14141057,
|
||||
.blockhash = uint256{"000000000bd2317e51b3c5794981c35ba894ce27d3e772d5c39ecd9cbce01dc8"},
|
||||
}
|
||||
};
|
||||
|
||||
chainTxData = ChainTxData{
|
||||
// Data from RPC: getchaintxstats 4096 000000000000000180a58e7fa3b0db84b5ea76377524894f53660d93ac839d9b
|
||||
.nTime = 1752470331,
|
||||
.tx_count = 11414302,
|
||||
.dTxRate = 0.2842619757327476,
|
||||
// Data from RPC: getchaintxstats 4096 0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a
|
||||
.nTime = 1772013387,
|
||||
.tx_count = 14191421,
|
||||
.dTxRate = 0.01848579579528412,
|
||||
};
|
||||
|
||||
// Generated by headerssync-params.py on 2025-09-03.
|
||||
// Generated by headerssync-params.py on 2026-02-25.
|
||||
m_headers_sync_params = HeadersSyncParams{
|
||||
.commitment_period = 275,
|
||||
.redownload_buffer_size = 7017, // 7017/275 = ~25.5 commitments
|
||||
.commitment_period = 606,
|
||||
.redownload_buffer_size = 16092, // 16092/606 = ~26.6 commitments
|
||||
};
|
||||
}
|
||||
};
|
||||
@ -426,15 +444,15 @@ public:
|
||||
vSeeds.emplace_back("seed.signet.bitcoin.sprovoost.nl.");
|
||||
vSeeds.emplace_back("seed.signet.achownodes.xyz."); // Ava Chow, only supports x1, x5, x9, x49, x809, x849, xd, x400, x404, x408, x448, xc08, xc48, x40c
|
||||
|
||||
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000000000000067d328e681a"};
|
||||
consensus.defaultAssumeValid = uint256{"000000128586e26813922680309f04e1de713c7542fee86ed908f56368aefe2e"}; // 267665
|
||||
m_assumed_blockchain_size = 20;
|
||||
consensus.nMinimumChainWork = uint256{"00000000000000000000000000000000000000000000000000000b463ea0a4b8"};
|
||||
consensus.defaultAssumeValid = uint256{"00000008414aab61092ef93f1aacc54cf9e9f16af29ddad493b908a01ff5c329"}; // 293175
|
||||
m_assumed_blockchain_size = 24;
|
||||
m_assumed_chain_state_size = 4;
|
||||
chainTxData = ChainTxData{
|
||||
// Data from RPC: getchaintxstats 4096 000000128586e26813922680309f04e1de713c7542fee86ed908f56368aefe2e
|
||||
.nTime = 1756723017,
|
||||
.tx_count = 26185472,
|
||||
.dTxRate = 0.7452721495389969,
|
||||
// Data from RPC: getchaintxstats 4096 00000008414aab61092ef93f1aacc54cf9e9f16af29ddad493b908a01ff5c329
|
||||
.nTime = 1772055248,
|
||||
.tx_count = 28676833,
|
||||
.dTxRate = 0.06736623436338929,
|
||||
};
|
||||
} else {
|
||||
bin = *options.challenge;
|
||||
@ -506,6 +524,12 @@ public:
|
||||
.hash_serialized = AssumeutxoHash{uint256{"fe0a44309b74d6b5883d246cb419c6221bcccf0b308c9b59b7d70783dbdf928a"}},
|
||||
.m_chain_tx_count = 2289496,
|
||||
.blockhash = uint256{"0000003ca3c99aff040f2563c2ad8f8ec88bd0fd6b8f0895cfaf1ef90353a62c"},
|
||||
},
|
||||
{
|
||||
.height = 290'000,
|
||||
.hash_serialized = AssumeutxoHash{uint256{"97267e000b4b876800167e71b9123f1529d13b14308abec2888bbd2160d14545"}},
|
||||
.m_chain_tx_count = 28547497,
|
||||
.blockhash = uint256{"0000000577f2741bb30cd9d39d6d71b023afbeb9764f6260786a97969d5c9ac0"},
|
||||
}
|
||||
};
|
||||
|
||||
@ -520,10 +544,10 @@ public:
|
||||
fDefaultConsistencyChecks = false;
|
||||
m_is_mockable_chain = false;
|
||||
|
||||
// Generated by headerssync-params.py on 2025-09-03.
|
||||
// Generated by headerssync-params.py on 2026-02-25.
|
||||
m_headers_sync_params = HeadersSyncParams{
|
||||
.commitment_period = 390,
|
||||
.redownload_buffer_size = 9584, // 9584/390 = ~24.6 commitments
|
||||
.commitment_period = 620,
|
||||
.redownload_buffer_size = 15724, // 15724/620 = ~25.4 commitments
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user