Медианные параметры

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

Медианный курс GBG/GOLOS

Данный курс отвечает за внутренние конвертации GBG-GOLOS и начисления вознаграждений.

В исходных текстах установление медианного курса происходит в void database::update_median_feed() в database.cpp.

Обновление курса происходит 1 раз за период STEEMIT_FEED_INTERVAL_BLOCKS (1 час на момент 0.17.0). При этом:

  1. Происходит вычисление текущего медианного курса следующим образом:
    1. Проверяется количество опубликованных ценовых фидов в текущем раунде подписи блоков. Дальнейшая обработка продолжается, только если опубликовано не менее чем STEEMIT_MIN_FEEDS (7 на момент 0.17.0)
    2. Список фидов сортируется по значению.
    3. Берётся курс, который оказался в середине отсортированного списка. См. статью Медиана).
  2. Текущее значение медианного курса попадает в условную таблицу медианных курсов, которая хранит курсы за промежуток времени STEEMIT_FEED_HISTORY_WINDOW (3.5 дня на момент 0.17.0).
  3. Таблица с этими курсами сортируется и уже из неё берётся значение, которое находится в середине.
  4. Проверяется, что получившееся значение не меньше минимально возможной цены GBG/GOLOS, которая является ограничителем размера долга GBG. Минимальная цена вычисляется по формуле min_price = 9 * sbd_supply.amount / current_supply.amount
  5. Это значение (либо min_price) и становится текущим действующим медианным курсом, по которому происходят все операции конвертаций и прочие.

Некоторые следствия

  • Делегаты с устаревшими или сильно завышенными/заниженными прайсфидами мало влияют на медианный курс, так как оказываются по краям отсортированного списка
  • Медианный курс меняется плавно, в течении 3.5 дней
  • Можно условно предсказать, куда стремится медиана, глядя на самое последние значение из истории опубликованных медиан (можно получить с помощью get_feed_history)

Другие медианные параметры

Помимо курса, делегаты голосуют и за другие параметры. В них используется более простой механизм:

  1. Берутся все значения параметра, опубликованные делегатами в текущем раунде подписи блоков.
  2. Список сортируется по значению параметра.
  3. Берётся значение, которое оказалось в середине отсортированного списка.
  4. Получившееся значение вступает в силу немедленно.

Список прочих голосуемых параметров:

account_creation_fee

Устанавливает количество токенов GOLOS, которые перейдут в Силу Голоса нового аккаунта во время создания аккаунта от создателя.

maximum_block_size

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

sbd_interest_rate

Устанавливает размер годового процента по GBG, выплачиваемого держателям. Значение 1000 соответствует 10%.

results matching ""

    No results matching ""