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