15 сентября 2022 года Ethereum перешёл с Proof of Work на Proof of Stake — событие, известное как The Merge. С этого момента безопасность сети обеспечивают не майнеры с ASIC-фермами, а валидаторы, заблокировавшие собственные ETH в качестве залога. PoS снизил энергопотребление сети на порядки и создал фундамент для дальнейших решений масштабируемости.
Proof of Stake — механизм консенсуса, при котором право предлагать и подтверждать блоки определяется количеством криптовалюты, заблокированной участником в качестве залога (стейка). В отличие от PoW, где безопасность обеспечивается вычислительной работой и расходом электричества, в PoS безопасность обеспечивается экономическим интересом: валидатор рискует потерять часть залога при нарушении правил протокола.
Каждая нода-валидатор хранит полную копию истории транзакций и участвует в голосовании за подлинность новых блоков. Криптовалюта в стейкинге выступает залогом честного поведения — это делает атаку на сеть экономически невыгодной.
Для запуска ноды-валидатора в Ethereum необходимо заблокировать ровно 32 ETH. Это минимальная и фиксированная сумма — нельзя застейкать 16 ETH и получить половину прав валидатора.
Помимо залога, оператору ноды требуется:
Если 32 ETH недоступны, существует вариант делегирования: пользователь передаёт монеты пулу стейкинга или протоколу ликвидного стейкинга, получая вознаграждение пропорционально вкладу без необходимости самостоятельно управлять нодой.
В каждом слоте протокол псевдослучайно выбирает одного валидатора, который предлагает новый блок. Вероятность выбора пропорциональна размеру стейка: чем больше ETH заблокировано, тем выше шанс быть выбранным.
Остальные валидаторы в этом слоте выполняют роль аттестаторов (attesters): они проверяют предложенный блок и голосуют за его валидность. Новый блок выдвигает специальная «предлагающая нода», которая выбирается сетью для текущего временного интервала. Именно она отвечает за наполнение нового блока транзакциями и его последующую передачу другим нодам на проверку.
Время в PoS-версии Ethereum организовано иерархически:
Каждый слот — это окно, в течение которого назначенный валидатор предлагает блок, а остальные голосуют за него. Если валидатор не успевает предложить блок за 12 секунд, слот считается пропущенным.
Подтверждение транзакции в Ethereum проходит несколько стадий. Блок, включённый в цепочку, ещё не является необратимым — теоретически его можно откатить при реорганизации. Необратимость наступает только после финализации.
Механизм работает через контрольные точки (checkpoints):
Финализированный блок невозможно откатить без потери как минимум 1/3 всего ETH в стейкинге. Это делает финализацию экономически защищённой: стоимость атаки превышает потенциальную выгоду.
Слашинг (slashing) — механизм принудительного сокращения залога валидатора за вредоносное или безответственное поведение. Протокол автоматически применяет штраф, когда обнаруживает нарушение.
Основные причины слашинга:
Размер штрафа зависит от тяжести нарушения и от того, сколько валидаторов одновременно совершили аналогичное действие. При массовом слашинге (что может указывать на координированную атаку) штрафы увеличиваются пропорционально.
После слашинга валидатор принудительно исключается из активного набора и не может участвовать в консенсусе в течение определённого периода.
Даунтайм — период, в течение которого валидатор находится в офлайне и не выполняет свои обязанности. В строгом смысле даунтайм не является слашингом, но приводит к постепенному снижению баланса валидатора. Протокол штрафует неактивных участников, пока они не вернутся в сеть или их баланс не упадёт ниже порога исключения из активного набора.
Если более 1/3 валидаторов одновременно офлайн и финализация останавливается, протокол применяет механизм inactivity leak: баланс неактивных валидаторов постепенно снижается, пока их доля не упадёт ниже 2/3. Это позволяет оставшимся активным валидаторам восстановить финализацию без внешнего вмешательства.
В PoW злоумышленник тратит электричество на подбор хеша и в случае неудачи теряет только операционные расходы. В PoS атакующий рискует непосредственно капиталом: при попытке двойного подписания или реорганизации финализированной цепочки протокол сжигает его стейк.
Для успешной атаки на Ethereum в режиме PoS злоумышленнику необходимо контролировать значительную долю застейканного ETH. Для отката финализированного блока потребуется как минимум 1/3 всего ETH в стейкинге — и при попытке такой атаки протокол сожжёт эту долю через слашинг. Для более серьёзных атак, направленных на реорганизацию цепочки, потребуется ещё большая доля, что делает подобные сценарии экономически нецелесообразными.
Учитывая объём ETH в стейкинге и его рыночную стоимость, такая атака крайне маловероятна: атакующий потратит огромную сумму на покупку ETH, а в случае обнаружения потеряет её через слашинг.
До апреля 2023 года застейканные ETH и награды были заблокированы — вывести их было невозможно. Обновление Shanghai активировало функциональность вывода. С этого момента валидаторы могут покинуть активный набор и получить свой баланс обратно, а также выводить накопленные вознаграждения.
После подачи заявки на выход валидатор проходит очередь ожидания, длительность которой зависит от количества одновременно выходящих участников.
Если вы планируете запускать собственную ноду-валидатор, учитывайте:
Для минимизации рисков используйте мониторинг доступности, не дублируйте ключи валидатора на нескольких машинах одновременно и обновляйте клиентское ПО своевременно.
PoS стал базой для дорожной карты масштабирования Ethereum. Следующий крупный этап — данкшардинг, который разделит нагрузку на сеть и увеличит пропускную способность за счёт публикации данных в отдельных «шардах». Полноценная реализация этих решений ещё впереди, но именно переход на 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):
- Первый блок каждой эпохи становится чекпоинтом.
- Валидаторы голосуют за чекпоинты наряду с обычными блоками.
- Если чекпоинт получает голоса от валидаторов, контролирующих не менее 2/3 всего застейканного ETH, он получает статус «оправданного» (justified).
- Когда следующий чекпоинт также становится оправданным, предыдущий повышается до «финализированного» (finalized).
Финализированный блок невозможно откатить без потери как минимум 1/3 всего ETH в стейкинге. Это делает финализацию экономически защищённой: стоимость атаки превышает потенциальную выгоду.
Слашинг: наказание за нарушения
Слашинг (slashing) — механизм принудительного сокращения залога валидатора за вредоносное или безответственное поведение. Протокол автоматически применяет штраф, когда обнаруживает нарушение.
Основные причины слашинга:
- Двойное голосование (double vote): валидатор подписал два разных блока для одного и того же слота. Это прямое противоречие правилам консенсуса.
- Окружающее голосование (surround vote): валидатор подписал аттестацию, которая «окружает» предыдущую — то есть голосует за более длинный диапазон, перекрывающий уже подтверждённый.
Размер штрафа зависит от тяжести нарушения и от того, сколько валидаторов одновременно совершили аналогичное действие. При массовом слашинге (что может указывать на координированную атаку) штрафы увеличиваются пропорционально.
После слашинга валидатор принудительно исключается из активного набора и не может участвовать в консенсусе в течение определённого периода.
Даунтайм и inactivity leak
Даунтайм — период, в течение которого валидатор находится в офлайне и не выполняет свои обязанности. В строгом смысле даунтайм не является слашингом, но приводит к постепенному снижению баланса валидатора. Протокол штрафует неактивных участников, пока они не вернутся в сеть или их баланс не упадёт ниже порога исключения из активного набора.
Если более 1/3 валидаторов одновременно офлайн и финализация останавливается, протокол применяет механизм inactivity leak: баланс неактивных валидаторов постепенно снижается, пока их доля не упадёт ниже 2/3. Это позволяет оставшимся активным валидаторам восстановить финализацию без внешнего вмешательства.
Чем PoS отличается от PoW
| Параметр | Proof of Work | Proof 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 сделал их архитектурно возможными.
