mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-20 23:29:12 +01:00
Further improve comments around recentRejects
This commit is contained in:
committed by
John Newbery
parent
f082a13ab7
commit
d4a1ee8f1d
@@ -145,6 +145,15 @@ namespace {
|
||||
* million to make it highly unlikely for users to have issues with this
|
||||
* filter.
|
||||
*
|
||||
* We only need to add wtxids to this filter. For non-segwit
|
||||
* transactions, the txid == wtxid, so this only prevents us from
|
||||
* re-downloading non-segwit transactions when communicating with
|
||||
* non-wtxidrelay peers -- which is important for avoiding malleation
|
||||
* attacks that could otherwise interfere with transaction relay from
|
||||
* non-wtxidrelay peers. For communicating with wtxidrelay peers, having
|
||||
* the reject filter store wtxids is exactly what we want to avoid
|
||||
* redownload of a rejected transaction.
|
||||
*
|
||||
* Memory used: 1.3 MB
|
||||
*/
|
||||
std::unique_ptr<CRollingBloomFilter> recentRejects GUARDED_BY(cs_main);
|
||||
@@ -2711,6 +2720,10 @@ bool ProcessMessage(CNode* pfrom, const std::string& msg_type, CDataStream& vRec
|
||||
LogPrint(BCLog::MEMPOOL, "not keeping orphan with rejected parents %s\n",tx.GetHash().ToString());
|
||||
// We will continue to reject this tx since it has rejected
|
||||
// parents so avoid re-requesting it from other peers.
|
||||
// Here we add both the txid and the wtxid, as we know that
|
||||
// regardless of what witness is provided, we will not accept
|
||||
// this, so we don't need to allow for redownload of this txid
|
||||
// from any of our non-wtxidrelay peers.
|
||||
recentRejects->insert(tx.GetHash());
|
||||
recentRejects->insert(tx.GetWitnessHash());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user