Управління
Параметри протоколу — мінімальний стейк, винагороди, газовий бюджет, slashing, пороги AI — змінюються ончейн-голосуванням вагою стейку, а не правкою конфігурації операторами нод.
Подання пропозиції
| Правило | Значення |
|---|---|
| Хто | Підписаний запит від будь-якої адреси; автор із .human повинен мати власний стейк щонайменше min_stake |
| Типи | text (лише сигнал) або PARAM_CHANGE (змінює один параметр) |
| Вікно голосування | Від 100 до max_voting_duration_blocks (за замовчуванням 1 000 000) блоків; 1 000, якщо не задано |
| Обмеження | Назва — 200 символів, опис — 5 000, корисне навантаження — 10 КБ |
PARAM_CHANGE містить зміну в корисному навантаженні:
{ "param_key": "max_block_gas", "param_value": "20000" }Пропозиція — підписана операція на neuro:system.governance; вона записується в консенсусі, тож кожен валідатор має ідентичну пропозицію з тієї самої висоти.
Голосування
- Голосувати можуть лише адреси з власним стейком. Вага голосу — власний стейк, прочитаний зі стану мережі в момент застосування голосу. Делегування голосу не дають.
- Стейк, доданий після створення пропозиції, не голосує за неї — так не вийде купити стейк лише для того, щоб переломити голосування.
- Один голос від адреси на пропозицію: «так» або «ні», остаточно.
- Голоси — підписані операції, записані в консенсусі.
Результат
Коли вікно голосування завершилось:
| Перевірка | За замовчуванням | Поле пропозиції |
|---|---|---|
| Кворум — вага «так» + «ні» ≥ цієї частки всього власного стейку | 20% | quorum_bps = 2 000 |
| Поріг — вага «так» > цієї частки поданих голосів | 50% | threshold_bps = 5 000 |
Обидві умови виконано → passed; інакше → rejected. Прийнята PARAM_CHANGE змінює параметр — якщо нове значення не виходить за допустимі межі; інакше зміну відхилено й лишається старе значення.
Стан фіналізації
експериментально Створення пропозицій і голосування працюють у консенсусі. Закриття пропозиції та застосування прийнятої зміни параметра зараз відбуваються на кожній ноді, коли вона віддає список пропозицій (GET /api/v1/governance/proposals), а не під час коміту блоку. Перенесення фіналізації в шлях коміту заплановано; доти після прийняття зміни перевіряйте параметр на кожному валідаторі.Як тестується: тест ноди test_apply_tx_governance_propose_and_vote_in_consensus покриває застосування пропозицій і голосів; перевірку меж покривають тести параметрів (test_deploy_risk_threshold_governance, test_deploy_security_governance_override).
Параметри
Поточні значення: GET /api/v1/governance/params. Деякі можна також задати для ноди під час старту змінною середовища — це призначено для тестових мереж.
Стейкінг і консенсус
| Параметр | За замовчуванням | Допустимі межі | Змінна середовища |
|---|---|---|---|
min_stake | 10 000 NRO (в uNRO) | від 1 до 10¹⁵ uNRO | — |
unbonding_blocks | 1 512 000 | від 1 до 10⁹ | NEUROCHAIN_UNBONDING_BLOCKS |
base_apy_bps | 1 200 (12%) | від 0 до 100 000 | — |
genesis_apy_bps | 2 400 (24%) | від 0 до 100 000 | — |
reward_interval_blocks | 216 000 | від 1 до 10⁹ | NEUROCHAIN_REWARD_INTERVAL_BLOCKS |
blocks_per_year | 78 840 000 | від 1 до 10⁹ | — |
max_commission_bps | 2 000 (20%) | — | — |
max_block_gas | 10 000 | від 1 до 10⁹ | — |
slash_fraction_double_sign_bps | 500 (5% від min_stake) | від 0 до 10 000 | NEUROCHAIN_SLASH_FRACTION_DOUBLE_SIGN_BPS |
slash_reward_fraction_bps | 100 (1% тому, хто повідомив) | від 0 до 10 000 | NEUROCHAIN_SLASH_REWARD_FRACTION_BPS |
slash_double_vote_bps | 500 | від 0 до 10 000 | — |
jail_blocks | 10 000 | від 1 до 10⁹ | NEUROCHAIN_JAIL_BLOCKS |
slash_evidence_window | 10 000 | від 1 до 10⁹ | NEUROCHAIN_SLASH_EVIDENCE_WINDOW |
quorum_bps | 2 000 | від 1 до 10 000 | — |
threshold_bps | 5 000 | від 1 до 10 000 | — |
AI-безпека
| Параметр | За замовчуванням | Допустимі межі | Значення |
|---|---|---|---|
deploy_security_enabled | 1 | 0 або 1 | Шлюз VMGuardian перед розгортанням (аварійний вимикач) |
deploy_risk_threshold | 80 | від 0 до 100 | Розгортання відхиляється при ризику ≥ 0,80 |
sentinel_enabled | 1 | 0 або 1 | Оцінка транзакцій Sentinel |
sentinel_reject_threshold | 85 | — | Транзакція відхиляється при оцінці ≥ 0,85 |
sentinel_policy_enabled | 0 | — | Ступінчастий шар політик (утримання / підтвердження) — вимкнено за замовчуванням |
sentinel_hold_threshold | 60 | — | Оцінка, від якої переказ утримується |
sentinel_stepup_threshold | 70 | — | Оцінка, від якої потрібне підтвердження власника |
sentinel_hold_blocks | 50 | — | Затримка до звільнення утриманого переказу |
sentinel_confirm_expiry_blocks | 1 000 | — | Скільки чекати підтвердження власника до повернення |
sentinel_agent_confirm_threshold | 60 | — | Оцінка, від якої переказу сесійного ключа потрібен власник |
trust_activation_blocks | 300 | — | Затримка, після якої новий довірений отримувач починає діяти |
Параметри політик Sentinel мають також змінні середовища NEUROCHAIN_SENTINEL_* і NEUROCHAIN_TRUST_ACTIVATION_BLOCKS; див. Sentinel.
Нативні активи та обмін
| Параметр | За замовчуванням | Значення |
|---|---|---|
asset_issue_fee | 1 000 NRO | Плата за випуск нативного активу |
asset_max_decimals | 18 | Найбільша кількість знаків після коми в активу |
dex_shard | 0 | Шард, де зберігаються записи активів і обміну |
Обмін (AMM) має також параметри комісії постачальникам ліквідності, протокольної комісії, мінімальної ліквідності, кількості свопів на пул за блок і аварійного вимикача; їхні поточні значення — у довіднику REST.
Прочерк у колонці «Допустимі межі» означає, що нода поки не перевіряє межі цього параметра при прийнятті зміни — пропонуйте значення обережно.
API
| Дія | Ендпоінт |
|---|---|
| Подати пропозицію | POST /api/v1/governance/propose |
| Проголосувати | POST /api/v1/governance/:id/vote |
| Список пропозицій | GET /api/v1/governance/proposals?status=&limit=&offset= |
| Одна пропозиція | GET /api/v1/governance/:id |
| Параметри | GET /api/v1/governance/params |