-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Hi all,
Not sure if this has been discussed before, maybe over Slack?
The ordering of validators and the index of each validator is exposed in a few places (eg the /consensus_state endpoint and in Vote events).
So the current implementation details of validators as an ordered list is quite important.
For example, to maintain a valid ValidatorSet by following ValidatorSetUpdates events, we need to be aware that new validators are always added to the end of the list in the order of the validator_updates array and validators are deleted by shifting all validators after the deleted one down.
The name ValidatorSet implies that ordering is not important, but this is not true right now.
It seems to me that validator ordering is not critical to tendermint consensus. Maybe the best solution is to remove areas that expose it? Otherwise, update the docs to codify what the details are/should be (and maybe rename ValidatorSet to ValidatorList.