Published on: 2015-09-24T19:27:57+00:00
During a discussion on the bitcoin-dev mailing list, the topic of improving block announcement on the Bitcoin network was raised. The idea of unilaterally switching to sending headers instead of full blocks was suggested by Tier Nolan. However, Suhas Daftuar pointed out that this solution may not work for all network participants, including users running older versions of Bitcoin Core and non-Bitcoin Core software.Peter Todd proposed enabling the behavior based on advertised p2p network version, but Suhas Daftuar argued that other software on the network might prefer to bump up their protocol version in the future without having to opt-in to receiving headers-announcements for blocks. It was mentioned that inv-based block announcements are not going away, and forcing all software on the network to upgrade to support headers announcements seems too drastic.In response to the discussion, a pull request was implemented to allow nodes to opt-in to direct downloading of blocks upon receiving headers messages, while nodes that do not implement block downloading in response to headers announcements should continue to receive inv's. This solution aimed to address the concerns raised by Suhas Daftuar regarding compatibility with different versions of Bitcoin Core and non-Bitcoin Core software.Further, Suhas Daftuar proposed a new optional peer-to-peer message called "sendheaders" to improve the way blocks are announced on the network. This p2p message would allow nodes to announce blocks with headers messages instead of inv's, eliminating a round trip in network communication and facilitating more efficient propagation of reorgs. The proposal ensures backward compatibility, so older clients remain fully compatible and interoperable after the change.The draft BIP for this proposal is available on GitHub, and the implementation of the BIP can be found on bitcoin's GitHub repository. By introducing the "sendheaders" message, nodes have the option to use headers messages for block announcements, which can lead to more efficient block propagation and reduced latency. The proposal aims to reduce the amount of state in the protocol and improve overall network performance.In summary, a discussion among developers on the bitcoin-dev mailing list focused on improving block announcement on the Bitcoin network. While the idea of unilaterally switching to sending headers instead of full blocks was suggested, concerns were raised regarding compatibility with older versions of Bitcoin Core and non-Bitcoin Core software. In response, a pull request was implemented to allow nodes to opt-in to direct downloading of blocks upon receiving headers messages. Additionally, Suhas Daftuar proposed a new optional peer-to-peer message called "sendheaders" to improve block announcement efficiency. The proposal is aimed at reducing network latency and improving overall performance while ensuring backward compatibility. The draft BIP for this proposal can be found on GitHub, and the implementation is available on bitcoin's GitHub repository.
Updated on: 2023-08-01T16:16:48.614604+00:00