Andrey P.
Moonbeam in Russian
5 min readDec 9, 2021

--

Прошло более трех месяцев с момента запуска Moonriver на Kusama, который быстро стал самым активным парачейном с крупнейшей экосистемой интеграций в ней. На сегодняшний день в сети Moonriver обработано более 13 миллионов транзакций при этом развернуто около 1650 ERC-20 токенов, 340 тысяч кошельков и застекано около 925 тыс. токенов MOVR (более 260 миллионов долларов).

Чтобы повысить безопасность и стабильность сети, команда Moonbeam внесла изменения в процесс размещения ставок, которые вступят в силу после обновления “Runtime 1001”.

Этот пост проведет Вас через изменения для получения пользовательского опыта в стекинге:

Терминология: Делегации, а не Номинации

Moonriver — это первый парачейн, реализующий в Kusama специальный парачейн согласования ставок, основанный на Delegated Proof of Stake (DPoS), где владельцы токенов делегируют (делают ставки) свои токены для поддержки конкретных производителей блоков — коллаторов — и получения вознаграждений.

Изначально реализация парачейна Moonbeam отражала соглашение об именах Nominated Proof of Stake от Polkadot, в котором участники MOVR назывались номинаторами, которые “назначали” производителей блоков.

Однако это создало некоторую путаницу, потому что реализация парачейна в Moonbeam отличается от той, что используется в Polkadot/Kusama: она используется только для стимулирования производства блоков и не влияет на их парвильность (завершонность). Завершенность блока обеспечивает Polkadot/Kusama.

Поскольку модель консенсуса парачейна, реализованная на Moonriver, больше всего напоминает модель Delegated Proof of Stake, действия, связанные со ставками, теперь будут называться “делегированием”.

Это отражает идею о том, что делегаты могут напрямую выбирать коллаторов, которых они хотят использовать, а не алгоритм, решающий за них. Более того, нет концепции “урезания”, когда номинаторы теряют токены, если они назначают валидатора, который выполняет незаконные действия. Поскольку Moonriver все еще находится на начальной стадии, ожидается, что даноое переименование функций, связанных со стекингом, не приведет к серьезным сбоям.

Увеличенная задержка выхода/анбондинга

Раньше у делегата было два варианта выхода из своего делегирования в колатора:

  1. Полностью отменить делегирование, после чего средства будут доступны в течение двух раундов (задержка выхода), что составляет примерно 2 часа.
  2. Уменьшите сумму стейкинга до 5 токенов MOVR, мгновенное восстановление частичной ставки (хотя и не намеренно, но так было с момента запуска сети) и получение оставшихся 5 делегированных MOVR в течение двух раундов.

С новым обновлением каждый раунд увеличивается до 600 блоков (ранее 300 блоков) и задержка выхода увеличена до 24 раундов (приблизительно 48 часов) с двух раундов (приблизительно 2 часа).

Все последующие действия теперь имеют задержку выхода 48 часов (на момент написания):

Делегаты:

  • Уменьшить делегирование для определенного коллатора (без облигаций).
  • Полностью отменить делегирование.

Коллаторы:

  • Уменьшение собственного бондирования
  • Оставьте список кандидатов для набора в коллаторы.

Основная причина увеличения задержки на выход — повышение стабильности механизма консенсуса Delegated Proof of Stake. Раньше участники парачейн-стекинга могли быстро перемещать весь свой стек между коллаторами, или даже вообще вне модуля стекинга парачейна, что создает потенциальную нестабильность в активном наборе коллаторов. Следовательно, нестабильный активный набор коллаторов может привести к проблемам с производством блоков и ухудшить производительность сети. Мы ожидаем, что стек будет более стабильной на протяжении раундов с новым обновлением.

Обратите внимание, что на Kusama задержка выхода (или “анбондинг” период) составляет 7 дней, а на Polkadot — 28 дней. Еще одно важное отличие состоит в том, что на Polkadot/Kusama, номинаторы не получают вознаграждения за стекинг, когда выполняют “анбондинг” своих средств. На Moonriver делегаты будут получать вознаграждение за стекинг даже выходя из делегирования.

Ручной выход

Еще одно значимое изменение в интерфейсе стекинга связано с тем, как делегаты/коллаторы могут полностью уменьшать или полностью выходить из своего делегирования/“бондинга”.

Перед обновлением, делегаты/коллаторы будут отправлять транзакцию, выражающую свое намерение либо уменьшить свою связь (делегирование/ бондинг (self-bond)) или полностью выйти из занятой позиции (отменить делегирование/выйти из набора кандидатов в коллаторы). После подтверждения транзакции действие будет автоматически выполнено после двух раундов (около 2 часов). Основываясь на работе Moonriver более трех месяцев, мы обнаружили, что планирование этих автоматических запусков привело к некоторым избыточным блокам, которые были слишком велики, чтобы их могла утвердить сеть Kusama. Это привело к незначительным остановкам сети и в целом низкой производительности сети.

Таким образом, выходы теперь разделены на два действия: планирование и выполнение. Когда делегат/коллатор хочет либо уменьшить свою бонд(bond) (делегирование/бондинг(bonding)) или выйти полностью (отменить делегирование/выйти из набора кандидатов в коллаторы), во-первых, им нужно будет запросить это (запланировать). По истечении периода задержки на выход (2 дня с момента подачи заявки), делегатору/коллатору необходимо выполнить свой запрос для принудительного исполнения. Они также могут отменить свое действие в любое время, чтобы запланировать еще одно.

Обратите внимание на следующее:

  • Делегаторы могут запланировать только один запрос без залога или запрос на отмену делегирования, но не оба.
  • Если делегат хочет изменить свой запрос, ему нужно отменить предыдущий запланированный запрос.
  • Коллаторы могут запланировать без облигаций или покинуть очередь по набору кандидатов в коллаторы самостоятельно.
  • Только коллаторв или делегат могут запланировать/отменить свои запросы, но любой может выполнять запросы, когда они готовы к выполнению.

Это напоминает модель ставок Polkadot/Kusama, где номинаторы должны сначала отвязать свои токены, а затем разблокировать их.

Критические изменения в процессе обновлении среды выполнения

Разработчики DApp должны рассмотреть возможность внедрения новой терминологии и потока выполнения расписания. Основные действия, на которые повлияло это изменение, перечислены ниже и разделены на API-интерфейсы Substrate и Ethereum.

Substrate API

Элементы состояния сети, которые изменились

Обратите внимание, что старые элементы состояния были устаревшими (хранение было перенесено), но к ним все еще можно получить доступ через предварительную компиляцию стекинга:

Внешние изменения:

Обратите внимание, что старые внешние компоненты устарели:

События, которые изменились

EthereumAPI

Методы, которые изменились в прекомпиляции стекинга

Обратите внимание, что в ближайшем будущем предыдущие функции будут считаться устаревшими.

--

--