CHIP 2022-01 - Implement BIP155 - Add "sendaddrv2" and "addrv2" p2p messages

This CHIP is essentially a fork of Bitcoin Core’s BIP155, but with some additional clarifications.

The BIP is to be implemented in its entirety, the text of which can be found here:

Note that this is an OPTIONAL addition to the P2P protocol and nodes not implementing it MUST NOT be punished or otherwise have any issues if they don’t support these 2 new messages (sendaddrv2 and addrv2). They just won’t be able to benefit from the feature addition of being able to send and receive TorV3 addresses. BCHN master as of the time of this writing fully implements this BIP already.

The only amendment we would like to the BIP155 specification is:

  • Version 70016 or greater MUST be present in the initial version message, otherwise peers will not even announce they want addrv2 via a sendaddrv2 message before verack. (This is to prevent banscores where older BCHN nodes would add to banscore if they see unexpected messages before verack).
  • Additionally, peers are expected to tolerate “unknown” messages arriving before verack, and should just ignore them without penalty (thereby allowing for future feature negotiation to happen before verack).