I believe many, if not all, of those messages are sent irrespective of version number.
In any case, I fail to see how adding any additional messages which are ignored by old peers amounts to a lack of backward compatibility. On February 13, 2017 11:54:23 AM GMT+01:00, Eric Voskuil <e...@voskuil.org> wrote: >On 02/13/2017 02:16 AM, Matt Corallo wrote: >> For the reasons Pieter listed, an explicit part of our version >handshake and protocol negotiation is the exchange of otherwise-ignored >messages to set up optional features. > >Only if the peer is at the protocol level that allows the message: > >compact blocks: > >https://github.com/bitcoin/bitcoin/blob/master/src/protocol.h#L217-L242 > >fee filter: > >https://github.com/bitcoin/bitcoin/blob/master/src/protocol.h#L211-L216 > >send headers: > >https://github.com/bitcoin/bitcoin/blob/master/src/protocol.h#L204-L210 > >filters: > >https://github.com/bitcoin/bitcoin/blob/master/src/protocol.h#L170-L196 > >> Peers that do not support this ignore such messages, just as if they >had indicated they wouldn't support it, see, eg BIP 152's handshake. >Not >sure why you consider this backwards incompatible, as I would say it's >pretty clearly allowing old nodes to communicate just fine. > >No, it is not the same as BIP152. Control messages apart from BIP151 >are >not sent until *after* the version is negotiated. > >I assume that BIP151 is different in this manner because it has a >desire >to negotiate encryption before any other communications, including >version. > >e _______________________________________________ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev