What changed, and why it matters
This commit updates the internal tuning numbers used by Bitcoin Core's header synchronization feature. It pushes the expected network date forward by about six months and raises the minimum chain-work header count to reflect blockchain growth. There is no security vulnerability here; it is routine maintenance to keep the DoS-protection parameters aligned with the current and projected state of the network.
No security action required. Treat as normal maintenance; review that the new parameters still satisfy the documented memory and bandwidth assumptions if validating the change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change modifies two constants in src/headerssync.cpp and their source-of-truth script contrib/devtools/headerssync-params.py. HEADER_COMMITMENT_PERIOD changes from 624 to 632 and REDOWNLOAD_BUFFER_SIZE from 14827 to 15009. These parameters control how often header commitments are stored and how far ahead headers are buffered before validation during initial sync. The script’s TIME and MINCHAINWORK_HEADERS values are also updated to newer projections. The commit is purely a parameter refresh with no code logic changes.
Changed components
src/headerssync.cppcontrib/devtools/headerssync-params.pyInspect captured patch +4 / −4
diff --git a/contrib/devtools/headerssync-params.py b/contrib/devtools/headerssync-params.py
index 4640718c..ece1a786 100755
--- a/contrib/devtools/headerssync-params.py
+++ b/contrib/devtools/headerssync-params.py
@@ -12,13 +12,13 @@ import random
# Parameters:
# Aim for still working fine at some point in the future. [datetime]
-TIME = datetime(2027, 10, 6)
+TIME = datetime(2028, 4, 2)
# Expected block interval. [timedelta]
BLOCK_INTERVAL = timedelta(seconds=600)
# The number of headers corresponding to the minchainwork parameter. [headers]
-MINCHAINWORK_HEADERS = 886157
+MINCHAINWORK_HEADERS = 912683
# 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
diff --git a/src/headerssync.cpp b/src/headerssync.cpp
index fbe2026e..ae7187f4 100644
--- a/src/headerssync.cpp
+++ b/src/headerssync.cpp
@@ -13,11 +13,11 @@
// contrib/devtools/headerssync-params.py.
//! Store one header commitment per HEADER_COMMITMENT_PERIOD blocks.
-constexpr size_t HEADER_COMMITMENT_PERIOD{624};
+constexpr size_t HEADER_COMMITMENT_PERIOD{632};
//! Only feed headers to validation once this many headers on top have been
//! received and validated against commitments.
-constexpr size_t REDOWNLOAD_BUFFER_SIZE{14827}; // 14827/624 = ~23.8 commitments
+constexpr size_t REDOWNLOAD_BUFFER_SIZE{15009}; // 15009/632 = ~23.7 commitments
// Our memory analysis assumes 48 bytes for a CompressedHeader (so we should
// re-calculate parameters if we compress further)
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.