vasild referenced this in commit 2cb7e99dee on Feb 5, 2026
vasild
commented at 5:40 AM on February 7, 2026:
contributor
Added #34533wallet: resubmit transactions with private broadcast if enabled
fanquake referenced this in commit 84e826ddc1 on Feb 13, 2026
instagibbs
commented at 7:16 PM on April 9, 2026:
member
should CConnman::PrivateBroadcast::PickNetwork not be picking uniformly? If a user has both Tor and I2P configured, seems like it would bias you to pick from a much smaller bucket of nodes, about half the time (and you'd be announcing that you're from a much smaller anonymity set?)
vasild
commented at 10:01 AM on April 10, 2026:
contributor
much smaller anonymity set
Do you mean that the number of I2P nodes on the network is less than the number of Tor nodes?
Lets see, if both Tor and I2P are accessible, then CConnman::PrivateBroadcast::PickNetwork() will select:
IPv4 peer (will connect via the Tor network), 25% of the time
IPv6 peer (will connect via the Tor network), 25% of the time
Tor peer, 25% of the time
I2P peer, 25% of the time
In the first 3 cases, the recipient will get an information that "Somebody with access to the Tor network is sending this transaction", that is 75% of the time. In the 4th case - "Somebody with access to the I2P network is sending this transaction", 25% of the time.
Now, would it be better if the selection is not 25% uniform, but based on the number of entries in addrman? Wanting to do that somehow implies that the number of entries for a given network in addrman is proportional to the number of nodes from that network. E.g. if there are 100 Tor and 50 I2P entries in addrman, then the Bitcoin network has two times more Tor nodes than I2P nodes. Is that the case though? The way addrman bucketing works - it uses the first 4 bits from the address for both Tor and I2P to select a bucket to place a new address to...
Anyway, if that is to be done, the change would be relatively small - return the set of networks from CConnman::PrivateBroadcast::PickNetwork() instead of just one network, then pass this set to AddrMan::Select() which picks a random entry and checks if it belongs to one of the given networks. That would favor networks with more entries in addrman.
In my addrman the number of I2P entries is about 5% of the number of IPv4+IPv6+Tor+I2P entries:
instagibbs
commented at 12:29 PM on April 10, 2026:
member
but based on the number of entries in addrman?
maybe? but that could be influenced by flooding the network with sybils, so if there's a mismatch between measured counts and known actual user counts, you'd still be exposing yourself.
fanquake added the label Private Broadcast on Apr 21, 2026
vasild
commented at 12:27 PM on May 12, 2026:
contributor
Kino1994 referenced this in commit f8c3740afa on Jun 28, 2026
Kino1994 referenced this in commit ff3c0d64cf on Jun 28, 2026
BigcoinBGC referenced this in commit 6d3b696b63 on Jun 30, 2026
BigcoinBGC referenced this in commit 8cf02e398e on Jun 30, 2026
Kino1994 referenced this in commit 7f8ff47522 on Aug 19, 2026
Kino1994 referenced this in commit 38b7f914bf on Aug 19, 2026
vasild
commented at 8:42 AM on October 6, 2026:
contributor
I am closing this - it served its purpose to track the initial wave of followup PRs after #29415 was merged. The wallet support has not been implemented yet. That maybe deserves a separate tracking or brainstorming issue.
Now we have the Private Broadcast label on PRs and issues, so they can be tracked via:
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-10-11 09:51 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me