You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge #7082: feat: add protocol version-based v2 p2p short ID negotiation
ddeca21 refactor: use message type as key in V2_NEW_SHORT_ID_VERSIONS (UdjinM6)
14a085c docs: add release notes for v2 short ID version negotiation (UdjinM6)
2373ab3 test: add unit tests for v2 short ID version negotiation (UdjinM6)
11f9a41 feat: add protocol version-based v2 p2p short ID negotiation (UdjinM6)
Pull request description:
## Issue being fixed or feature implemented
Implement backwards-compatible version negotiation for BIP324 v2 P2P short message IDs, allowing new short IDs to be added incrementally without breaking compatibility with older peers.
## What was done?
- Implement backwards-compatible version negotiation for BIP324 v2 P2P short message IDs
- Bump `PROTOCOL_VERSION` to 70240 and add `platformban` message to the list of short message IDs for nodes with protocol version 70240+
- Add unit tests
- Add release notes
## How Has This Been Tested?
Run tests
## Breaking Changes
None
Backwards Compatibility:
- Old nodes (v70238) receive PLATFORMBAN with long encoding (13 bytes)
- New nodes (v70240) use short encoding (1 byte) when both support it
- Automatic per-connection negotiation based on protocol version
- No network-wide activation needed
- MIN_MASTERNODE_PROTO_VERSION unchanged (70238) - masternodes can
upgrade gradually since the version negotiation handles mixed versions
## Checklist:
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e tests
- [ ] I have made corresponding changes to the documentation
- [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
ACKs for top commit:
PastaPastaPasta:
utACK ddeca21
kwvg:
utACK ddeca21
Tree-SHA512: 9e55c0261914cfed3cdcf10110915ce66884cc2ab1a6bd07af6fbc9339240e82bbd77ce6542811e104901fbd61ec18df957ae42dec723db4cecb11c90efa5ac2
The network protocol version has been updated to `70240` (`PLATFORMBAN_V2_SHORT_ID_VERSION`).
4
+
5
+
The `PLATFORMBAN` message has been added to the v2 P2P short ID mapping (short ID 168). When communicating with peers supporting version 70240+, this message uses 1-byte encoding instead of 13-byte encoding, reducing bandwidth.
6
+
7
+
The v2 transport layer now automatically negotiates short ID support per connection. Compatible peers use compact encoding, while older v2 peers automatically fall back to long encoding. This enables gradual rollout of new short IDs without breaking backwards compatibility.
0 commit comments