Generalizing feature negotiation when new p2p connections are setup



Summary:

The discussion on Bitcoin's protocol documentation page revolves around a proposal by Jeremy Rubin to use HANDSHAKEACK instead of VERACK for protocol >= 70016, which would signal success or failure to agree on a connection after feature negotiation. This proposal is seen as overengineered by some, but has the advantage of providing flexibility for future feature support. There is also a suggestion by AJ to have a FEATURE wrapper or rule for all messages during feature negotiation, with an explicit message for ACKing enabled features. Additionally, Jeremy proposes using a SYNC message for multi-round negotiation and defining it correctly for future complexity. The current system uses service bits for feature support negotiation, but this proposal would replace it for protocol >= 70016.


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