Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: features #1308

Open
rotilho opened this issue Oct 16, 2018 · 2 comments

Comments

4 participants
@rotilho
Copy link

commented Oct 16, 2018

Hello, I'm working in jnano-node a JVM implementation of the protocol and I came up with an idea: features.

During the handshake we could exchange information about the capabilities of each node and decide how to communicate (i.e. a feature is not supported by one of the nodes won't be used). This can cover situations like:

  • New fatures (vote-by-hash)
  • Experimental features (new serialization protocol)
  • Expose characteristics which is useful in some context (historical node vs light wallet)

This could lead to way more flexible protocol allowing to introduce big chances without waiting for other nodes to upgrade and after enough adoption you could make an experimental feature part of protocol.

EDIT: including more details

We could add a new extension 4 for handshake which will have fixed length and in the end we could add the features ids (with some limitation like max 10 features) replacing the handshake with extension 1, 2, 3

Or just keep it as it is and add to the end of each handshake answer the features.

It's also important to keep the track of those extensions to avoid collision (I'm imagining a scenario with multiple implementations of the protocol) similar to coin-type

@cryptocode

This comment has been minimized.

Copy link
Collaborator

commented Oct 16, 2018

#1120 is somewhat relevant

@rkeene

This comment has been minimized.

Copy link
Contributor

commented Oct 16, 2018

This is similar to SMTP's EHLO

@rkeene rkeene added this to the V18.0 milestone Oct 17, 2018

@clemahieu clemahieu modified the milestones: V18.0, V19.0 Dec 20, 2018

@zhyatt zhyatt added this to Nice to have in V19 Apr 30, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.