neo icon indicating copy to clipboard operation
neo copied to clipboard

NeoFS governance by mainnet Committee

Open realloc opened this issue 4 years ago • 4 comments

Summary or problem description

NeoFS has a number of nodes responsible for overall storage network management, the Inner Ring nodes. Anyone can register as Inner Ring node candidate and become one when the storage network load will require more Inner Ring nodes to run. It's an autonomous and fully automated process, nodes will vote between themselves to accept a new candidate or to promote/demote a candidate when needed, based on technical parameters, without human intervention.

First seven Inner Ring nodes, called Alphabet Inner Ring node, control NeoFS sidechain consensus and do actual voting. There has to be some mechanism to allow mainnet Committee to change the Alphabet inner Ring nodes list to prevent loss of synchronization in case of emergency, but without breaking the automated inner Ring self-regulation

.

Do you have any solution you want to propose?

We propose to let mainnet Committee set the desired priority list of Alphabet Inner Ring nodes using the Designation native contract. Inner Ring nodes will make sure the nodes listed there will be promoted to Alphabet nodes. If the list is not big enough to cover seven nodes, the regular candidate will be used.

The detailed process description can be found in NeoFS Techinical Specification. The section on governance is in the attached PDF: neofs-gov.pdf

Neo Version

  • Neo 3

Where in the software does this update applies to?

  • CLI
  • Ledger

realloc avatar Jan 27 '21 04:01 realloc

Anyone can register as Inner Ring node candidate and become one when the storage network load will require more Inner Ring nodes to run

There has to be some mechanism to allow mainnet Committee to change the Alphabet inner Ring nodes list to prevent loss of synchronization in case of emergency, but without breaking the automated inner Ring self-regulation

If so, one node want to be a Inner Ring node, it has two ways: one is to register by itself, another is to be elected by committee, right?

Tommo-L avatar Jan 29 '21 16:01 Tommo-L

If so, one node want to be a Inner Ring node, it has two ways: one is to register by itself, another is to be elected by committee, right?

In both cases, the one has to register the node in the Inner Ring candidate list. On entering the list it has to pass some basic sanity checks. Then it may be elected by committee, or promoted by other Inner Ring nodes.

realloc avatar Jan 29 '21 16:01 realloc

if inner ring candidate can be promoted by other Inner Ring nodes. then the election commitee is insignificant and this can hurt decentralization

ioannistsil avatar Feb 02 '21 11:02 ioannistsil

if inner ring candidate can be promoted by other Inner Ring nodes. then the election commitee is insignificant and this can hurt decentralization

Committee candidates have the highest priority to become Alphabet Inner Ring nodes. It means that if the list provided by the committee is not big enough, or there are not enough nodes alive from that list, the rest of the list will be chosen from the regular IR candidates. In all other cases, the Alphabet Inner Ring nodes list will be formed from the list agreed by the Committee in the Designation contract.

This behavior doesn't hurt decentralization in any way, but allows the NeoFS network to self-heal and function without regular attention from the committee's side.

realloc avatar Feb 02 '21 12:02 realloc

The role was added in #2377, NeoFS sidechain works fine, this one is done.

roman-khimov avatar Nov 16 '23 18:11 roman-khimov