nucypher / taco-web

🌮 A TypeScript client for TACo (Threshold Access Control)
https://docs.threshold.network/app-development/threshold-access-control-tac
GNU General Public License v3.0
16 stars 23 forks source link

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

Closed piotr-roslaniec closed 2 months ago

piotr-roslaniec commented 2 years ago
jMyles commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 1 year ago

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 commented 2 months ago

Will be addressed as part of https://github.com/nucypher/taco-web/issues/264