entropyxyz / entropy-core

Protocol and cryptography development.
https://docs.entropy.xyz/
GNU Affero General Public License v3.0
9 stars 1 forks source link

Add way to change number of subgroups on running network #656

Closed HCastano closed 2 weeks ago

HCastano commented 6 months ago

Right now we need to specify the number of subgroups we want as part of genesis. If later on in the life of the network we decide that we want to change this number, for example to increase it as the size of the validator set increases, there is no way for us to do this without restarting the network.

A couple of tricky things here:

  1. How we would re-key all the validators. Put another way, how would we migrate the existing keyshares that validators have into the new set of subgroups?

We may be able to get away with doing some of the work in session N-1, and only applying the subgroup change in session N.

  1. How do we migrate keyshares of users with a private access mode

It's not reasonable to expect users to come online at some arbitrary session to re-key, so how would we get them to migrate?

ameba23 commented 6 months ago

Now that we have a version number associated with each user (https://github.com/entropyxyz/entropy-core/pull/658), this is much easier as we can increase the number of subgroups for new users without needing to migrate existing users. Although decreasing it would be pretty complicated.

Having said that, as i have said elsewhere i think increasing the number of subgroups is not a good solution to the problem of increased keyshare redundancy as the network grows. I think our subgroup system needs rethinking.

HCastano commented 2 weeks ago

We don't have subgroups anymore.