--- Log opened Wed Feb 01 00:00:32 2023 00:04 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 246 seconds] 00:14 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 00:19 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 255 seconds] 00:30 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 00:36 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 00:48 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 00:52 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 00:57 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 01:02 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 268 seconds] 01:05 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 01:10 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 01:21 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 01:27 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 01:38 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 01:43 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 01:51 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 01:56 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 02:00 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 260 seconds] 02:12 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 02:18 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 02:18 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:de29:7595:4884:267d] has joined #bitcoin-core-pr-reviews 02:32 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 02:36 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 02:50 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 02:51 -!- Livestradamus4 [~Livestrad@user/livestradamus] has joined #bitcoin-core-pr-reviews 02:53 -!- Livestradamus [~Livestrad@user/livestradamus] has quit [Ping timeout: 252 seconds] 02:53 -!- Livestradamus4 is now known as Livestradamus 02:54 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 03:06 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 03:08 -!- andrew_m_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 03:10 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 246 seconds] 03:12 -!- andrew_m_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 260 seconds] 03:25 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 03:29 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 03:41 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 03:47 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 256 seconds] 03:59 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 04:04 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 260 seconds] 04:16 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 04:22 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 268 seconds] 04:32 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:de29:7595:4884:267d] has quit [Ping timeout: 248 seconds] 04:32 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 04:38 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 04:44 -!- grettke [~grettke@184.55.131.155] has quit [Quit: grettke] 04:52 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 04:57 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 05:10 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 05:11 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:de29:7595:4884:267d] has joined #bitcoin-core-pr-reviews 05:17 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 256 seconds] 05:29 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 05:34 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 05:44 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 05:48 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 05:59 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 06:04 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 06:17 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 06:22 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 06:33 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 06:37 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 260 seconds] 06:50 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 06:52 -!- andrew_m_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 06:54 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 255 seconds] 06:56 -!- andrew_m_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 07:09 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 07:13 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 07:14 -!- roze_paul [~quassel@142.243.254.224] has joined #bitcoin-core-pr-reviews 07:14 -!- roze_paul [~quassel@142.243.254.224] has quit [Client Quit] 07:26 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 07:30 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 07:30 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:de29:7595:4884:267d] has quit [Ping timeout: 256 seconds] 07:33 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 07:37 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 260 seconds] 07:43 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:de29:7595:4884:267d] has joined #bitcoin-core-pr-reviews 07:49 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 07:54 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 08:04 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 08:07 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 08:09 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 248 seconds] 08:13 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 268 seconds] 08:14 -!- roze_paul [~quassel@142.243.254.224] has joined #bitcoin-core-pr-reviews 08:25 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 08:29 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 265 seconds] 08:31 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 08:36 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 246 seconds] 08:41 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 08:46 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 08:57 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 08:58 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 09:00 < lightlike> #startmeeting 09:00 < LarryRuane> hi! 09:00 < roze_paul> hi 09:00 < codo> hi 09:00 -!- svav [~svav@82-69-86-143.dsl.in-addr.zen.co.uk] has joined #bitcoin-core-pr-reviews 09:00 < lightlike> hi everyone, and welcome to Review Club! 09:00 < svav> Hi 09:00 < kouloumos> hi 09:00 < lightlike> feel free to say hi - anyone here for the first time? 09:01 -!- andrew_m_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 09:01 -!- andrewtoth_ [~andrewtot@gateway/tor-sasl/andrewtoth] has joined #bitcoin-core-pr-reviews 09:02 < lightlike> Today's PR is #26847, notes can be found at https://bitcoincore.reviews/26847 09:02 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 260 seconds] 09:02 < LarryRuane> I see the maintainers rug-pulled us again! :) (congrats on getting this merged!) 09:02 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 09:02 < lightlike> LarryRuane: thanks - yes, it got merged yesterday 09:03 < lightlike> Who got the chance to have a look at the PR (y/n)? 09:03 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 09:03 < codo> y 09:03 < LarryRuane> 0.7y 09:03 < svav> y had a look 09:04 < emzy> hi 09:04 < emzy> n 09:04 < b_101> hi 09:04 < roze_paul> y 09:04 -!- pablomartin [~pablomart@190.193.221.10] has joined #bitcoin-core-pr-reviews 09:04 < lightlike> great- let's move to the first question: 09:04 < pablomartin> hello! 09:05 < lightlike> When is a network reachable in Bitcoin Core? 09:05 < lightlike> (it’s not as self-explanatory as it may seem!) 09:05 -!- hernanmarino [~hernanmar@181.99.169.107] has joined #bitcoin-core-pr-reviews 09:06 -!- andrew_m_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 09:06 < LarryRuane> all networks are initially assumed reachable (`vfLimited` array init to false) https://github.com/bitcoin/bitcoin/blob/ba3d32715f985314eb1fdb006bfc4127f8d516a7/src/net.cpp#L119 09:06 < LarryRuane> `-onlynet=x -onlynet=y` sets all networks except x and y to be unreachable 09:06 < LarryRuane> networks cjdns, onion, and i2p are set to unreachable if those services aren't enabled 09:07 < lightlike> LarryRuane: correct! 09:07 < hernanmarino> Hi all , sorry for being late. I didn't have time to review, I'm here as a reader (mostly) today 09:07 < LarryRuane> "not as self-explanatory" -- yes, because we don't actually need to try to use them to consider them reachable! 09:07 < roze_paul> XD i've been looking at the inquisition stuff so much i thought that was this week..going to have to swithc y->n in response to if i've reviewed today's PR. 09:08 < LarryRuane> inscription? 09:08 < lightlike> so it's currently a mix: if we are sure we can't reach a network, we set it to unreachable (but we may be wrong, for example I can't reach IPv6 from my current computer, but it's still reachable) 09:09 < roze_paul> bitoin-inquisition, next week's topic* sorry, off-topic 09:09 < lightlike> and also if we don't _want_ to reach it (by using the -onlynet option) 09:09 < LarryRuane> (oh sorry) 09:10 < lightlike> this has been the source of some confusion in the past... 09:10 < LarryRuane> doesn't it seem like `onlynet` is slightly misnamed? If we say `-onlynet=tor` then we can also use IPV4 if `-onlynet=ipv4` is also specified ... but i can't think of a better name for tha toption 09:11 < kouloumos> Is the past confusion related to https://github.com/bitcoin/bitcoin/issues/7098? 09:12 < LarryRuane> if it was called `-allownet` that would fix that problem, but would also be misleading, because it doesn't imply that others are disallowed! 09:12 < LarryRuane> so it's probably fine, but just something to keep in mind 09:12 < lightlike> kouloumos: not sure, I never saw that issue before. 09:13 < kouloumos> I think I confused the confusion you were referring to 09:13 < lightlike> LarryRuane: true, that name doesn't seem perfect either, but it's probably too late to change it. 09:13 < LarryRuane> yes for sure, i wasn't suggesting changing it, there's no way ... just an observation 09:13 < codo> maybe splitting it up into two options like `restrictnets` plus `allownet` would do it 09:14 -!- d33r_gee [~d33r_gee@45-27-31-99.lightspeed.sntcca.sbcglobal.net] has joined #bitcoin-core-pr-reviews 09:14 < LarryRuane> the help text for `-onlynet` is pretty good, it says it can be specified multiple times 09:15 < LarryRuane> anyway, sorry, didn't mean to sidetrack 09:15 < lightlike> thought -onlynet has been the subject of even more confusion anyway... not because of the name, but because of how it works 09:15 < lightlike> *though 09:15 < lightlike> next question: 09:15 < lightlike> How are addresses relayed over the p2p network treated depending on whether they are reachable vs. non-reachable - do we store them and/or forward them to peers? 09:15 < roze_paul> LarryRuane: lightlike: some commenting explaining the name and the actual behavior in the codebase might be helpful 09:16 < roze_paul> ah the helptext is already good, disregard. 09:16 < codo> we do forward (less) and not store non-reachables? 09:16 < LarryRuane> code comment: Relay reachable addresses to 2 peers. Unreachable addresses are relayed randomly to 1 or 2 peers. 09:16 < LarryRuane> https://github.com/bitcoin/bitcoin/blob/ba3d32715f985314eb1fdb006bfc4127f8d516a7/src/net_processing.cpp#L2077 09:17 < LarryRuane> but we only store into our own addrman if reachable: https://github.com/bitcoin/bitcoin/blob/ba3d32715f985314eb1fdb006bfc4127f8d516a7/src/net_processing.cpp#L3643 09:17 < michaelfolkson> hi 09:17 < lightlike> codo, LarryRuane : correct! 09:17 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 09:17 < glozow> hi 09:18 < lightlike> this is the source of the problem the PR fixes - if a network is not Reachable, we won't store any addresses for it AddrMan. 09:19 < lightlike> next question: 09:19 < LarryRuane> oh and we do want to do that (store addresses even if unreachable)? 09:20 < pablomartin> / Do not store addresses outside our network 09:20 < lightlike> LarryRuane: not really - we mostly want to store addresses we can use (for making outbound connection), so not storing for now them makes sense. 09:21 < lightlike> but we'll come to the problem later 09:21 < LarryRuane> node operators can change their `-onlynet` configurations, so I guess it's good if we have some (previously unreachable but now maybe reachable) addresses .. ? 09:21 < LarryRuane> (in addrman) 09:22 < LarryRuane> we can go on, don't mean to disrupt! 09:22 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:dc72:ba28:fc:9810] has joined #bitcoin-core-pr-reviews 09:22 < lightlike> LarryRuane: saving some addresses just in case might seem a bit overkill, so that's not how this PR does it... 09:22 < roze_paul> I can't find a bitcoin-cli command which displays what networks are reachable/unreachable. does that exist, or best practice right now is to refer to the bitcoin.conf? 09:22 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 260 seconds] 09:23 -!- kevkevin [~kevkevin@c-73-111-168-5.hsd1.il.comcast.net] has joined #bitcoin-core-pr-reviews 09:24 < pablomartin> roze_paul: getnetworkinfo? 09:24 < lightlike> roze_paul: the "getnetworkinfo" RPC has the info 09:24 < LarryRuane> roze_paul: i think `getnetworkinfo` 09:24 < lightlike> next question is about the implementation: 09:25 < lightlike> How does this PR attempt to make sure that there are no bugs causing the added counts per network to fall out of sync with other AddrMan internals such as nNew and nTried? 09:26 < LarryRuane> new test case `BOOST_AUTO_TEST_CASE(addrman_size)`? also there's `test/fuzz/addrman.cpp`? (although I don't see big changes to it) 09:28 < pablomartin> about the implmentation... is it about the recomputation of the totals? 09:28 < lightlike> LarryRuane: oh, I could've updated the fuzz test to make use of the new args to Size(), forgot about that 09:29 < kevkevin> I see BOOST_AUTO_TEST_CASE are we only able to add address's or is it possible for addresses to be removed? 09:29 < pablomartin> *recompute 09:30 < lightlike> kevkevin: no, we can't remove addresses from AddrMan, that functionality isn't really needed so it's not implemented 09:31 < lightlike> kevkevin: it's possible that an address can be removed if we add another address that collides with it (would go into the same bucket / location) - but not directly 09:32 < kevkevin> ahh I see thanks! 09:32 < lightlike> I meant two things: 1.) I added a check in CheckAddrman, so if that is enabled and the internals would mismatch it would return an error. 09:33 < lightlike> 2.) I tried to update the network-specific counts as closely as possible to nNew and nTried 09:34 < LarryRuane> really newb question, but when you say collides, more than one address can be in the same bucket, right? but is there a size limite, so if we're trying to add a new address and its bucket is already full, then do we kick one out? 09:34 < LarryRuane> lightlike: oh that's cool! 09:34 < lightlike> the unit tests help too of course, but there is always the possibility that they don't cover the specific situation 09:35 < lightlike> LarryRuane: Each bucket has multiple bucket positions, and no more than one address can be in the same position within a given bucket. 09:35 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 09:35 < LarryRuane> that's why i really like fuzzing, it can often test scenarios that humans wouldn't think of! but you also need checking code to detect when things go wrong 09:36 < LarryRuane> oh i see, so collisions are between just two addresses (but it's sort of pseudo-random i suppose) 09:36 < lightlike> LarryRuane: initially, it was like you said (buckets would "fill up"), therefore the bucket terminonology. 09:36 < LarryRuane> (i need to learn about buckets one of these days!) 09:37 < LarryRuane> lightlike: ah got it, thanks 09:37 < lightlike> But this was changed at some time, so now each new address gets assigned a specific bucket and position base on some hashing magic, and if that position is already occupied one of them has to be kicked out (no matter if the bucket is full or not) 09:37 < lightlike> next q: 09:37 < lightlike> How can a node currently get stuck with only unreachable addresses in AddrMan, finding no outbound peers? How does this PR fix it? 09:39 < LarryRuane> if the `-onlynet` config changes? the way this PR addresses it is, during startup, we fall back to using fixed seeds, but only for reachable networks that we have no addrman addresses for 09:39 < roze_paul> lightlike: is the addr that is removed from the bucket _always_ the incumbent/older addr of the two? 09:39 < LarryRuane> https://github.com/bitcoin/bitcoin/blob/ba3d32715f985314eb1fdb006bfc4127f8d516a7/src/net.cpp#L1664 09:39 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 09:41 < codo> in the old situation the fixed seeds where not consulted at all after a `-onlynet` change? 09:41 < lightlike> roze_paul: Good question! There is some logic why the old address might be bad (IsTerrible, https://github.com/bitcoin/bitcoin/blob/2d5acc901db336868dee158022a115b120b5b675/src/addrman.cpp#L67). If it's not "terrible", the old address is kept, and the new one not accepted. 09:42 < lightlike> roze_paul: otherwise, there would be the danger of an attacker spamming us with addresses, evicting all the good currents one through collisions 09:42 < roze_paul> had to redeem myself for my getnetworkinfo question :) 09:42 < roze_paul> cool 09:43 < lightlike> LarryRuane, codo: correct! In the old situation we'd only query the fixed seeds when AddrMan was completely empty 09:43 < pablomartin> the pr fixes it with the 2nd commit... ? 09:44 < lightlike> now that we added the functionality to check whether it's empty for a specific network, we can load just the fixed seeds from networks that we need 09:44 < lightlike> pablomartin: yes, correct 09:45 < LarryRuane> and just to be clear, "load" means add to our addrman list? Or does that not get persisted to disk (is it memory-only)? 09:45 < LarryRuane> *those not get persisted 09:46 < lightlike> but this is not the only (or even the main reason) for this PR: the long-term plan is to change the automatic connection logic wrt networks, so the last 2 questions are about that. 09:46 < lightlike> Why would it be beneficial to have an outbound connection to each reachable network at all times? Why is the current logic in ThreadOpenConnections insufficient to guarantee this? 09:47 < LarryRuane> I'm a little unsure on this first question, but is the benefit to make eclipse attacks more difficult? your peers are more spread out 09:47 < lightlike> LarryRuane: yes, load means to load it into AddrMan. While AddrMan is in-memory, it gets persisted to disk (peers.dat) regularly, and in particular before we shutdown 09:47 < codo> I think it would be beneficial because we would have recent good addresses for all networks. 09:47 < roze_paul> Intuitively, a node would be more difficult to attack (DoS, eclipse) 09:48 < lightlike> yes, that would be the selfish reason. there is another, non-selfish one 09:49 < LarryRuane> hmm.. so that users of only one not-very-much-used network, like I2P, get some peers? not sure 09:49 < codo> Others would have info about networks unreachable for them? 09:50 < lightlike> it also helps the sub-networks stay together. if everyone used -onlynet=X for their preferred network, bitcoin would split into parts. So it's important to have nodes that are on multiple networks, and I think it makes sense to help those "volunteers" to actually be connected to all of the supported networks at the same time 09:51 < lightlike> so that's the second part of the q: Why is the current logic in ThreadOpenConnections insufficient to guarantee this? 09:51 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 09:51 < lightlike> i.e. how do we currently choose outbound peers with respect to different networks? 09:52 < LarryRuane> oh so in other words, without this, there's more of a chance of an actual chain split?? (if so, that's a great reason!) 09:52 < codo> It doesn't exclude the situation where there there are no peers for a certain network. 09:53 -!- Talkless [~Talkless@mail.dargis.net] has joined #bitcoin-core-pr-reviews 09:53 < codo> Just doesn't check for it. 09:54 < LarryRuane> "... insufficient to guarantee this?" ... I'm unsure about this.. if the config includes any `-connect` options, then of course it's not guaranteed, but I'm sure there are other reasons 09:54 < lightlike> codo, yes: so what would happen if we, for example had 10k addresses for clearnet and only 1000 for I2P in addrman? 09:54 < LarryRuane> codo: that makes sense! 09:54 < codo> lightlike: very small chance for an I2P address to get selected 09:55 < lightlike> yes, exactly! 09:55 < LarryRuane> oh we choose randomly among those 11k, so chances are pretty good that they'll all be clearnet! 09:55 < roze_paul> can't check the # of peers in the subnets if it can't count the # of peers in each subnet, and now we are able to count the peers, thx to this PR 09:55 < michaelfolkson> LarryRuane: Just a more fragmented network, not increased risk of chain split right? What's your chain split scenario? 09:55 < lightlike> so it's mostly random, without any management currently. 09:56 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 09:56 < lightlike> michaelfolkson: yes. but if it's actually 100% fragemented (which is definitely not the case currently), and some minors are on different networks, it could also lead to a chain split in theory 09:56 < lightlike> *miners, not minors, haha 09:57 < LarryRuane> michaelfolkson: I guess I was thinking if a bunch of nodes, including miners (pools I guess) were on tor (or whatever) only, and another group of nodes (including miners) were on ipv4/6 only, then they could extend the chain separately? 09:57 -!- Talkless [~Talkless@mail.dargis.net] has quit [Remote host closed the connection] 09:58 -!- Talkless [~Talkless@mail.dargis.net] has joined #bitcoin-core-pr-reviews 09:58 < michaelfolkson> lightlike: I wonder if they are actually on different networks (I agree they should be) 09:59 < lightlike> michaelfolkson: I would suspect all miners are on clearnet, the latency of other networks is too low, can't afford to wait several seconds more for a new block. 09:59 < LarryRuane> yes good point 09:59 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 09:59 < LarryRuane> so not a problem in practice 09:59 < lightlike> so the next planned steps would be to add logic to the connection making process to have at least one connection to each reachable network - and this PR prepares that 10:00 < lightlike> time's up - thanks everone, great discussion! 10:00 < lightlike> #endmeeting 10:00 < svav> Thanks lightlike and all! 10:01 < roze_paul> lightlike which is unfortunate because miners should be able to mine without exposing the ip/location. 10:01 < codo> I liked this one very much so thank you lightlike and others. 10:01 < roze_paul> thanks lightlike, everone! 10:01 < emzy> Thanks lightlike and all 10:01 < d33r_gee> thanks lightlike and everyone! 10:01 -!- d33r_gee [~d33r_gee@45-27-31-99.lightspeed.sntcca.sbcglobal.net] has quit [Quit: Connection closed] 10:02 < michaelfolkson> lightlike: They could receive blocks on clearnet but connect to full nodes on all networks. But yeah good point 10:02 -!- svav [~svav@82-69-86-143.dsl.in-addr.zen.co.uk] has quit [Quit: Connection closed] 10:02 < michaelfolkson> Thanks! 10:02 < LarryRuane> thanks @lightlike and everyone else, this was a great session! 10:02 < pablomartin> thanks all! 10:04 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 10:06 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 10:13 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 10:16 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 10:20 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 246 seconds] 10:22 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 10:25 -!- pablomartin [~pablomart@190.193.221.10] has quit [Quit: Leaving] 10:26 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 255 seconds] 10:31 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 10:38 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 10:40 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:dc72:ba28:fc:9810] has quit [Remote host closed the connection] 10:41 -!- brunoerg [~brunoerg@187.183.43.117] has joined #bitcoin-core-pr-reviews 10:49 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 10:54 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 10:55 -!- andrewtoth_ [~andrewtot@gateway/tor-sasl/andrewtoth] has quit [Remote host closed the connection] 10:57 -!- andrewtoth_ [~andrewtot@gateway/tor-sasl/andrewtoth] has joined #bitcoin-core-pr-reviews 10:57 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 11:00 -!- andrew_m_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 11:01 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 252 seconds] 11:11 -!- roze_paul [~quassel@142.243.254.224] has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.] 11:32 -!- jon_atack [~jonatack@user/jonatack] has quit [Ping timeout: 260 seconds] 11:36 -!- jon_atack [~jonatack@user/jonatack] has joined #bitcoin-core-pr-reviews 11:40 -!- jon_atack [~jonatack@user/jonatack] has quit [Ping timeout: 252 seconds] 12:03 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 248 seconds] 12:10 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 12:15 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 260 seconds] 12:15 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 12:17 -!- andrew_m_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Remote host closed the connection] 12:18 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 12:20 -!- jon_atack [~jonatack@user/jonatack] has joined #bitcoin-core-pr-reviews 12:20 -!- hernanmarino [~hernanmar@181.99.169.107] has quit [Quit: Leaving] 12:22 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [Ping timeout: 248 seconds] 12:23 -!- Talkless [~Talkless@mail.dargis.net] has quit [Quit: Konversation terminated!] 12:25 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has joined #bitcoin-core-pr-reviews 12:39 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:de29:7595:4884:267d] has quit [Ping timeout: 252 seconds] 12:58 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:de29:7595:4884:267d] has joined #bitcoin-core-pr-reviews 13:04 -!- ___nick___ [~quassel@cpc68289-cdif17-2-0-cust317.5-1.cable.virginm.net] has quit [Ping timeout: 252 seconds] 13:25 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 13:26 -!- andrewtoth_ [~andrewtot@gateway/tor-sasl/andrewtoth] has quit [Remote host closed the connection] 13:26 -!- andrewtoth_ [~andrewtot@gateway/tor-sasl/andrewtoth] has joined #bitcoin-core-pr-reviews 13:27 -!- brunoerg [~brunoerg@187.183.43.117] has quit [Remote host closed the connection] 13:27 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:dc72:ba28:fc:9810] has joined #bitcoin-core-pr-reviews 13:35 -!- ___nick___ [~quassel@cpc68289-cdif17-2-0-cust317.5-1.cable.virginm.net] has joined #bitcoin-core-pr-reviews 14:35 -!- grettke [~grettke@184.55.131.155] has quit [Quit: grettke] 15:06 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:de29:7595:4884:267d] has quit [Ping timeout: 248 seconds] 15:10 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 252 seconds] 15:11 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 15:12 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 15:16 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 248 seconds] 15:17 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 15:21 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 260 seconds] 15:22 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 16:34 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Quit: Leaving] 16:35 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #bitcoin-core-pr-reviews 16:46 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:de29:7595:4884:267d] has joined #bitcoin-core-pr-reviews 16:50 -!- grettke [~grettke@184.55.131.155] has quit [Quit: grettke] 16:55 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 16:55 -!- grettke [~grettke@184.55.131.155] has quit [Remote host closed the connection] 16:56 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 16:57 -!- andrew_mo_ [andrew_mo_@gateway/vpn/protonvpn/andrewmo/x-47904524] has quit [] 17:16 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:de29:7595:4884:267d] has quit [Ping timeout: 252 seconds] 17:18 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:8d8b:fd03:72e6:773e] has joined #bitcoin-core-pr-reviews 17:51 -!- __gotcha [~Thunderbi@79.132.236.173] has quit [Read error: Connection reset by peer] 17:51 -!- __gotcha [~Thunderbi@79.132.236.173] has joined #bitcoin-core-pr-reviews 18:11 -!- __gotcha [~Thunderbi@79.132.236.173] has quit [Read error: Connection reset by peer] 18:12 -!- __gotcha [~Thunderbi@79.132.236.173] has joined #bitcoin-core-pr-reviews 18:22 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:dc72:ba28:fc:9810] has quit [Remote host closed the connection] 18:22 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:dc72:ba28:fc:9810] has joined #bitcoin-core-pr-reviews 18:24 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 252 seconds] 18:26 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 18:30 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 248 seconds] 18:37 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 18:41 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 252 seconds] 18:48 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 18:48 -!- ___nick___ [~quassel@cpc68289-cdif17-2-0-cust317.5-1.cable.virginm.net] has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.] 18:50 -!- ___nick___ [~quassel@cpc68289-cdif17-2-0-cust317.5-1.cable.virginm.net] has joined #bitcoin-core-pr-reviews 18:51 -!- ___nick___ [~quassel@cpc68289-cdif17-2-0-cust317.5-1.cable.virginm.net] has quit [Client Quit] 18:52 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 248 seconds] 18:53 -!- ___nick___ [~quassel@cpc68289-cdif17-2-0-cust317.5-1.cable.virginm.net] has joined #bitcoin-core-pr-reviews 18:53 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 18:58 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 248 seconds] 18:59 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 19:03 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 252 seconds] 19:09 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 19:14 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 252 seconds] 19:15 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 19:20 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 248 seconds] 19:26 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 19:29 -!- kevkevin [~kevkevin@c-73-111-168-5.hsd1.il.comcast.net] has quit [Ping timeout: 268 seconds] 19:50 -!- MrFrancis [~MrFrancis@2001:8a0:fa4c:901:8d8b:fd03:72e6:773e] has quit [Ping timeout: 248 seconds] 20:35 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Remote host closed the connection] 20:36 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #bitcoin-core-pr-reviews 21:08 -!- grettke [~grettke@184.55.131.155] has quit [Quit: grettke] 21:23 -!- achow101 [~achow101@user/achow101] has quit [Ping timeout: 255 seconds] 21:33 -!- achow101 [~achow101@user/achow101] has joined #bitcoin-core-pr-reviews 21:35 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 260 seconds] 21:42 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 21:47 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 248 seconds] 21:53 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 22:03 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 268 seconds] 22:04 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 22:09 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 260 seconds] 22:15 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 22:20 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 255 seconds] 22:20 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 22:26 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 255 seconds] 22:31 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 22:36 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 260 seconds] 22:36 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 22:47 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 260 seconds] 22:47 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 22:52 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 268 seconds] 22:53 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 22:58 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 252 seconds] 22:58 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 23:03 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 268 seconds] 23:14 -!- _andrewtoth_ [~andrewtot@gateway/tor-sasl/andrewtoth] has joined #bitcoin-core-pr-reviews 23:15 -!- ghost43_ [~ghost43@gateway/tor-sasl/ghost43] has joined #bitcoin-core-pr-reviews 23:16 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Remote host closed the connection] 23:16 -!- andrewtoth_ [~andrewtot@gateway/tor-sasl/andrewtoth] has quit [Ping timeout: 255 seconds] 23:38 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 23:43 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 255 seconds] 23:44 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews 23:53 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has quit [Ping timeout: 268 seconds] 23:54 -!- b_101 [~robert@fixed-187-189-246-111.totalplay.net] has joined #bitcoin-core-pr-reviews --- Log closed Thu Feb 02 00:00:09 2023