-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Comments:BIP 0152
This section part 6:
Thus, if a node wishes to determine exactly which version of compact blocks will be used before requesting a compact block object, it must send all of its sendcmpct version announcements, followed by a ping, and wait for the pong response to ensure it has received all sendcmpctblock version announcement messages from the remote peer...
implies that the Bitcoin P2P protocol generally requires that messages are handled and responded to in the order received. This is not reasonable to assume or require, nor is it consistent with behavior of existing nodes. This is especially problematic as it pertains to unrelated protocols, such as between ping-pong and compact blocks. The only ordering assumption is that a response can only follow its request, for message types that are response-only.
--Eric Voskuil, 2017-01-21
The protocol has strong requirements for ordering already, and has always had such a requirement. Moreover, no compact block messages will be sent until the a sendcmpact message has been processed; so there would not be ambiguity except in odd circumstances (described in the BIP). This proposal is very well constructed, was extensively reviewed, and deployed and successfully used on an overwhelming super-majority of nodes on the network.
--Greg Maxwell, 2017-03-14