1
0
mirror of https://github.com/bitcoin/bips.git synced 2025-05-26 12:10:14 +00:00

Clarify statements on compatibility.

Eric Voskuil 2017-03-15 03:09:49 -07:00
parent 2cbcd4e68a
commit 3348147048

@ -14,3 +14,4 @@ Clean and straightforward. Nodes should implement this. (Disagree with Voskuil's
I also disagree with Voskuil's assessment: nodes have always ignored unknown messages. However, the reject message is of minimal utility and adds many strings to the protocol which are a common source of vulnerabilities and which wastes bandwidth with no clear gain. I recommend implementations do not implement this, or implement it only for transaction messages (which is the only case that I'm aware of anyone actually using it for something plausibly useful). --Greg Maxwell, 2017-03-14
It is true that some implementations ignore message types that are not recognized. However it is not a protocol requirement to do so. A properly implemented node does not send messages to a peer that it knows the peer will not understand. Obtaining knowledge of what messages a peer can understand is the purpose of the version exchange. So it is not the case that nodes are actually **expected** to ignore messages that are incorrectly sent, it just happens to be the case that some do. --Eric Voskuil, 2017-03-15