Open antiochp opened 4 years ago
cc @DavidBurkett and @davidtavarez
Our latest Grin++ versions are already doing variable-sized kernels, and I'm comfortable committing to supporting the new protocol version 3 as well.
It seems unnecessary to force such a rapid jump in protocol versions to kill old peers. I expected those kinds of major jumps to be saved for cases where there's an extraordinary amount of code for supporting the old versions or a noticeable decrease in network chattiness or performance increase as a result of an upgrade. If we do decide to increase the protocol version by 1-2K anyway, we'll keep Grin++ consistent.
It seems unnecessary to force such a rapid jump in protocol versions to kill old peers.
We could alternatively just implement an HF4 specific rule that peers are incompatible with older protocol versions, but it makes sense to take advantage of the existing rules I think.
Nodes are currently on p2p protocol version 2.
See associated RFC for details on "variable size kernels" - https://github.com/mimblewimble/grin-rfcs/pull/21
We are ~proposing~ bumping to version 3: "commit only inputs". DONE/MERGED. See #3419 for details on this.
https://github.com/mimblewimble/docs/wiki/P2P-Protocol#phasing-out-old-peers
In line with our protocol version major/minor versioning strategy we should consider bumping to version
1000
as part of our final scheduled HF, or potentially as part of4.x.0
and a final bump to version2000
at HF4. This would force all nodes post HF4 to support only the latest, most recent, p2p protocol version.It would be convenient if we could take advantage of the final scheduled HF to "lock" the supported protocol version. This would allow for legacy code to be cleaned up after HF4 with some confidence that old nodes will no longer need to be supported.
Post HF4 we will have no need to support either legacy "fixed size kernels" or legacy "features and commit inputs".
1000
for4.1.0
(DONE in #3434)