Skip to content

Network level versioning #381

@pipermerriam

Description

@pipermerriam

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions