You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans and count announcements
e107bf7 [fuzz] TxOrphanage::SanityCheck accounting (glozow)
22dccea [fuzz] txorphan byte accounting (glozow)
982ce10 add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty() (glozow)
c289217 [txorphanage] track the total number of announcements (glozow)
e5ea7da [txorphanage] add per-peer weight accounting (glozow)
672c69c [refactor] change per-peer workset to info map within orphanage (glozow)
59cd0f0 [txorphanage] account for weight of orphans (glozow)
Pull request description:
Part of orphan resolution project, see #27463.
Definitions:
- **Announcement** is a unique pair (wtxid, nodeid). We can have multiple announcers for the same orphan since #31397.
- **Size** is the weight of an orphan. I'm calling it "size" and "bytes" because I think we can refine it in the future to be memusage or be otherwise more representative of the orphan's actual cost on our memory. However, I am open to naming changes.
This is part 1/2 of a project to also add limits on orphan size and count. However, this PR **does not change behavior**, just adds internal counters/tracking and a fuzzer. I will also open a second PR that adds behavior changes, which requires updating a lot of our tests and careful thinking about DoS.
ACKs for top commit:
instagibbs:
reACK bitcoin/bitcoin@e107bf7
marcofleon:
reACK e107bf7
sipa:
utACK e107bf7
Tree-SHA512: 855d725d5eb521d131e36dacc51990725e3ca7881beb13364d5ba72ab2202bbfd14ab83864b13b1b945a4ec5e17890458d0112270b891a41b1e27324a8545d72
0 commit comments