Skip to content

Параметры цепочки

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


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

1. Валидаторы публикуют предпочтения

Каждый валидатор отправляет предпочтительные параметры через versioned_chain_properties_update_operation:

json
[46, {
  "owner": "alice",
  "props": [3, {
    "account_creation_fee": "1.000 VIZ",
    "maximum_block_size": 131072,
    ...
  }]
}]

[3, {...}] указывает версию 3 (chain_properties_hf9, текущий формат).

2. Расчёт медианы

При каждом обновлении расписания валидаторов блокчейн вызывает update_median_witness_props(). Для каждого параметра независимо он:

  1. Собирает значения от каждого активного валидатора.
  2. Сортирует их.
  3. Выбирает медиану (индекс active.size() / 2).
Пример — 5 валидаторов голосуют за account_creation_fee:
  0.5, 1.0, 1.0, 2.0, 5.0 VIZ

         медиана = 1.0 VIZ

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

3. Применение

Результирующий объект median_props сохраняется в validator_schedule_object и применяется при обработке всех блоков.


Все управляемые параметры

Аккаунт и делегирование

ПараметрТипПо умолчаниюОписание
account_creation_feeasset (VIZ)1.000 VIZМинимальная комиссия за создание нового аккаунта
create_account_delegation_ratiouint3210Необходимое делегирование = ratio × fee
create_account_delegation_timeuint32 (с)2592000 (30д)Время блокировки делегирования при создании
min_delegationasset (VIZ)1.000 VIZМинимальная сумма для любого делегирования SHARES

Размер блока и пропускная способность

ПараметрТипПо умолчаниюОписание
maximum_block_sizeuint32 (байт)131072Максимальный размер блока; управляет пропускной способностью
bandwidth_reserve_percentuint16 (bp)1000 (10%)Дополнительная пропускная способность для малых аккаунтов
bandwidth_reserve_belowasset (SHARES)500.000000Порог для получения резерва пропускной способности
data_operations_cost_additional_bandwidthuint32 (%)0Множитель дополнительной пропускной способности для операций с данными (custom_operation)

Инфляция и экономика

ПараметрТипПо умолчаниюОписание
inflation_validator_percentuint16 (bp)2000 (20%)Доля валидаторов от блочной инфляции
inflation_ratio_committee_vs_reward_funduint16 (bp)5000 (50%)Разделение оставшейся инфляции: фонд комитета vs фонд вознаграждений
inflation_recalc_perioduint32 (блоки)806400 (~28д)Как часто пересчитывается инфляция

Поток инфляции: block_reward × inflation_validator_percent → валидатор. Остаток делится: inflation_ratio_committee_vs_reward_fund → фонд комитета; остальное → фонд вознаграждений за награды.

Система вознаграждений

ПараметрТипПо умолчаниюОписание
min_curation_percentuint16 (bp)500 (5%)Минимальная доля кураторского вознаграждения из выплат за контент
max_curation_percentuint16 (bp)500 (5%)Максимальная доля кураторского вознаграждения
vote_accounting_min_rsharesuint325000000Минимальные rshares для ненулевого вознаграждения за награду
flag_energy_additional_costuint16 (bp)0Дополнительная стоимость энергии для даунвотов/флагов

Ответственность валидаторов

ПараметрТипПо умолчаниюОписание
validator_miss_penalty_percentuint16 (bp)100 (1%)Снижение веса голосов при пропуске блока
validator_miss_penalty_durationuint32 (с)86400 (1д)Продолжительность штрафа за пропуск

Комиссии

Все комиссии поступают в фонд комитета (казна DAO).

ПараметрТипПо умолчаниюОписание
committee_create_request_feeasset (VIZ)100.000 VIZКомиссия за создание заявки на финансирование комитета
create_paid_subscription_feeasset (VIZ)100.000 VIZКомиссия за создание платной подписки
account_on_sale_feeasset (VIZ)10.000 VIZКомиссия за выставление аккаунта на продажу
subaccount_on_sale_feeasset (VIZ)100.000 VIZКомиссия за выставление прав создания субаккаунта на продажу
validator_declaration_feeasset (VIZ)10.000 VIZЕдиновременная комиссия за регистрацию валидатора
create_invite_min_balanceasset (VIZ)10.000 VIZМинимальный баланс инвайта

Вывод из вестинга

ПараметрТипПо умолчаниюОписание
withdraw_intervalsuint1628Количество ежедневных платежей при анстейкинге SHARES

Версии параметров

Параметры вводились поэтапно при хардфорках:

ВерсияИндексХардфоркДобавленные поля
chain_properties_init0Генезисaccount_creation_fee, maximum_block_size, параметры делегирования, курация, пропускная способность, стоимость флага, минимальные rshares, порог комитета
chain_properties_hf41HF4inflation_validator_percent, inflation_ratio_committee_vs_reward_fund, inflation_recalc_period
chain_properties_hf62HF6data_operations_cost_additional_bandwidth, validator_miss_penalty_percent, validator_miss_penalty_duration
chain_properties_hf93HF9create_invite_min_balance, committee_create_request_fee, create_paid_subscription_fee, account_on_sale_fee, subaccount_on_sale_fee, validator_declaration_fee, withdraw_intervals

Для всех новых публикаций параметров валидатора используйте индекс версии 3 (chain_properties_hf9).


Цикл управления

Держатели SHARES → голосуют за валидаторов
Валидаторы → публикуют предпочтительные значения параметров
Блокчейн → берёт медиану активного набора
Медиана → применяется как живые правила сети

Изменение параметра требует, чтобы большинство активных валидаторов опубликовали новое значение. Процесс:

  1. Сообщество обсуждает желаемое изменение (например, снижение комиссий).
  2. Валидаторы обновляют публикуемые параметры.
  3. Пользователи переносят голоса к валидаторам, публикующим желаемые значения.
  4. Как только большинство активных валидаторов публикует новое значение, медиана смещается.
  5. Новое значение вступает в силу автоматически — хардфорк или голосование за управление не требуются.

Чтение текущих параметров

json
{ "method": "database_api.get_chain_properties", "params": [] }

Возвращает текущие действующие медианные параметры. См. Database API.


См. также: Валидаторы, Database API, Стейкинг и DAO.