Proof of Stake в Ethereum: как работают валидаторы, стейкинг, слашинг и чем PoS отличается от майнинга

15 сентября 2022 года Ethereum перешёл с Proof of Work на Proof of Stake — событие, известное как The Merge. С этого момента безопасность сети обеспечивают не майнеры с ASIC-фермами, а валидаторы, заблокировавшие собственные ETH в качестве залога. PoS снизил энергопотребление сети на порядки и создал фундамент для дальнейших решений масштабируемости.

Что такое Proof of Stake​


Proof of Stake — механизм консенсуса, при котором право предлагать и подтверждать блоки определяется количеством криптовалюты, заблокированной участником в качестве залога (стейка). В отличие от PoW, где безопасность обеспечивается вычислительной работой и расходом электричества, в PoS безопасность обеспечивается экономическим интересом: валидатор рискует потерять часть залога при нарушении правил протокола.

Каждая нода-валидатор хранит полную копию истории транзакций и участвует в голосовании за подлинность новых блоков. Криптовалюта в стейкинге выступает залогом честного поведения — это делает атаку на сеть экономически невыгодной.

Требования к валидатору​


Для запуска ноды-валидатора в Ethereum необходимо заблокировать ровно 32 ETH. Это минимальная и фиксированная сумма — нельзя застейкать 16 ETH и получить половину прав валидатора.

Помимо залога, оператору ноды требуется:

  • Выделенный сервер или стабильная машина с непрерывным доступом в интернет
  • Клиент исполнения (execution client) и клиент консенсуса (consensus client)
  • Синхронизация с сетью до момента активации валидатора

Если 32 ETH недоступны, существует вариант делегирования: пользователь передаёт монеты пулу стейкинга или протоколу ликвидного стейкинга, получая вознаграждение пропорционально вкладу без необходимости самостоятельно управлять нодой.

Как выбирается валидатор для предложения блока​


В каждом слоте протокол псевдослучайно выбирает одного валидатора, который предлагает новый блок. Вероятность выбора пропорциональна размеру стейка: чем больше ETH заблокировано, тем выше шанс быть выбранным.

Остальные валидаторы в этом слоте выполняют роль аттестаторов (attesters): они проверяют предложенный блок и голосуют за его валидность. Новый блок выдвигает специальная «предлагающая нода», которая выбирается сетью для текущего временного интервала. Именно она отвечает за наполнение нового блока транзакциями и его последующую передачу другим нодам на проверку.

Структура времени: слоты и эпохи​


Время в PoS-версии Ethereum организовано иерархически:

ЕдиницаДлительностьНазначение
Слот12 секундОдин блок предлагается и аттестуется
Эпоха32 слота (6,4 минуты)Период для голосования за чекпоинты и финализации

Каждый слот — это окно, в течение которого назначенный валидатор предлагает блок, а остальные голосуют за него. Если валидатор не успевает предложить блок за 12 секунд, слот считается пропущенным.

Финализация блоков​


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

Механизм работает через контрольные точки (checkpoints):

  1. Первый блок каждой эпохи становится чекпоинтом.
  2. Валидаторы голосуют за чекпоинты наряду с обычными блоками.
  3. Если чекпоинт получает голоса от валидаторов, контролирующих не менее 2/3 всего застейканного ETH, он получает статус «оправданного» (justified).
  4. Когда следующий чекпоинт также становится оправданным, предыдущий повышается до «финализированного» (finalized).

Финализированный блок невозможно откатить без потери как минимум 1/3 всего ETH в стейкинге. Это делает финализацию экономически защищённой: стоимость атаки превышает потенциальную выгоду.

Слашинг: наказание за нарушения​


Слашинг (slashing) — механизм принудительного сокращения залога валидатора за вредоносное или безответственное поведение. Протокол автоматически применяет штраф, когда обнаруживает нарушение.

Основные причины слашинга:

  • Двойное голосование (double vote): валидатор подписал два разных блока для одного и того же слота. Это прямое противоречие правилам консенсуса.
  • Окружающее голосование (surround vote): валидатор подписал аттестацию, которая «окружает» предыдущую — то есть голосует за более длинный диапазон, перекрывающий уже подтверждённый.

Размер штрафа зависит от тяжести нарушения и от того, сколько валидаторов одновременно совершили аналогичное действие. При массовом слашинге (что может указывать на координированную атаку) штрафы увеличиваются пропорционально.

После слашинга валидатор принудительно исключается из активного набора и не может участвовать в консенсусе в течение определённого периода.

Даунтайм и inactivity leak​


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

Если более 1/3 валидаторов одновременно офлайн и финализация останавливается, протокол применяет механизм inactivity leak: баланс неактивных валидаторов постепенно снижается, пока их доля не упадёт ниже 2/3. Это позволяет оставшимся активным валидаторам восстановить финализацию без внешнего вмешательства.

Чем PoS отличается от PoW​


ПараметрProof of WorkProof of Stake
Ресурс для безопасностиЭлектроэнергия и вычислительная мощностьЗаблокированная криптовалюта (стейк)
УчастникиМайнерыВалидаторы
Порог входаДорогое оборудование (ASIC, GPU)32 ETH
Стоимость атаки 51%Аренда или покупка majority хешрейтаПокупка 51% застейканного ETH
ЭнергопотреблениеВысокоеМинимальное
Наказание за атакуПотеря затрат на электричествоПотеря залога (слашинг)

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

Модель безопасности​


Для успешной атаки на Ethereum в режиме PoS злоумышленнику необходимо контролировать значительную долю застейканного ETH. Для отката финализированного блока потребуется как минимум 1/3 всего ETH в стейкинге — и при попытке такой атаки протокол сожжёт эту долю через слашинг. Для более серьёзных атак, направленных на реорганизацию цепочки, потребуется ещё большая доля, что делает подобные сценарии экономически нецелесообразными.

Учитывая объём ETH в стейкинге и его рыночную стоимость, такая атака крайне маловероятна: атакующий потратит огромную сумму на покупку ETH, а в случае обнаружения потеряет её через слашинг.

Вывод средств из стейкинга​


До апреля 2023 года застейканные ETH и награды были заблокированы — вывести их было невозможно. Обновление Shanghai активировало функциональность вывода. С этого момента валидаторы могут покинуть активный набор и получить свой баланс обратно, а также выводить накопленные вознаграждения.

После подачи заявки на выход валидатор проходит очередь ожидания, длительность которой зависит от количества одновременно выходящих участников.

Практические риски для оператора валидатора​


Если вы планируете запускать собственную ноду-валидатор, учитывайте:

  • Даунтайм — самая частая причина потерь. Нестабильное интернет-соединение, отказ диска или ошибка в конфигурации клиента приводят к пропуску слотов и снижению баланса.
  • Двойная подпись — возникает при запуске двух экземпляров одного валидатора с одинаковыми ключами (например, на основном и резервном сервере без переключения). Это гарантированный слашинг.
  • Рассинхронизация клиентов — если execution client отстаёт от consensus client, валидатор может подписать некорректный блок.

Для минимизации рисков используйте мониторинг доступности, не дублируйте ключи валидатора на нескольких машинах одновременно и обновляйте клиентское ПО своевременно.

Что дальше​


PoS стал базой для дорожной карты масштабирования Ethereum. Следующий крупный этап — данкшардинг, который разделит нагрузку на сеть и увеличит пропускную способность за счёт публикации данных в отдельных «шардах». Полноценная реализация этих решений ещё впереди, но именно переход на PoS сделал их архитектурно возможными.

Источники​


 
Назад
Верх Низ