Why Alphabet nodes vote for the validators on their startup? #1047

Open
opened 2025-12-28 17:21:35 +00:00 by sami · 2 comments
Owner

Originally created by @notimetoname on GitHub (Jun 19, 2023).

What I have read:

The question: why do we need it? What is the purpose of such voting? Why can't it be done on network start (e.g. in neofs-amd as a separate step)?
It makes the alphabet contracts to be the winners of the voting and get more GAS. But it really needs to be done once on network startup and once every time IR is changed. Initial voting can be done in neofs-adm (or any managing procedure), and all the following can be done externally or by the IR's control service.

Where am I wrong?

Originally created by @notimetoname on GitHub (Jun 19, 2023). What I have read: - https://github.com/nspcc-dev/neofs-node/pull/170 - https://docs.neo.org/docs/en-us/basic/governance.html - https://github.com/nspcc-dev/neofs-node/issues/2311 - https://github.com/nspcc-dev/neofs-node/pull/2363 The question: why do we need it? What is the purpose of such voting? Why can't it be done on network start (e.g. in `neofs-amd` as a [separate step](https://github.com/nspcc-dev/neofs-node/blob/93733ff8905dfe8dac51a384007c7f7f73263e1a/cmd/neofs-adm/internal/modules/morph/initialize.go#L81-L89))? It makes the alphabet contracts to be the winners of the voting and get more GAS. But it really needs to be done once on network startup and once every time IR is changed. Initial voting can be done in `neofs-adm` (or any managing procedure), and all the following can be done externally or by the IR's control service. Where am I wrong?
Author
Owner

@roman-khimov commented on GitHub (Jun 20, 2023):

It's not a big problem, the GAS cost is rather low and you don't restart nodes often. Then #2365 solves the main part of it and still leaves this behavior as a mechanism for IR change. Control/adm may be nice, but just require more effort for a very little gain.

@roman-khimov commented on GitHub (Jun 20, 2023): It's not a big problem, the GAS cost is rather low and you don't restart nodes often. Then #2365 solves the main part of it and still leaves this behavior as a mechanism for IR change. Control/adm may be nice, but just require more effort for a very little gain.
Author
Owner

@notimetoname commented on GitHub (Jun 21, 2023):

It's not a big problem, the GAS cost is rather low and you don't restart nodes often.

My main question is about that config value in general. Is it possible and is it more convenient to remove it at all and do such things another way? Should it be an app configuration?

@notimetoname commented on GitHub (Jun 21, 2023): > It's not a big problem, the GAS cost is rather low and you don't restart nodes often. My main question is about that config value in general. Is it possible and is it more convenient to remove it at all and do such things another way? Should it be an app configuration?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/neofs-node#1047
No description provided.