On Feb 12, 2017 23:58, "Eric Voskuil via bitcoin-dev" <bitcoin-dev@lists.linuxfoundation.org> wrote:
The BIP151 proposal states:

> This proposal is backward compatible. Non-supporting peers will ignore
the encinit messages.

This statement is incorrect. Sending content that existing nodes do not
expect is clearly an incompatibility. An implementation that ignores
invalid content leaves itself wide open to DOS attacks. The version
handshake must be complete before the protocol level can be determined.
While it may be desirable for this change to precede the version
handshake it cannot be described as backward compatible.

The worst possible effect of ignoring unknown messages is a waste of downstream bandwidth. The same is already possible by being sent addr messages.

Using the protocol level requires a strict linear progression of (allowed) network protocol features, which I expect to become harder and harder to maintain.

Using otherwise ignored messages for determining optional features is elegant, simple and opens no new attack vectors. I think it's very much preferable over continued increments of the protocol version.

-- 
Pieter