Gasper
Gasper — это комбинация Casper the Friendly Finality Gadget (Каспер FFG) и алгоритма выбора форка LMD-GHOST. Вместе эти компоненты образуют механизм консенсуса, обеспечивающий безопасность Эфириума на основе доказательства доли владения (PoS). Casper — это механизм, который переводит определенные блоки в статус «финализированных», чтобы новые участники сети могли быть уверены, что они синхронизируют каноническую цепь. Алгоритм выбора форка использует накопленные голоса, чтобы узлы могли легко выбрать правильную цепь при возникновении форков в блокчейне.
Примечание: оригинальное определение Каспер FFG было немного обновлено для включения в Gasper. На этой странице мы рассматриваем обновленную версию.
Предварительные требования
Для понимания этого материала необходимо прочитать вводную страницу о доказательстве доли владения (PoS).
Роль Gasper
Gasper работает поверх блокчейна на основе доказательства доли владения, где узлы предоставляют эфир в качестве гарантийного депозита, который может быть уничтожен, если они ленивы или нечестны при предложении или валидации блоков. Gasper — это механизм, определяющий, как валидаторы получают вознаграждения и наказания, решают, какие блоки принимать и отклонять, и на каком форке блокчейна строить дальше.
Что такое финальность?
Финальность — это свойство определенных блоков, означающее, что они не могут быть отменены, если только не произошел критический сбой консенсуса и злоумышленник не уничтожил как минимум 1/3 от общего количества эфира в стейке. Финализированные блоки можно рассматривать как информацию, в которой блокчейн уверен. Блок должен пройти двухэтапную процедуру обновления статуса, чтобы стать финализированным:
- Две трети от общего количества эфира в стейке должны проголосовать за включение этого блока в каноническую цепь. Это условие переводит блок в статус «обоснованного». Обоснованные блоки вряд ли будут отменены, но это может произойти при определенных условиях.
- Когда другой блок обосновывается поверх обоснованного блока, он переводится в статус «финализированного». Финализация блока — это коммитмент включить блок в каноническую цепь. Он не может быть отменен, если только злоумышленник не уничтожит миллионы эфира (миллиарды долларов США).
Эти обновления статуса блоков происходят не в каждом слоте. Вместо этого только блоки на границе эпохи могут быть обоснованы и финализированы. Эти блоки известны как «контрольные точки». Обновление статуса рассматривает пары контрольных точек. Между двумя последовательными контрольными точками должна существовать «связь абсолютного большинства» (т. е. две трети от общего количества эфира в стейке голосуют за то, что контрольная точка B является правильным потомком контрольной точки A), чтобы перевести более старую контрольную точку в статус финализированной, а более новую — в статус обоснованной.
Поскольку финальность требует согласия двух третей о том, что блок является каноническим, злоумышленник не может создать альтернативную финализированную цепь без:
- Владения или манипулирования двумя третями от общего количества эфира в стейке.
- Уничтожения как минимум одной трети от общего количества эфира в стейке.
Первое условие возникает потому, что для финализации цепи требуются две трети эфира в стейке. Второе условие возникает потому, что если две трети от общего стейка проголосовали за оба форка, то одна треть должна была проголосовать за оба. Двойное голосование — это условие для слэшинга, которое будет максимально наказано, и одна треть от общего стейка будет уничтожена. По состоянию на май 2022 года это требует от злоумышленника сжечь эфир на сумму около 10 миллиардов долларов. Алгоритм, который обосновывает и финализирует блоки в Gasper, представляет собой слегка модифицированную форму Casper the Friendly Finality Gadget (Каспер FFG) (opens in a new tab).
Стимулы и слэшинг
Валидаторы получают вознаграждение за честное предложение и валидацию блоков. Эфир выплачивается в качестве вознаграждения и добавляется к их стейку. С другой стороны, валидаторы, которые отсутствуют и не действуют при вызове, упускают эти вознаграждения и иногда теряют небольшую часть своего существующего стейка. Однако штрафы за нахождение в автономном режиме невелики и в большинстве случаев сводятся к альтернативным издержкам упущенных вознаграждений. Тем не менее, некоторые действия валидатора очень трудно совершить случайно, и они свидетельствуют о некотором злом намерении, например, предложение нескольких блоков для одного и того же слота, аттестация нескольких блоков для одного и того же слота или противоречие предыдущим голосам за контрольные точки. Это поведение, подлежащее слэшингу, которое наказывается более сурово — слэшинг приводит к уничтожению некоторой части стейка валидатора и удалению валидатора из сети валидаторов. Этот процесс занимает 36 дней. В первый день налагается первоначальный штраф в размере до 1 ETH. Затем эфир подвергнутого слэшингу валидатора медленно утекает в течение периода выхода, но на 18-й день он получает «корреляционный штраф», который тем больше, чем больше валидаторов подвергаются слэшингу примерно в то же время. Максимальный штраф — это весь стейк. Эти вознаграждения и штрафы предназначены для стимулирования честных валидаторов и предотвращения атак на сеть.
Утечка при бездействии
Помимо безопасности, Gasper также обеспечивает «правдоподобную живучесть» (plausible liveness). Это условие, при котором до тех пор, пока две трети от общего количества эфира в стейке голосуют честно и следуют протоколу, цепь сможет финализироваться независимо от любой другой активности (такой как атаки, проблемы с задержкой или слэшинги). Иными словами, одна треть от общего количества эфира в стейке должна быть каким-то образом скомпрометирована, чтобы предотвратить финализацию цепи. В Gasper есть дополнительная линия защиты от сбоя живучести, известная как «утечка при бездействии». Этот механизм активируется, когда цепь не может финализироваться более четырех эпох. У валидаторов, которые активно не аттестуют цепь большинства, их стейк постепенно истощается до тех пор, пока большинство не восстановит две трети от общего стейка, гарантируя, что сбои живучести носят лишь временный характер.
Выбор форка
Оригинальное определение Каспер FFG включало алгоритм выбора форка, который устанавливал правило: follow the chain containing the justified checkpoint that has the greatest height, где высота определяется как наибольшее расстояние от генезис-блока. В Gasper оригинальное правило выбора форка устарело в пользу более сложного алгоритма под названием LMD-GHOST. Важно понимать, что в нормальных условиях правило выбора форка не нужно — для каждого слота есть только один предлагающий блок, и честные валидаторы аттестуют его. Алгоритм выбора форка требуется только в случаях сильной асинхронности сети или когда нечестный предлагающий блок ведет себя двусмысленно. Однако, когда такие случаи возникают, алгоритм выбора форка является критически важной защитой, обеспечивающей безопасность правильной цепи.
LMD-GHOST расшифровывается как «latest message-driven greedy heaviest observed sub-tree» (жадное самое тяжелое наблюдаемое поддерево, управляемое последними сообщениями). Это перегруженный жаргоном способ определить алгоритм, который выбирает форк с наибольшим накопленным весом аттестаций в качестве канонического (жадное самое тяжелое поддерево) и который, если от валидатора получено несколько сообщений, учитывает только последнее (управляемое последними сообщениями). Прежде чем добавить самый тяжелый блок в свою каноническую цепь, каждый валидатор оценивает каждый блок, используя это правило.
Дополнительная литература
- Gasper: объединение GHOST и Casper (opens in a new tab)
- Casper the Friendly Finality Gadget (opens in a new tab)
Последнее обновление страницы: 3 апреля 2026 г.