diff options
author | Ava Chow <github@achow101.com> | 2024-03-08 21:32:03 -0500 |
---|---|---|
committer | Ava Chow <github@achow101.com> | 2024-03-08 21:39:07 -0500 |
commit | 4cc99df44aec4d104590aee46cf18318e22a8568 (patch) | |
tree | 9cef57f08eeb255f08f562c56f617e5223549c28 | |
parent | a78ca706f66e36998453c6f94fe9a1eaf6ee30be (diff) | |
parent | eb7cc9fd2140df77acc6eb42004cf45b260bc629 (diff) |
Merge bitcoin/bitcoin#29569: Rename CalculateHeadersWork to CalculateClaimedHeadersWork
eb7cc9fd2140df77acc6eb42004cf45b260bc629 Rename CalculateHeadersWork to CalculateClaimedHeadersWork (Greg Sanders)
Pull request description:
And clean up some comments. Confusion about what this is doing seems to be a running theme:
https://github.com/bitcoin/bitcoin/pull/29549#discussion_r1511113344
https://github.com/bitcoin/bitcoin/pull/27278#discussion_r1141510303
ACKs for top commit:
achow101:
ACK eb7cc9fd2140df77acc6eb42004cf45b260bc629
pablomartin4btc:
ACK eb7cc9fd2140df77acc6eb42004cf45b260bc629
0xB10C:
ACK eb7cc9fd2140df77acc6eb42004cf45b260bc629
dergoegge:
ACK eb7cc9fd2140df77acc6eb42004cf45b260bc629
BrandonOdiwuor:
ACK eb7cc9fd2140df77acc6eb42004cf45b260bc629
Tree-SHA512: 6ccbc5e417155516487bb220753d189b5341dec05366db88a3fa5b1932eace21fbfaf23408c639bb54b36169a8d0a7536a1ee5e63b4ce5a3b70f2ff8407b6e07
-rw-r--r-- | src/net_processing.cpp | 10 | ||||
-rw-r--r-- | src/test/fuzz/headerssync.cpp | 2 | ||||
-rw-r--r-- | src/validation.cpp | 2 | ||||
-rw-r--r-- | src/validation.h | 4 |
4 files changed, 9 insertions, 9 deletions
diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 99ae0e8fa1..30d2d43e58 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -2690,8 +2690,8 @@ bool PeerManagerImpl::IsContinuationOfLowWorkHeadersSync(Peer& peer, CNode& pfro bool PeerManagerImpl::TryLowWorkHeadersSync(Peer& peer, CNode& pfrom, const CBlockIndex* chain_start_header, std::vector<CBlockHeader>& headers) { - // Calculate the total work on this chain. - arith_uint256 total_work = chain_start_header->nChainWork + CalculateHeadersWork(headers); + // Calculate the claimed total work on this chain. + arith_uint256 total_work = chain_start_header->nChainWork + CalculateClaimedHeadersWork(headers); // Our dynamic anti-DoS threshold (minimum work required on a headers chain // before we'll store it) @@ -4424,7 +4424,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type, MaybeSendGetHeaders(pfrom, GetLocator(m_chainman.m_best_header), *peer); } return; - } else if (prev_block->nChainWork + CalculateHeadersWork({cmpctblock.header}) < GetAntiDoSWorkThreshold()) { + } else if (prev_block->nChainWork + CalculateClaimedHeadersWork({cmpctblock.header}) < GetAntiDoSWorkThreshold()) { // If we get a low-work header in a compact block, we can ignore it. LogPrint(BCLog::NET, "Ignoring low-work compact block from peer %d\n", pfrom.GetId()); return; @@ -4744,8 +4744,8 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type, // cs_main in ProcessNewBlock is fine. mapBlockSource.emplace(hash, std::make_pair(pfrom.GetId(), true)); - // Check work on this block against our anti-dos thresholds. - if (prev_block && prev_block->nChainWork + CalculateHeadersWork({pblock->GetBlockHeader()}) >= GetAntiDoSWorkThreshold()) { + // Check claimed work on this block against our anti-dos thresholds. + if (prev_block && prev_block->nChainWork + CalculateClaimedHeadersWork({pblock->GetBlockHeader()}) >= GetAntiDoSWorkThreshold()) { min_pow_checked = true; } } diff --git a/src/test/fuzz/headerssync.cpp b/src/test/fuzz/headerssync.cpp index 62f6bbaffe..1aa878bd6d 100644 --- a/src/test/fuzz/headerssync.cpp +++ b/src/test/fuzz/headerssync.cpp @@ -108,7 +108,7 @@ FUZZ_TARGET(headers_sync_state, .init = initialize_headers_sync_state_fuzz) // If we get to redownloading, the presynced headers need // to have the min amount of work on them. - assert(CalculateHeadersWork(all_headers) >= min_work); + assert(CalculateClaimedHeadersWork(all_headers) >= min_work); } } diff --git a/src/validation.cpp b/src/validation.cpp index 3a652adb1d..c15e660499 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -3895,7 +3895,7 @@ bool IsBlockMutated(const CBlock& block, bool check_witness_root) return false; } -arith_uint256 CalculateHeadersWork(const std::vector<CBlockHeader>& headers) +arith_uint256 CalculateClaimedHeadersWork(const std::vector<CBlockHeader>& headers) { arith_uint256 total_work{0}; for (const CBlockHeader& header : headers) { diff --git a/src/validation.h b/src/validation.h index aeef875e3f..71aac46f81 100644 --- a/src/validation.h +++ b/src/validation.h @@ -382,8 +382,8 @@ bool HasValidProofOfWork(const std::vector<CBlockHeader>& headers, const Consens /** Check if a block has been mutated (with respect to its merkle root and witness commitments). */ bool IsBlockMutated(const CBlock& block, bool check_witness_root); -/** Return the sum of the work on a given set of headers */ -arith_uint256 CalculateHeadersWork(const std::vector<CBlockHeader>& headers); +/** Return the sum of the claimed work on a given set of headers. No verification of PoW is done. */ +arith_uint256 CalculateClaimedHeadersWork(const std::vector<CBlockHeader>& headers); enum class VerifyDBResult { SUCCESS, |