Исправление графиков наделения правами

Клавиатура с инструментами

Команда xx labs продвигает исправление графиков наделения правами 21 января 2022 года

Обзор

С введением в действие программы BetaNet Staking Rewards в большинство кошельков на xx network были добавлены новые графики наделения. Команда xx labs выявила ошибку, допущенную при расчете этих новых графиков наделения, и разработала исправление, которое восстановит правильные графики.

В этом посте мы начнем с глубокого погружения в то, как работает наделение правами в xx network.

Затем мы объясним, как была реализована программа BetaNet Staking Rewards, какие проблемы были обнаружены после ее введения в действие, и как мы устраняем эти проблемы, которые включают изменение неправильных графиков наделения правами.

Наконец, мы публикуем все пересмотренные графики наделения правами на участие в конкурсе на сайте https://vesting.xx.network для всех держателей монет в формате данных JSON и сопроводительный файл PNG, содержащий графики наделения. Мы также приводим примеры различных сценариев, которые затронули держателей монет в результате вышеупомянутых проблем.

Мы будем продвигать эти исправления 21 января 2022 года.

Что такое график наделения правами

Наделение правами - это концепция, традиционно используемая в отношении опционов на акции, когда присуждается грант в размере определенного количества единиц акций, но эти единицы только предоставляются (они жилет) порциями в течение определенного времени, например, ежеквартально или ежегодно.

В контексте xx network концепция похожа, но исполнение отличается. Вся сумма начисленных монет поступает непосредственно на счет получателя, но с таким графиком наделения правами, что замки монеты на определенный период времени. Монеты, заблокированные для наделения правами, могут быть использованы для любых операций в сети (за исключением использования в качестве зарезервировано монеты), но не могут быть переведены на любой другой счет. Монеты, находящиеся под наделением, затем разблокируются каждый блок.

График наделения правами в xx network состоит из трех полей:

  • Сумма, которая блокируется при наделении правами: локd
  • Сумма, которая разблокирует каждый блок: за_блок
  • Блок, когда монеты начинают разблокироваться: начальный_блок


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

Примеры:

Графики наделения правами на монеты, выдаваемые ежемесячными траншами по 7000 для узлов BetaNet, выглядят следующим образом:

  • локd:7000
  • за_блок:7000
  • начальный_блок:1123200

Этот пример устанавливает блокировку на 7000 монет, которая начинает разблокироваться в блоке 1123200, и разблокируется по 7000 монет в каждом блоке. Это означает, что транш в 7000 монет заблокирован до блока 1123200, а полностью разблокируется в блоке 1123201. Этот конкретный пример относится к вознаграждению BetaNet за январь 2021 года, поскольку 1123200 блоков равно 1123200/(24 часа * 600 блоков в час) = 78 дней, что означает, что блокировка заканчивается 1 февраля 2022 года.

Графики наделения правами на монеты, выданные в качестве вознаграждения за ставку BetaNet, выглядят следующим образом:

  • локd:23812
  • за_блок:0.009186728
  • начальный_блок:432000

Этот пример устанавливает блокировку на 23812 монет, которая начинает разблокироваться в блоке 432000 и разблокируется по 0,009186728 за блок. Это означает, что монеты 23812 заблокированы до блока 432000, а затем начинают разблокироваться по 0,009186728 за блок. Мы можем рассчитать продолжительность наделения правами, разделив заблокированные на per_block: 23812/0.009186728 ~= 2592000 блоков, что составляет 2592000/(24*600) = 180 дней. Это означает, что ценность полностью разблокирована через 6 месяцев после начала наделения, 432000/(24*600) = 30 дней после запуска сети.

Вознаграждения за ставки в Betanet

В марте 2021 года команда объявила о программе BetaNet Staking Rewards, которая распространяется на всех держателей монет с момента запуска основной сети. Программа имеет APY 50%, проценты начисляются ежедневно, с 1 марта 2021 года до запуска сети. Монеты, полученные после 1 марта, начисляют проценты только со дня их получения. Сумма вознаграждения была рассчитана для каждого владельца монет и опубликована в электронной таблице блока генезиса до запуска сети. В блоке genesis сумма вознаграждения была настроена для каждого держателя монет в модуле claims или непосредственно в модуле BetaNet Staking Rewards.

Программа была разработана со следующими вариантами вознаграждения:

  • Без наделения правами и с вознаграждением 2%
  • 1 месяц наделения правами на 100% основной суммы плюс вознаграждение, 12% вознаграждения предоставляется
  • 3 месяца наделения 90% основной суммы плюс вознаграждение, 45% вознаграждения предоставляется
  • 6 месяцев наделения 80% основной суммы плюс вознаграждение, дается общее вознаграждение. Это вариант по умолчанию, если выбор не сделан
  • 9 месяцев наделения правами на 100% основной суммы плюс вознаграждение, 120% вознаграждения предоставляется


Модуль BetaNet Staking Rewards был разработан для поддержки необходимых функций программы. Этот модуль позволял пользователям, которые заявляли свои монеты на адрес xx network, выбрать желаемый вариант. Кроме того, модуль был сконфигурирован с блоком введения в действие, который был установлен на 30 дней после запуска сети. Это было необходимо для того, чтобы дать время сообществу проголосовать за принятие программы. Программа была одобрена на референдуме, где держатели монет голосовали в течение одной недели.

