Вознаграждения и штрафы (PoS)
Последнее обновление страницы: 26 февраля 2026 г.
Для обеспечения безопасности Ethereum используется его родная криптовалюта - эфир (ETH). Операторы узлов, желающие участвовать в проверке блоков и определении заголовка цепи, вносят эфир (ether) в депозитный контракт в сети Ethereum. Затем они получают вознаграждение в эфире (ether) за запуск программного обеспечения валидатора, которое проверяет действительность новых блоков, полученных по одноранговой сети, и применяет алгоритм выбора форка для определения заголовка цепи.
У валидатора есть две основные роли: 1) проверка новых блоков и их "аттестация" (подтверждение), если они действительны, 2) предложение новых блоков при случайном выборе из общего пула валидаторов. Если валидатор не выполняет одну из этих задач, когда это требуется, он лишается выплаты в эфире (ether). Валидаторам также иногда поручается агрегация подписей и участие в комитетах синхронизации.
Однако некоторые действия очень трудно выполнить случайно и они указывают на какой-либо злой умысел, например, предложение нескольких блоков в одной и той же ячейке, или аттестация сразу нескольких блоков в одной и той же ячейке. Это наказуемое слэшингом поведение, в результате которого у валидатора сжигается определенное количество эфира (до 1 ETH), прежде чем валидатор будет удален из сети, что занимает 36 дней. Эфир валидатора, подвергшегося слэшингу, медленно списывается в течение периода выхода, но на 18-й день он получает "корреляционный штраф", который увеличивается, когда примерно в одно и то же время слэшингу подвергаются другие валидаторы. Таким образом, структура стимулов механизма консенсуса вознаграждает за честность и наказывает недобросовестных участников.
Все вознаграждения и штрафы применяются один раз в эпоху.
Читайте далее, чтобы узнать подробнее...
Вознаграждения и штрафы
Вознаграждения
Валидаторы получают вознаграждения, когда их голоса совпадают с голосами большинства других валидаторов, когда они предлагают блоки и когда они участвуют в комитетах синхронизации. Размер вознаграждений в каждой эпохе рассчитывается на основе base_reward. Это базовая единица, на основе которой рассчитываются другие вознаграждения. base_reward представляет собой среднее вознаграждение, получаемое валидатором при оптимальных условиях за эпоху. Оно рассчитывается на основе эффективного баланса валидатора и общего числа активных валидаторов следующим образом:
1base_reward = effective_balance * (base_reward_factor / (base_rewards_per_epoch * sqrt(sum(active_balance))))где base_reward_factor равен 64, base_rewards_per_epoch равен 4, а sum(active balance) — это общая сумма эфира в стейкинге у всех активных валидаторов.
Это означает, что базовое вознаграждение пропорционально эффективному балансу валидатора и обратно пропорционально количеству валидаторов в сети. Чем больше валидаторов, тем выше общая Эмиссия (как sqrt(N)), но тем меньше base_reward на одного валидатора (как 1/sqrt(N)). Эти факторы влияют на годовую процентную ставку (APR) для узла стейкинга. Обоснование этого читайте в заметках Виталика (opens in a new tab).
Общее вознаграждение рассчитывается как сумма пяти компонентов, каждый из которых имеет вес, определяющий, сколько каждый компонент добавляет к общему вознаграждению. Вот их перечень:
11. голосование за источник: валидатор своевременно проголосовал за правильную исходную контрольную точку22. голосование за цель: валидатор своевременно проголосовал за правильную целевую контрольную точку33. голосование за заголовок: валидатор своевременно проголосовал за правильный заголовочный блок44. вознаграждение комитета синхронизации: валидатор участвовал в комитете синхронизации55. вознаграждение предложившего: валидатор предложил блок в правильном слотеВесовые коэффициенты для каждого компонента следующие:
1TIMELY_SOURCE_WEIGHT uint64(14)2TIMELY_TARGET_WEIGHT uint64(26)3TIMELY_HEAD_WEIGHT uint64(14)4SYNC_REWARD_WEIGHT uint64(2)5PROPOSER_WEIGHT uint64(8)Их сумма составляет 64. Вознаграждение рассчитывается как сумма применимых весов, деленная на 64. Валидатор, который своевременно проголосовал за источник, цель и заголовок, предложил блок и участвовал в комитете синхронизации, может получить 64/64 * base_reward == base_reward. Однако валидатор обычно не является автором блока, поэтому его максимальное вознаграждение составляет 64-8 /64 * base_reward == 7/8 * base_reward. Валидаторы, которые не являются ни авторами блоков, ни членами комитета синхронизации, могут получить 64-8-2 / 64 * base_reward == 6.75/8 * base_reward.
Для стимулирования быстрых аттестаций добавляется дополнительное вознаграждение. Это inclusion_delay_reward. Его значение равно base_reward, умноженному на 1/delay, где delay — это количество слотов между предложением блока и аттестацией. Например, если аттестация отправлена в течение одного слота после предложения блока, аттестующий получает base_reward * 1/1 == base_reward. Если аттестация поступает в следующем слоте, аттестующий получает base_reward * 1/2 и так далее.
Авторы блоков получают 8 / 64 * base_reward за каждую действительную аттестацию, включенную в блок, поэтому фактический размер вознаграждения масштабируется в зависимости от количества аттестующих валидаторов. Авторы блоков также могут увеличить свое вознаграждение, включив в предложенный блок доказательства неправомерного поведения других валидаторов. Эти вознаграждения — «пряники», поощряющие честность валидаторов. Автор блока, который включает слэшинг, будет вознагражден slashed_validators_effective_balance / 512.
Штрафы
До сих пор мы рассматривали идеально работающих валидаторов, но что насчет валидаторов, которые не голосуют своевременно за заголовок, источник и цель или делают это медленно?
Штрафы за пропуск голосов за цель и источник равны вознаграждениям, которые аттестующий получил бы, если бы отправил их. Это означает, что вместо добавления вознаграждения к их балансу с их баланса списывается эквивалентная сумма. За пропуск голосования за заголовок штраф не предусмотрен (т. е. голосование за заголовок только вознаграждается, но никогда не наказывается). Штрафа, связанного с inclusion_delay, не существует — вознаграждение просто не будет добавлено на баланс валидатора. Также нет штрафа за неспособность предложить блок.
Подробнее о вознаграждениях и штрафах читайте в спецификациях консенсуса (opens in a new tab). Вознаграждения и штрафы были скорректированы в обновлении Bellatrix — посмотрите, как Дэнни Райан и Виталик обсуждают это в видео Peep an EIP (opens in a new tab).
Слэшинг
Слэшинг — это более суровое действие, которое приводит к принудительному удалению валидатора из сети и сопутствующей потере его эфира в стейкинге. Существует три способа, которыми валидатор может быть подвергнут слэшингу, все они сводятся к нечестному предложению или аттестации блоков:
- Предложение и подписание двух разных блоков для одного и того же слота
- Аттестация блока, который "окружает" другой блок (фактически изменяя историю)
- "Двойное голосование" путем аттестации двух кандидатов на один и тот же блок
При обнаружении этих действий валидатор подвергается слэшингу. Это означает, что 0,0078125 немедленно сжигается для валидатора с 32 ETH (масштабируется линейно с активным балансом), затем начинается 36-дневный период удаления. В течение этого периода удаления доля валидатора постепенно уменьшается. В середине периода (на 18-й день) применяется дополнительный штраф, размер которого зависит от общей суммы эфира в стейкинге всех валидаторов, подвергшихся слэшингу за 36 дней до события слэшинга. Это означает, что чем больше валидаторов подвергается слэшингу, тем больше размер слэшинга. Максимальный слэшинг — это полный эффективный баланс всех валидаторов, подвергшихся слэшингу (т. е. если слэшингу подвергается много валидаторов, они могут потерять всю свою долю). С другой стороны, единичный, изолированный случай слэшинга сжигает лишь небольшую часть доли валидатора. Этот срединный штраф, который масштабируется в зависимости от количества валидаторов, подвергшихся слэшингу, называется "корреляционным штрафом".
Утечка из-за неактивности
Если уровень консенсуса не финализировался более четырех эпох, активируется экстренный протокол под названием "утечка из-за неактивности". Конечная цель утечки из-за неактивности — создать условия, необходимые для восстановления финализации цепи. Как объяснялось выше, для финализации требуется, чтобы 2/3 большинства от общего объема эфира в стейкинге согласовали исходную и целевую контрольные точки. Если валидаторы, составляющие более 1/3 от общего числа, уходят в оффлайн или не предоставляют корректные аттестации, то супербольшинство в 2/3 не сможет финализировать контрольные точки. Утечка из-за неактивности приводит к тому, что доля неактивных валидаторов постепенно уменьшается, пока они не будут контролировать менее 1/3 от общей доли, что позволяет оставшимся активным валидаторам финализировать цепь. Независимо от размера пула неактивных валидаторов, оставшиеся активные валидаторы в конечном итоге будут контролировать >2/3 доли. Потеря доли является сильным стимулом для неактивных валидаторов как можно скорее возобновить работу! Сценарий утечки из-за неактивности произошел в тестовой сети Medalla, когда менее 66 % активных валидаторов смогли достичь консенсуса по поводу текущего заголовка блокчейна. Была активирована утечка из-за неактивности, и в конечном итоге финализация была восстановлена!
Дизайн вознаграждений, штрафов и слэшинга в механизме консенсуса поощряет отдельных валидаторов вести себя корректно. Однако из этих проектных решений возникает система, которая сильно стимулирует равномерное распределение валидаторов между несколькими клиентами и должна сильно препятствовать доминированию одного клиента.
Дополнительные материалы
- Обновление Ethereum: уровень стимулов (opens in a new tab)
- Стимулы в гибридном протоколе Casper в Ethereum (opens in a new tab)
- Аннотированная спецификация от Виталика (opens in a new tab)
- Советы по предотвращению слэшинга в Eth2 (opens in a new tab)
- Анализ штрафов за слэшинг в рамках EIP-7251 (opens in a new tab)
Источники