-
Notifications
You must be signed in to change notification settings - Fork 99
Description
What is wrong
#371 implements a versioning scheme for the base transport protocol. This does not cover breaking changes to the individual network protocols, such as changes to the content-key/content-id scheme.
How can this be fixed.
I think that we probably want to fix this in a similar manner.
- Sub-Protocols will have their own version number.
- ENR records can be used to transmit version information for the sub-protocol versions.
What gets complex is that Nodes without any version overlap should not communicate... which means that they shouldn't be in each other's routing tables... which also suggests that you shouldn't respond to a FIND_NODES request with a node who has no version overlap...
So this kind of change has somewhat deep effects on the network topology, and in theory could have effects like network partitioning in extreme cases.
Overall I think this scheme works, but I want people to spend a little time thinking about the deeper effects it is likely to have.