Proposed Improvements To addr Relay



Summary:

The proposal to change the addr relay in Bitcoin Core is aimed at reducing "addr blackholes," and the author is seeking feedback on whether the change would have negative consequences for other network software. Exposure to a diverse set of addresses is crucial for nodes to be protected from network partitions or eclipse attacks. The two primary ways for nodes to communicate about addresses in the Bitcoin p2p protocol are through addr gossip and getaddr requests. Self-advertisements initiate a new addr message to each peer approximately once a day.Nodes that receive an addr message with ten or fewer addresses will forward them to 1-2 peers. However, forwarding addresses to peers who do not relay them further effectively reduces the ability of the addr message to propagate successfully through the network. The proposal aims to identify whether an inbound connection is a candidate for forwarding addrs based on whether it has sent an addr related message over the connection.This proposed change in behavior could be problematic if there is software on the network that relies on receiving addr messages but never initiates an addr related message. As a result, the author is seeking information on such software to determine whether the proposal is a viable approach. The code for this proposal can be found at https://github.com/bitcoin/bitcoin/pull/21528.


Updated on: 2023-06-14T20:06:16.561416+00:00