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

Add an ability to specify a node version in Cohort #170

Closed
piotr-roslaniec opened this issue Oct 6, 2022 · 6 comments
Closed

Add an ability to specify a node version in Cohort #170

piotr-roslaniec opened this issue Oct 6, 2022 · 6 comments

Comments

@piotr-roslaniec
Copy link
Contributor

  • User adds a version field to the Cohort object to select a group of nodes that satisfy certain node version
  • Porter must expose another query parameter in /get_ursulas: version
  • version structure should follow semver, or whichever scheme we use to denote node version
@jMyles
Copy link

jMyles commented Nov 11, 2022

Is there an archived convo for the reasoning behind this?

Seems like a reasonable enough idea.

What kind of incentive structure exists for updating? Is there a chance we inadvertently incentivize nodes not to update?

@piotr-roslaniec
Copy link
Contributor Author

piotr-roslaniec commented Nov 11, 2022

I created this issue after sharing the idea on Discord.

The gist of it is that even if node operators are incentivized to update their nodes, there is a possibility that sampling will result in a set of incompatible nodes - There is a period of instability between releases where node operators have to update, etc. My line of thinking is that the policy creator should have finer control over that.

@arjunhassard
Copy link
Member

Seems like a trade-off between
(1) Slow adopters creating a centre of gravity around older versions
(2) Cohorts comprising nodes with different versions breaking things

For maximum uniformity it arguably should be a protocol-driven sampling constraint, rather than a discretionary parameter. I.e. you can only be selected if you've updated to the latest version, unless an adopter goes and changes the client code.

The question then becomes, what about long-standing Cohorts in which some update and some do not?

@jMyles
Copy link

jMyles commented Nov 14, 2022

For maximum uniformity it arguably should be a protocol-driven sampling constraint, rather than a discretionary parameter.

I'm increasingly finding myself with this view generally, not only for the purposes of this issue.

The question then becomes, what about long-standing Cohorts in which some update and some do not?

Definitely one of the hardcore challenges of long thinking.

@arjunhassard arjunhassard transferred this issue from another repository Feb 8, 2023
@arjunhassard arjunhassard transferred this issue from another repository Feb 16, 2023
@arjunhassard
Copy link
Member

This becomes much more of a problem when a given app is creating lots of cohorts on the fly, whereas for early versions they're unlikely to have more than a single semi-perpetual cohort. On the staker side, we can assume a level of professionalism (given the smaller group) and sampling/incentive mitigations to make sure all nodes are on the latest version

@derekpierre
Copy link
Member

Will be addressed as part of #264

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants