Формулы и экономика на которых построена сеть Minter. II часть.

Формулы и экономика на которых построена сеть Minter. II часть.

@semaphore_team


Оглавление

I часть

  1. Введение
  2. Происхождение формул. Bancor, Minter, Математика
  3. Цена монеты
  4. Цена покупки/продажи

II часть

  1. Конвертация монет
  2. Расчет цены кастомной монеты при делегировании
  3. Unbond монеты
  4. Ликвидация монет
  5. Заключение

Документ с формулами


Конвертация монет

Допустим у вас есть 5 монет А и вы хотите их обменять на монету B. Для этого нужно продать монеты A, и на полученную сумму купить монеты B. Рассмотрим эти два шага:

1) Нужно узнать сколько стоят в BIP ваши Amount1 = 5 монет А. Для этого воспользуемся формулой продажи 1

2) Отлично, теперь мы знаем на сколько BIP нам надо купить монету B. Осталось узнать сколько монет Amount2 = B мы получим если заплатим эти E BIP. Для этого воспользуемся формулой покупки 2


В блокчейне конвертация происходит именно так, но мы решили объединить формулы в одну, которая позволит обменивать монеты в одно действие

Ограничения:

Пояснение к формуле:

Обмен монеты 1 на монету 2. Получаем Amount2 монет, при обмене Amount1 монет. 

Эта формула может применяться в разделе SPEND, в мобильном приложении.

Проверим это:

Возьмем две монеты: PRIVATE (CRR = 75%, Reserve = 239735.054212767497625184 BIP, Supply = 161.193556002912564193) и AMPERMETR (CRR = 10%, Reserve = 6715.127786725655652118, Supply = 101.652471590149651440)



Рассмотрим случай, когда вы знаете сколько монет B вы хотите получить и вам нужно узнать сколько монет А нужно за них отдать:

1) Сначала узнаем сколько в BIP (Е) стоит то количество монет Amount2 = B, которое вы хотите получить. Для этого воспользуемся формулой покупки 1

2) Теперь надо узнать сколько монет Amount = А нужно продать, чтобы получить то же самое число BIP. Для этого воспользуемся формулой продажи 2

Для этого случая мы также вывели формулу:

Ограничения:


то есть резерв продаваемой монеты A не может быть меньше, чем стоимость покупаемых монет B, иначе нам просто не хватит резерва, чтобы заплатить за обмен. Это очевидное следствие из базовой истины в сети Minter:

“Нельзя продать больше числа выпущенных монет (больше эмиссии)”.

Пояснение к формуле:

Обмен монеты 1 на монету 2. Получаем Amount1 монет, которые нужно потратить, чтобы купить Amount2 монет.

Эта формула может применяться в разделе GET, в мобильном приложении.

Проверим это. Возьмем две монеты: PRIVATE (CRR = 75%, Reserve = 239735.054212767497625184 BIP, Supply = 161.193556002912564193) и AMPERMETR (CRR = 10%, Reserve = 6715.127786725655652118, Supply = 101.652471590149651440)

Данные ограничения на формулы актуальны только для текущей версии сети Minter 1.0. С выходом версии Minter 1.1 появятся новые ограничения на резерв монеты. Также появятся монеты с ограниченной эмиссией.

Расчет цены кастомной монеты при делегировании

Подробное объяснение расчета цены кастомной монеты при делегировании приведено в статье Даниила Лашина.

Вывод формулы можно разделить на 4 этапа:

I этап: 

Считаем эквивалент E в BIP всех делегированных монет одного типа путем продажи:

где Reserve, CRR, Supply - характеристики монеты, а Amount - количество всех делегированных монет этого типа. 

II этап:

Считаем долю 𝜔 своих делегированных монет от общего числа делегированных монет:

III этап:

Вычисляем сколько BIP стоит наша доля:

IV этап:

Считаем стоимость одной делегированной монеты:

Конечная формула:

Немного перезапишем ее:

Видно, что urAmount легко сокращаются и тогда формула расчета цены делегирования кастомной монеты принимает вид:

Amount - количество всех делегированных монет одного типа во всех нодах

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

Стоимость же делегированного вами стейка определяется на основе вашей доли среди всех делегированных стейков.

urAmount - ваш стейк, Amount - количество всех делегированных монет одного типа во всех нодах


Делегируем обычную unbond монету AMPERMETR в валидатора с комиссией 1%.

Параметры монеты: CRR 10%, Reserve 6519.560122439786690366 BIP, Supply = 101.352471590149651440.

Делегируем urAmount 50.6732711967165 монет, и так как никто больше не делегировал монету, то доля делегированных монет AMPERMETR для нас составляет 𝜔 = 1 .

Посчитаем самостоятельно:

Это цена одной делегированной монеты AMPERMETR.

Посчитаем стоимость делегированного стейка(умножив цену одной монеты на число делегированных монет):

Проверим это в мобильном приложении:

Как мы видим, значения совпадают. 

Unbond монеты

Из-за того, что в новой версией Minter 1.1 монеты больше не будут ликвидироваться, то обходить тридцатидневную задержку, с помощью unbond монет, станет нельзя. Такой прием угрожал безопасности сети и поэтому новое обновление исключило этот хитрый способ обхода. Тем не менее, в этом блоке описаны важные моменты касательно поведения монет с низким CRR, которые лучше изучить.

У монет с CRR 10% есть одна очень полезная особенность. Благодаря таким монетам вы можете избежать 30-дневной (518400 блоков) потери наград при отзыве(unbond) стейка с делегирования. Для этого вам нужно создать монету с CRR = 10%, резерв лучше сделать равным той сумме, которую вы хотите делегировать. Эмиссия может быть любой.

Дальше вы можете делегировать до 50% эмиссии (до 50-ти, потому что если делегировать больше, то значение делегированного стейка почти не будет изменяться), а остальные 50% держать на кошельке. И если вам понадобиться моментально отозвать средства с мастерноды вы продаёте эти монеты, тем самым ликвидировав монету и получив весь её резерв.

Разберёмся во всех тонкостях:

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

где urAmount - количество ваших заделегированных монет одного типа, Amount - общее количество заделегированных монет одного типа, Reserve - резерв этой монеты, CRR - коэффициент постоянного резервирования, Supply - её эмиссия.

Возьмем монету с CRR = 10% , резервом равным 1000 BIP и эмиссией в 100 BIP

Будем считать цену делегирования при делегировании 10%, 20%, …, 100% от всей эмиссии:

Как видно из расчетов, цена после 50% делегированных монет почти не изменяется.

Давайте оставим те же характеристики монеты: Supply = 100, Reserve = 1000 BIP, и посмотрим, как изменяется цена делегирования для различных CRR от количества делегированных монет urAmount

Из-за того, что эмиссия равна 100 монетам, то 20 монет это 20% эмиссии, а 50 монет соответственно 50%, поэтому этот график справедлив для любых монет с CRR 10%, где по оси X можно считать процент делегирования от всей эмиссии.


Как мы видим, при делегировании 50% эмиссии и более цена делегирования практически перестает изменяться, то есть монета с 10% CRR позволит делегировать наименьшее число монет, и добиться максимальной цены. Однако это компенсируется её высокой волатильностью. Для монет с большим коэффициентом волатильности мы можем наблюдать как при возрастании CRR цена достигает максимального значения более плавно.

Теперь ответим на вопрос, почему в случае, если мы делегируем 50% этих монет и 50% оставим на кошельке, то увидим, что делегированный стейк составляет ровно такой же эквивалент в BIP, что и стоимость монет, которые остались на кошельке.

Создадим монету AMPERMETR с резервом R ≈ 6509 BIP, эмиссией Supply ≈ 101 монета и CRR = 10%:

У нас делегировано 50 монет AMPERMETR, стоимость делегирования которых указана в поле Delegated. И теперь попробуем продать оставшиеся на кошельке 50 монет.

Мы видим, что после продажи мы получим тоже ≈ 6500 BIP. Это происходит из-за того, что расчет эквивалента в BIP ваших заделегированных монет сводится к такой же формуле, что и для расчета стоимости оставшихся на кошельке монет. 

Проверим это:

Формула для расчета эквивалента в BIP заделегированных монет:

где urAmount - количество ваших заделегированных монет одного типа, Amount - общее количество заделегированных монет одного типа, Reserve - резерв этой монеты, CRR - коэффициент постоянного резервирования, Supply - её эмиссия.

Но количество ваших заделегированных монет urAmount равно общему количеству заделегированных монет этого типа Amount

Получается:

Если вы вспомните формулу продажи 1, то обнаружите, что это та же самая формула.

Значит у нас есть 50% монет на кошельке и 50% монет заделегировано и при этом стоимость монет в кошельке равна стоимости заделегированных монет. Значит ли это, что если мы отзовем наши делегированные монеты и подождем 30 дней, то у нас на кошельке будет 13000 BIP, учитывая, что на создание монеты мы потратили 6500 BIP? Конечно же нет. Давайте посмотрим на график зависимости количества получаемых BIP от количества продаваемых монет:



