Как это работает

Ротация валидаторов

Ротация валидаторов — это процесс, в котором сеть заранее выбирает следующий набор валидаторов, публикует его в конфигурации и переводит консенсус на новый состав без остановки цепочки.

Назначение

Ротация нужна, чтобы сеть могла регулярно обновлять состав валидаторов и при этом сохранять непрерывную верифицируемую историю.

Текущий набор валидаторов не заменяется мгновенно. Сначала сеть формирует следующий набор, затем фиксирует его в конфигурации, и только после наступления времени активации новый состав начинает работать как основной.

Формирование следующего набора

Следующий набор валидаторов подготавливается заранее, пока текущий набор ещё активен.

Когда до окончания времени действия текущего набора остаётся достаточно мало времени, контракт выборов открывает новую кампанию. Участники подают ставки, после завершения окна выборов контракт проверяет, что собрано достаточно стейка, и рассчитывает итоговый набор валидаторов по правилам сети.

Для нового набора сразу задаются:

  • время начала действия
  • время окончания действия
  • список валидаторов
  • веса валидаторов

После этого результат передаётся в контракт конфигурации сети как следующий набор валидаторов.

Переключение консенсуса

Консенсусный слой применяет смену набора по раундам, а не в произвольный момент.

На практике сеть заранее знает предыдущий, текущий и следующий состав валидаторов. Новый состав подключается к приватному overlay и начинает готовиться к работе ещё до фактического переключения. Само переключение происходит на раунде, который соответствует времени активации нового набора и наступает после того, как цепочка якорей дошла до нужного диапазона времени.

Это даёт два свойства:

  • старый набор не выключается раньше времени
  • новый набор успевает получить сетевое состояние и начать участвовать в консенсусе без разрыва истории

Непрерывность

Ротация разделена на несколько последовательных этапов, поэтому сеть не требует остановки или ручного перевода.

  1. Пока текущий набор работает, контракт выборов формирует следующий набор.
  2. Контракт конфигурации принимает этот набор и хранит его как отложенный.
  3. Когда наступает время активации, отложенный набор становится текущим.
  4. Консенсусный слой переводит сетевое взаимодействие на новый состав на подходящем раунде.

Благодаря этому валидаторы меняются детерминированно, а новые ноды могут восстановить историю переходов по состоянию сети без доверия к внешним координаторам.