Перейти к основному содержанию
Change page

Gasper

Последнее обновление страницы: 21 октября 2025 г.

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

Обратите внимание, что первоначальное определение Casper-FFG было немного обновлено для включения в Gasper. На этой странице мы рассмотрим обновленную версию.

Прежде чем начать

Чтобы понять этот материал, необходимо прочитать вводную страницу о доказательстве владения.

Роль Gasper

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

Что такое окончательность?

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

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

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

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

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

Первое условие возникает потому, что для завершения цепочки требуется две трети всего застейканного эфира. Второе условие возникает потому, что бы две трети от общего застейканного эфира проголосовали за два форка, то как минимум одна его треть должна была проголосовать сразу за оба. Двойное голосование — это наказуемое урезанием условие, от которого одна треть от общего количества застейканного эфира была бы уничтожена. На момент мая 2022 года для этого злоумышленнику потребуется сжечь эфира на сумму около 10 миллиардов долларов. Алгоритм, который обосновывает и финализирует блоки в Gasper, представляет собой немного измененную форму Casper the Friendly Finality Gadget (Casper-FFG) (opens in a new tab).

Стимулы и Tallant

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

Утечка из-за неактивности

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

Выбор форка

Первоначальное определение Casper-FFG включало алгоритм выбора форка, который устанавливал правило: следовать за цепочкой, содержащей обоснованную контрольную точку с наибольшей высотой, где высота определяется как наибольшее расстояние от генезис-блока. В Gasper оригинальное правило выбора форка устарело в пользу более сложного алгоритма под названием LMD-GHOST. Важно понимать, что при обычных условиях правило выбора форка не требуется: для каждой ячейки существует один предлагающий блок валидатор, а другие честные валидаторы подтверждают это. Только в случаях большой асинхронности сети или когда недобросовестный валидатор, предлагающий блок, дал двусмысленные показания, требуется алгоритм выбора форка. Однако, когда такие случаи действительно возникают, алгоритм выбора форка является критической защитой, которая гарантирует правильность цепочки.

LMD-GHOST расшифровывается и дословно переводится как "движимое последним сообщением жадное самое тяжелое наблюдаемое поддерево". Это перегруженный жаргоном способ определения алгоритма, который выбирает ответвление с наибольшим накопленным весом подтверждений валидаторов в качестве канонического (жадное поддерево с наибольшим весом) и, если от валидатора получено несколько сообщений, учитывает только самое последнее (движимое последними сообщениями). Прежде чем добавить блок с наибольшим весом в свою каноническую цепочку, каждый валидатор оценивает каждый блок, используя это правило.

Дополнительные материалы

Была ли эта статья полезной?