# Монетарная политика, управляемая сообществом
# Вознаграждение за блок
Вознаграждение за блок — это дополнительная эмиссия токена WAVES с появлением каждого нового блока на блокчейне. Вознаграждение распределяется между генератором блока, Waves DAO и смарт-контрактом для выкупа XTN.
Текущий размер вознаграждения за блок — 6 WAVES, из которых генератор блока получает 2 WAVES. Сообщество генераторов может изменить размер вознаграждения за блок посредством голосования. Таким образом, протокол Waves обеспечивает децентрализованное и прозрачное управление монетарной политикой.
Вознаграждение за блок введено с момента активации фичи № 14 “Block Reward and Community Driven Monetary Policy”. Распределение вознаграждения введено с момента активации фичи № 19 “Block Reward Distribution”.
# Основные принципы голосования
- Каждая генерирующая нода может голосовать за то, чтобы увеличить, уменьшить или оставить без изменения текущий размер вознаграждения.
- Голосование длится 10 000 блоков.
- В результате голосования вознаграждение может увеличиться или уменьшиться на 0,5 WAVES либо остаться прежним.
- Выбранный размер вознаграждения остается неизменным на протяжении 100 000 блоков (около 70 дней), которые следуют за моментом окончания голосования.
- Последние 10 000 блоков из периода в 100 000 блоков проходит голосование для следующего периода в 100 000 блоков.
# Текущий статус голосования
Посмотреть текущий статус голосования и размер вознаграждения можно с помощью запроса к Node REST API.
Пример запроса:
curl -X 'GET' \
'http://nodes.wavesnodes.com/blockchain/rewards' \
-H 'accept: application/json'
Пример ответа:
{
"height": 3439900,
"totalWavesAmount": 11019940600000000,
"currentReward": 600000000,
"minIncrement": 50000000,
"term": 100000,
"nextCheck": 3439999,
"votingIntervalStart": 3430000,
"votingInterval": 10000,
"votingThreshold": 5001,
"votes": {
"increase": 1237,
"decrease":1624
}
}
В примере выше значение JSON-поля currentReward
равняется 600 000 000 WAVELET — то есть 6 WAVES.
# Как голосовать
Генерирующая нода указывает новый желаемый размер вознаграждения с помощью настройки waves.rewards.desired в файле конфигурации ноды. Значение настройки указывается в WAVELET.
Если значение больше текущего размера вознаграждения, то генератор блока голосует за увеличение вознаграждения; если меньше — за уменьшение. Если значение настройки не задано в файле конфигурации, генератор голосует за сохранение текущего размера вознаграждения.
Когда нода генерирует блок, она записывает в него значение настройки waves.rewards.desired
из своего файла конфигурации. Если значение настройки не задано в файле конфигурации, то в блок записывается -1.
За время голосования в 10 000 блоков одна нода может сгенерировать несколько блоков — таким образом, одна нода может проголосовать несколько раз. Как часто нода генерирует блоки, определяется консенсусом LPoS.
# Подсчет голосов
Для подсчета голосов проверяются значения всех 10 000 блоков, которые были сгенерированы в период голосования.
Если в блоке записана -1 или величина, которая совпадает с текущим размером вознаграждения, то генератор блока голосует за сохранение текущего размена вознаграждения.
Если в блоке записано значение, которое больше текущего размера вознаграждения, то генератор голосует за увеличение вознаграждения; если меньше — за уменьшение.
Вознаграждение за генерацию блока увеличивается/уменьшается, только если за увеличение/уменьшение отдано более половины голосов из 10 000 — то есть 5001 голос или более. Размер текущего вознаграждения увеличивается/уменьшается с шагом в 0,5 WAVES.
# Пример
На высоте блокчейна 3 440 000 размер вознаграждения за генерацию блока составляет 6 WAVES. На высоте 3 530 000 начинается очередное голосование.
Предположим, в течение 10 000 блоков голосования 4500 голосов будет отдано за увеличение размера вознаграждения, 1500 — за уменьшение, 4000 — за то, чтобы размер вознаграждения остался прежним.
В результате с высоты 3 540 000 по высоту 3 639 999 размер вознаграждения останется прежним — 6 WAVES. Несмотря на то что за увеличение вознаграждения отдано больше всего голосов, этого недостаточно для изменения текущего размера вознаграждения. Чтобы текущий размер был увеличен, за увеличение должно быть отдано не менее 5001 голоса.
Следующее голосование будет проходить с высоты 3 630 000 по 3 639 999.