HomePhabricator

Only respond to requests for recently announced transactions

Description

Only respond to requests for recently announced transactions

Summary:
... unless they're UNCONDITIONAL_RELAY_DELAY old, or there has been
a response to a MEMPOOL request in the mean time.

This is accomplished using a rolling Bloom filter for the last
3500 announced transactions. The probability of seeing more than 100
broadcast events (which can be up to 35 txids each) in 2 minutes for
an outbound peer (where the average frequency is one per minute), is
less than 1 in a million.

This is a partial backport of core#19109 [3/5]
https://github.com/bitcoin/bitcoin/pull/19109/commits/43f02ccbff9b137d59458da7a8afdb0bf80e127f

Depends on D9435

Test Plan: ninja all check-all

Reviewers: #bitcoin_abc, majcosta

Reviewed By: #bitcoin_abc, majcosta

Differential Revision: https://reviews.bitcoinabc.org/D9436

Details

Provenance
Pieter Wuille <pieter.wuille@gmail.com>Authored on May 29 2020, 18:33
PiRKCommitted on Apr 21 2021, 06:38
PiRKPushed on Apr 21 2021, 06:38
Reviewer
Restricted Project
Differential Revision
D9436: Only respond to requests for recently announced transactions
Parents
rABCee9e2a2ee678: test: refactor functional tests to use restart_node
Branches
Unknown
Tags
Unknown