В блоке введения в действие программа выполнялась, при этом вознаграждение выдавалось из пула вознаграждений по ставке в сети всем держателям монет, и применялись графики наделения в соответствии с выбранным вариантом. По умолчанию ко всем оставшимся требованиям автоматически применялась опция 6-месячного наделения правами, при этом сумма вознаграждения добавлялась к стоимости требования, и добавлялись графики наделения правами.

Существующие проблемы

Команда определила 3 проблемы, которые повлияли на введение в действие программы BetaNet Staking Rewards:

  1. Оставленные требования - сумма, подлежащая блокировке, была рассчитана после того, как вознаграждение было добавлено к основной сумме, т.е. блокировка = 0,8 * (основная сумма + вознаграждение) + вознаграждение, вместо блокировки = 0,8 * основная сумма + вознаграждение. Это привело к тому, что во многих оставшихся требованиях сумма блокировки оказалась выше, чем ожидалось.
  2. Вычисление наделения - сумма, которая должна быть заблокирована, вычислялась путем взятия необходимой блокировки и вычитания текущей суммы, уже заблокированной в блоке вступления в силу. Это было лучшее решение, которое позволило заблокировать необходимую сумму из вознаграждений при сохранении существующих блокировок, в результате чего блокировки наделения всегда были выше, чем раньше. Однако во многих сценариях это решение может привести к блокировке значений ниже, чем требуется программой, что может создать несправедливые ситуации среди держателей монет, выбравших разные варианты. Более того, в некоторых случаях стоимость блокировки начинается выше, чем требуется, а затем опускается ниже допустимого уровня.
  3. Неправильная выплата вознаграждения - рассмотрим пользователя, у которого есть два отдельных требования, одно без графиков наделения правами (например, от первоначальной продажи), а другое с ними. Если оба требования поданы на один и тот же адрес, сохраняется только стоимость вознаграждения по второму требованию. Это означает, что стоимость вознаграждения по первому требованию не была выплачена в блоке наделения. Эта конкретная проблема затрагивает только владельцев 3 монет.

Устранение проблем

Как было объявлено ранее на форуме почтаКоманда предложила обновление среды исполнения блокчейна, которое добавило дополнительную функциональность. Оно включало в себя две функции, предоставляющие техническому комитету возможность единогласным голосованием изменять графики наделения в модулях Claims и Vesting. Это обновление было одобрено на референдуме и введено в действие в прошлый четверг, 13 января.

Эти привилегированные функции будут использоваться командой для исправления неправильных графиков наделения, а затем будут удалены как можно скорее в ходе дальнейшего обновления времени выполнения.

Новые графики наделения правами

Информацию о наделении правами и программе BetaNet Staking Rewards для всех держателей монет можно найти на сайте https://vesting.xx.network.

Для каждого держателя монет существует JSON-файл, содержащий следующую информацию:

  • основная сумма: количество монет, имеющихся в Генезисе
  • вознаграждение: выдаваемое вознаграждение, корректируется в зависимости от выбранного варианта
  • опция: программа BetaNet Staking Rewards выбранная опция
  • наделение правами: вся информация о наделении правами
    • оригинал: графики наделения правами, существующие в генезисе
    • betanet_rewards: график наделения правами, требуемый ставочными вознаграждениями betanet
    • on_chain: графики наделения в настоящее время на цепочке
    • расчетный: фиксированные графики наделения правами
  • incorrect_on_chain: флаг для указания неправильного наделения на цепочке


Для каждого держателя монет имеется файл PNG, содержащий три графика количества заблокированных монет в зависимости от номера блока. Они позволяют сравнить количество монет, заблокированных различными графиками наделения правами, с течением времени:

  • Оригинальное наделение (слева): этот график показывает оригинальные графики наделения (синий) с графиком, требуемым программой BetaNet Staking Rewards (оранжевый). После введения в действие программы сумма блокировки всегда должна быть самой ограничительной, т.е. max(original, betanet_rewards)
  • Наделение на цепочке (посередине): этот график показывает ту же информацию, что и предыдущий, но с наложенными графиками наделения на цепочке (зеленый цвет). Здесь держатели монет могут сразу увидеть, является ли текущее наделение недействительным, и блокирует ли оно больше, меньше (или обе монеты).
  • Новые наделения (справа): этот график показывает ту же информацию, что и первый, но с наложенными новыми (фиксированными) графиками наделения (зеленый). Здесь держатели монет могут видеть графики наделения, которые будут установлены командой для устранения найденных проблем, которые, как можно видеть, всегда следуют максимуму между наделением оригинального вознаграждения и вознаграждения betanet. Если этот график совпадает со средним, это означает, что наделение на цепочке уже правильное.


Именем каждого файла JSON и PNG является адрес xx network владельца монет или адрес ETH, если монеты не были востребованы по состоянию на блок 870000. Мы призываем всех членов сообщества найти соответствующую информацию и связаться с командой в случае обнаружения каких-либо проблем.

Методология

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

Примеры различных ситуаций

Оставленный иск без оригинальных замков, показывающий выпуск 1

Оставшийся иск с оригинальными замками, на котором изображены выпуски 1 и 2

Оставленное требование с оригинальными замками, но правильным наделением

Держатель с оригинальными замками, демонстрирующий проблему 2, вызывающую более высокие замки, чем ожидалось

Держатель с оригинальными замками, демонстрирующий проблему 2, вызывающую первоначально более высокие замки, а затем более низкие, чем ожидалось

Держатель с оригинальными замками, но с правильным облечением

Держатель без оригинальных замков, но с правильным наделением

Держатель с оригинальными замками, показывающий ошибку 1, в связи с предъявлением претензий после введения в действие

Популярные