---
title: Gasper
description: "Объяснение механизма доказательства доли владения Gasper."
lang: ru
---

Gasper — это комбинация Casper the Friendly Finality Gadget (Каспер FFG) и алгоритма выбора форка LMD-GHOST. Вместе эти компоненты образуют механизм консенсуса, обеспечивающий безопасность Эфириума на основе доказательства доли владения (PoS). Casper — это механизм, который переводит определенные блоки в статус «финализированных», чтобы новые участники сети могли быть уверены, что они синхронизируют каноническую цепь. Алгоритм выбора форка использует накопленные голоса, чтобы узлы могли легко выбрать правильную цепь при возникновении форков в блокчейне.

**Примечание:** оригинальное определение Каспер FFG было немного обновлено для включения в Gasper. На этой странице мы рассматриваем обновленную версию.

## Предварительные требования {#prerequisites}

Для понимания этого материала необходимо прочитать вводную страницу о [доказательстве доли владения (PoS)](/developers/docs/consensus-mechanisms/pos/).

## Роль Gasper {#role-of-gasper}

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

## Что такое финальность? {#what-is-finality}

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

1. Две трети от общего количества эфира в стейке должны проголосовать за включение этого блока в каноническую цепь. Это условие переводит блок в статус «обоснованного». Обоснованные блоки вряд ли будут отменены, но это может произойти при определенных условиях.
2. Когда другой блок обосновывается поверх обоснованного блока, он переводится в статус «финализированного». Финализация блока — это коммитмент включить блок в каноническую цепь. Он не может быть отменен, если только злоумышленник не уничтожит миллионы эфира (миллиарды долларов США).

Эти обновления статуса блоков происходят не в каждом слоте. Вместо этого только блоки на границе эпохи могут быть обоснованы и финализированы. Эти блоки известны как «контрольные точки». Обновление статуса рассматривает пары контрольных точек. Между двумя последовательными контрольными точками должна существовать «связь абсолютного большинства» (т. е. две трети от общего количества эфира в стейке голосуют за то, что контрольная точка B является правильным потомком контрольной точки A), чтобы перевести более старую контрольную точку в статус финализированной, а более новую — в статус обоснованной.

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

1. Владения или манипулирования двумя третями от общего количества эфира в стейке.
2. Уничтожения как минимум одной трети от общего количества эфира в стейке.

Первое условие возникает потому, что для финализации цепи требуются две трети эфира в стейке. Второе условие возникает потому, что если две трети от общего стейка проголосовали за оба форка, то одна треть должна была проголосовать за оба. Двойное голосование — это условие для слэшинга, которое будет максимально наказано, и одна треть от общего стейка будет уничтожена. По состоянию на май 2022 года это требует от злоумышленника сжечь эфир на сумму около 10 миллиардов долларов. Алгоритм, который обосновывает и финализирует блоки в Gasper, представляет собой слегка модифицированную форму [Casper the Friendly Finality Gadget (Каспер FFG)](https://arxiv.org/pdf/1710.09437.pdf).

### Стимулы и слэшинг {#incentives-and-slashing}

Валидаторы получают вознаграждение за честное предложение и валидацию блоков. Эфир выплачивается в качестве вознаграждения и добавляется к их стейку. С другой стороны, валидаторы, которые отсутствуют и не действуют при вызове, упускают эти вознаграждения и иногда теряют небольшую часть своего существующего стейка. Однако штрафы за нахождение в автономном режиме невелики и в большинстве случаев сводятся к альтернативным издержкам упущенных вознаграждений. Тем не менее, некоторые действия валидатора очень трудно совершить случайно, и они свидетельствуют о некотором злом намерении, например, предложение нескольких блоков для одного и того же слота, аттестация нескольких блоков для одного и того же слота или противоречие предыдущим голосам за контрольные точки. Это поведение, подлежащее слэшингу, которое наказывается более сурово — слэшинг приводит к уничтожению некоторой части стейка валидатора и удалению валидатора из сети валидаторов. Этот процесс занимает 36 дней. В первый день налагается первоначальный штраф в размере до 1 ETH. Затем эфир подвергнутого слэшингу валидатора медленно утекает в течение периода выхода, но на 18-й день он получает «корреляционный штраф», который тем больше, чем больше валидаторов подвергаются слэшингу примерно в то же время. Максимальный штраф — это весь стейк. Эти вознаграждения и штрафы предназначены для стимулирования честных валидаторов и предотвращения атак на сеть.

### Утечка при бездействии {#inactivity-leak}

Помимо безопасности, Gasper также обеспечивает «правдоподобную живучесть» (plausible liveness). Это условие, при котором до тех пор, пока две трети от общего количества эфира в стейке голосуют честно и следуют протоколу, цепь сможет финализироваться независимо от любой другой активности (такой как атаки, проблемы с задержкой или слэшинги). Иными словами, одна треть от общего количества эфира в стейке должна быть каким-то образом скомпрометирована, чтобы предотвратить финализацию цепи. В Gasper есть дополнительная линия защиты от сбоя живучести, известная как «утечка при бездействии». Этот механизм активируется, когда цепь не может финализироваться более четырех эпох. У валидаторов, которые активно не аттестуют цепь большинства, их стейк постепенно истощается до тех пор, пока большинство не восстановит две трети от общего стейка, гарантируя, что сбои живучести носят лишь временный характер.

### Выбор форка {#fork-choice}

Оригинальное определение Каспер 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» (жадное самое тяжелое наблюдаемое поддерево, управляемое последними сообщениями). Это перегруженный жаргоном способ определить алгоритм, который выбирает форк с наибольшим накопленным весом аттестаций в качестве канонического (жадное самое тяжелое поддерево) и который, если от валидатора получено несколько сообщений, учитывает только последнее (управляемое последними сообщениями). Прежде чем добавить самый тяжелый блок в свою каноническую цепь, каждый валидатор оценивает каждый блок, используя это правило.

## Дополнительная литература {#further-reading}

- [Gasper: объединение GHOST и Casper](https://arxiv.org/pdf/2003.03052.pdf)
- [Casper the Friendly Finality Gadget](https://arxiv.org/pdf/1710.09437.pdf)