Получается стоимость 100% наших монет будет почти такая же как стоимость 50%, поэтому если к нам вернуться наши 50% заделегированных монет, то мы не получим в два раза больше BIP.

А что тогда происходит, когда мы продаём 50%, которые лежат на кошельке? 

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

Так сколько же составляет этот оставшийся резерв? 6500 BIP?


Опять нет. Не надо забывать, что при продаже уменьшается эмиссия и резерв монеты, а это означает, что и цена падает, а так как у нас монета с CRR 10%, то цена и резерв падают очень сильно и, в итоге, резерв станет менее 100 BIP - что и есть условие ликвидирования монеты.

Рассмотрим график падения цены при продаже монет с различными коэффициентами CRR, для монеты с характеристиками Supply 100 монет, Reserve 1000 BIP:

Согласно этому графику, после продажи 50% эмиссии для монеты с CRR 10%, она потеряет 99,78% своей цены, формулы двусторонние и работают честно в обе стороны, ранее мы показывали, как монета с CRR 10% при делегировании 50% эмиссии достигает практически 100% своей цены, точнее, это число - 99,78%. Интересно также отметить, что при такой продаже резерв монет с 10% CRR уменьшается на 99,76%.

Мягкий unbond:

Если у валидатора занято 1000 слотов, то можно отозвать такую часть, чтобы ваш стейк стал минимальным для выбывания. Когда появится новый делегатор, то он вытеснит ваш стейк. Часть, которая оставалась в стейке, вернётся сразу, а ранее отозванная часть - через 518400 блоков. Например, у валидатора на 1000 слоте делегатор имеет стейк 100 BIP, а вы имеете стейк 200 BIP, вы отзываете 100 BIP, которые придут вам через 518400 блоков, перемещаетесь на последнюю позицию. И в мастерноду делегирует новый делегатор 150 BIP, становясь последним в списке по величине стейка, выбивая вас. Таким образом, оставшиеся 100 BIP вернуться вам мгновенно.

Ликвидация монет

В новом обновлении Minter 1.1 ликвидации монет больше не будет. Это объяснили тем, что эта операция очень ресурсоемкая и может угрожать безопасности сети. Тем не менее, условия ликвидации будут использоваться для отклонения транзакций.

Из-за того, что блокчейн Minter позволяет в 2 клика создавать собственную монету, люди с легкостью создают безмерное множество монет, использующиеся в корыстных целях или неиспользуемые вовсе. Поэтому был реализован механизм очистки монет:

Любая монета в сети будет удалена, если выполняется хотя бы одно из 3-х условий:

  1. Резерв монеты меньше чем 100 BIP. (в новом обновлении Minter 1.1 минимальный резерв не 100, а 10000 BIP)
  2. Эмиссия монеты меньше 1-ой единицы.
  3. Цена одной монеты меньше 0.0001 BIP.

Подтверждения в коде.

Важно заметить, если резерв монеты был пополнен (в результате покупки монеты) различными пользователями сети, то после ликвидации, монеты в их кошельке будут уничтожены, а их стоимость в BIP будет зачислена на кошельки бывших владельцев монеты. Иначе говоря, весь оставшийся резерв будет распределен между покупателями пропорционально их величине покупки.

Советы по созданию монеты:

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

Однако, более важно узнать, нуждается ли ваш продукт в токенизации и какую выгоду это принесёт вашему бизнесу. Этот важный вопрос нужно решить в самую первую очередь. Если вы предприняли попытку создать токен, имеющий под собой продукт, нуждающийся в нём, вам необходимо тщательно смоделировать поведение монеты, стратегию привлечения капитала, выбора модели эмиссии, на несколько месяцев/лет вперёд.

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

PCO

Выступление Ивана из Enlightenment Node

@megabip

minter.wiki

Заключение

Таким образом, мы показали, что ликвидность, которую обеспечивает сеть базируется на приведенных выше формулах: 2 формулы продажи, 2 формулы покупки, 2 формулы конвертации и 1 формула цены, все они имеют строгое математическое обоснование. Мы окончательно определили понятие цены, привели более удобную формулу для конвертации монет, узнали, что такое unbond монеты и как они позволяют обойти ограничение на 30 дневное ожидание возврата монет из ноды, а также в каких случаях они могут быть ликвидированы.

Здесь мы собрали и прикрепили все формулы, которые используются в Minter, в том числе и наши формулы конвертации.