I’ve recently been asked about some numbers on orphanage overflows of my nodes. In Bitcoin Core, LimitOrphans() is called every time we add an orphan to the orphanage. Next to removing expired orphans from time to time, LimitOrphans() will remove (usually) one random orphan from the orphanage if it’s larger than the maximum orphanage size (default 100; controlled with -maxorphantx=n). This is logged with orphanage overflow, removed 1 tx.
I analyzed the debug.logs of some of my nodes, which all have the default maximum orphanage size of 100.
I found >10M removals on, for example, 2024-09-14 across all nodes to be surprising. Looking at data from node alice on 2024-09-14 shows that we’re sometimes removing more than 100k orphans per minute. This feels like someone flooding us with orphans.
Something like this is probably pretty effective at clearing our orphanage from orphans received from other peers.
edit: >99% of these have a weight of 501 WU or 502 WU and are similar to this transaction which seems related to runestone mints.
edit2: I briefly checked and it seems like these transaction were all solicited. Additionally, grepping for Requesting tx yields more than 10M lines.
edit3: In total, the node requested about 200k unique txids with Requesting tx that day. It seems like it forgot about the orphans and re-requested them multiple times.