Cory93 has quit [Quit: Ping timeout (120 seconds)]
jespada has joined #bitcoin-core-dev
<glozow>
sipa: was discussing with instagibbs, we might want to still implement a count limit. with really small txns (say 300Wu), the upper bound on number of orphans really blows up when we move to wu limit. We could also include memusage of OrphanTx for accounting, but that still brings us to potentially thousands of txns per peer.
Talkless has joined #bitcoin-core-dev
<glozow>
maybe something generous like 100 per peer, and not parameterizable?
<instagibbs>
166k orphans naively done, only slightly less with memory accounting
<instagibbs>
if you allow 40MWU
<sipa>
glozow: i see no problem with that
<glozow>
yeah was still getting in the 10ks with memusage
<glozow>
👍
jespada has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<sipa>
a natural choice would be 25 per inbound, and 250 per outbound (matching the ratio with the ancestor-set limits)
<instagibbs>
anything larger than 100 capped is still a superset 🤷
<sipa>
(in the sense that both weight/count limits then imply one maximal ancestor set in-flight per inbound, and 10 ancestor sets in-flight per outbound)
Talkless has quit [Quit: Konversation terminated!]
<bitcoin-git>
[bitcoin] sr-gi opened pull request #31759: test: fixes p2p_ibd_txrelay wait time (master...2025-01-fix-p2p-ibd-txrelay-test) https://github.com/bitcoin/bitcoin/pull/31759
<bitcoin-git>
[bitcoin] sr-gi opened pull request #31760: test: make sure we are on sync with a peer before checking if they have sent a message (master...2025-01-fix-p2p-orphan-halding-requests-check) https://github.com/bitcoin/bitcoin/pull/31760
Talkless has quit [Quit: Konversation terminated!]
<glozow>
sipa: instagibbs: I suppose a multiple of 24 would make more sense since you can only have 24 txns with missing inputs in a package
brunoerg has quit [Read error: Connection reset by peer]
brunoerg has joined #bitcoin-core-dev
brunoerg_ has joined #bitcoin-core-dev
brunoerg has quit [Read error: No route to host]
jonatack has quit [Quit: WeeChat 4.5.1]
<sipa>
right
<sipa>
the last transaction in the package never enters the orphanage
<bitcoin-git>
bitcoin/master e87429a 0xb10c: ci: optionally use local docker build cache
<bitcoin-git>
bitcoin/master 6835e96 Ava Chow: Merge bitcoin/bitcoin#31545: ci: optionally use local docker build cache
<bitcoin-git>
[bitcoin] achow101 merged pull request #31545: ci: optionally use local docker build cache (master...2024-11-ci-optional-local-docker-build-cache) https://github.com/bitcoin/bitcoin/pull/31545
<sipa>
glozow: is there a super-linear complexity associated with more transactions in the orphanage?
<sipa>
or is it just that many tiny transactions have a high memory cost
<instagibbs>
I was concerned about super-linearity, since I got a sneak peek at the implementation
<sipa>
by "super-linear" i really mean O(n^2) or so; O(n log n) wouldn't be an issue
<instagibbs>
it was the "choosing next peer to un-announce" algorithm that was hitting O(n^2) IIRC
<instagibbs>
things can likely be recomputed better, it just wasnt doing that and I was worried about actually hitting a 29 release?
<instagibbs>
something originally engineered for 100 going to 166k, gave me pause
<sipa>
ok, in that case, a fixed per-peer limit may be more appropriate than one that scales with outbound vs inbound
<instagibbs>
> scales with outbound vs inbound
<instagibbs>
can you be pedantic here for clarity
<sipa>
my reasoning is that we're essentially ok with outbound peers taking 10x more resources (per peer) than inbound ones, because they're less likely to be under attacker control
<instagibbs>
"fixed per-peer limit " meaning not having differing reservations based on preferred-ness?
<sipa>
but if there are non-linear resource costs associated with the number of transactions involved, say O(n^2), then that really means that outbounds should only have a limit that's sqrt(10) times higher than that of inbound peers, not 10 times
<sipa>
actually, is this O(n^2) in function of the total number of transactions, or the number of transactions announced by a single peer?