Gasper
Gasper — це комбінація Casper the Friendly Finality Gadget (Каспер FFG) та алгоритму вибору форка LMD-GHOST. Разом ці компоненти утворюють механізм консенсусу, що захищає Етеріум на базі доказу частки (PoS). Casper — це механізм, який оновлює певні блоки до «фіналізованих», щоб нові учасники мережі могли бути впевнені, що вони синхронізують канонічний ланцюг. Алгоритм вибору форка використовує накопичені голоси, щоб гарантувати, що вузли можуть легко вибрати правильний ланцюг, коли в блокчейні виникають форки.
Примітка: оригінальне визначення Каспер FFG було трохи оновлено для включення в Gasper. На цій сторінці ми розглядаємо оновлену версію.
Передумови
Щоб зрозуміти цей матеріал, необхідно прочитати вступну сторінку про доказ частки (PoS).
Роль Gasper
Gasper працює поверх блокчейну з доказом частки (PoS), де вузли надають етер як гарантійний депозит, який може бути знищений, якщо вони ліниві або нечесні під час пропонування чи перевірки блоків. 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 р.