Штрафами наказывается некорректная работа мастерноды (валидатора).
Всего существует 2 вида штрафов:
1% от общего стейка валидатора;
5% от общего стейка валидатора.
1%
Отсутствие подписи валидатора в 12 блоках из 24 последних наказывается 1% от общей суммы стейка валидатора. То есть если нода валидатора находится в блокчейне в активированном состоянии (Set Online), но при этом по какой-то причине не подписала блоки. Например, из-за ненадёжного интернет соединения. 12 из 24 блоков в любой последовательности. В общую сумму стейка входят все делегированные данному валидатору средства и его личные средства.
Для предотвращения данного штрафа Decimal подготовил специальный сервис - Decimal Guard. Инструкция по установке находится здесь. Этот сервис мониторит процесс подписания блоков для конкретной ноды и при необходимости отправляет транзакцию Set Offline, которая деактивирует мастерноду до того, как на неё будет наложен штраф. Срабатывание Guard происходит при указанном пороговом значении количества пропущенных блоков, которое настраивается. Транзакция Set Offline создаётся и подписывается заранее, а при срабатывании Guard просто отправляет её в сеть. Для следующей деактивации потребуется новая транзакция, сохранённая в Guard.
5%.
Также штрафом наказываются валидаторы, совершающие попытку мошеннических действий в процессе установления консенсуса. А именно при подписи 2 разных блоков одинаковой высоты во время раундов верификации и голосования за блок кандидатов. То есть при подписи двух версий одного и того же блока.
Процедура механизма консенсуса представлена в Yellow Paper стр. 13.
Это серьёзное нарушение, которое может привести к форкам блокчейна. В случае появления форка часть пользователей сети будет ориентироваться на один вариант состояния блокчейна (транзакции, балансы счетов), в то время как другая часть пользователей будет ориентироваться на второй вариант цепочки блоков уже с другим состоянием и балансами.
В этом случае валидатор будет наказан 5% штрафом. Средства пользователей не отвязываются от оштрафованного валидатора. Но нода валидатора принудительно деактивируется. Для возвращения ноды в строй валидаторов и участии в консенсусе валидатор должен заново активировать ноду (транзакцией Set Online).
Ещё раз,
- Отсутствие подписи в течение 12 блоков из последних 24 блоков - штраф на 1% стейка + деактивирование валидатора;
- Двойная подпись - штраф на 5% общего стейка и деактивирование валидатора.
Более подробное и детальное описание атаки с двойной подписью описано в документации Tendermint (англ.).
Важное замечание:
Сумма штрафа (1% или 5%) безвозвратно сжигается, уменьшая эмиссию соответствующих монет.
Вознаграждения и штрафы распределяются пропорционально доли средств делегатора в совокупном стэйке валидатора. Если валидатор получит 5% штраф, то значит и делегатор получит такой же 5% штраф автоматически.
Делегатор несёт личную ответственность за свой выбор валидатора, поэтому этот выбор надо делать очень тщательно.