Generalizing feature negotiation when new p2p connections are setup



Summary:

In a recent discussion on the Bitcoin-dev mailing list, the topic of allowing arbitrary messages on the Bitcoin network was brought up. While some participants were in favor of allowing such messages without restriction, others suggested implementing a negotiation mechanism to avoid overloading the network with unnecessary messages. The suggestion was made to create a feature negotiation message that would specify which features should be enabled or disabled between VERSION and VERACK messages. This would allow for more granular control over the types of messages being sent and received on the network. Additionally, it was noted that implementing a polite disconnect feature might be easier to do with a generic FEATURE message rather than having to implement it for each new feature as it is proposed.Despite the potential benefits of implementing a negotiation mechanism, some participants argued that such a change would be tedious to develop and may not be necessary. Ultimately, it was suggested that if someone were willing to write a BIP and provide code for such a mechanism, they should be allowed to do so and the community could decide whether or not to adopt the change based on rough consensus and running code.


Updated on: 2023-06-14T15:04:04.626758+00:00