Що таке слешинг?

Фото - Що таке слешинг?
Багато хто знає, що блокчейни Proof-of-Stake заохочують своїх валідаторів. Але мало хто знає, як їх карають. У цій статті розберемося з поняттям слешингу та його ефективністю.
Слешинг — це механізм покарання валідаторів, дії яких суперечать правилам роботи блокчейну. Він є одним із компонентів консенсусу, що призначений для стримування, а не заохочення.

Алгоритм консенсусу Proof-of-Stake

За допомогою Proof-of-Stake вузли-валідатори доходять згоди щодо стану блокчейну. Це дозволяє мережі бути децентралізованою та убезпечує. Слешинг є унікальним явищем, яке характерне саме для PoS-блокчейнів.

Розробники прагнуть або унеможливити шахрайство з боку валідатора, або зробити його невигідним. Реалізація такого підходу залежить від типу консенсусу:

  • у Proof-of-Work — за допомогою особливої вимогливості до обчислювальної потужності;
  • у Proof-of-Stake — за допомогою слешингу.

Валідатори зберігають історію та підтверджують транзакції, додають їх у блоки, а також виконують інші дії, що спрямовані на забезпечення роботи мережі. В обмін на свої зусилля, час та обчислювальну потужність вони отримують нові монети.

У блокчейні постійно виконуються операції. Будь-яка затримка або збій у консенсусі можуть спричинити зупинку або інші негативні наслідки. Тому валідаторам необхідний не лише стимул, а й покарання, яке стримуватиме від неправомірних дій.

Стейкінг

Стейкінг — це блокування в мережі певної кількості токенів для отримання доступу до участі в консенсусі. У такий спосіб валідатор підтверджує намір проводити лише законну активність. У разі неправомірних дій до цих токенів буде застосовано слешинг.
Роль стейкінгу та принцип роботи PoS. Джерело: shiksha.com

Роль стейкінгу та принцип роботи PoS. Джерело: shiksha.com

Кожна мережа самостійно встановлює мінімальну суму токенів, які необхідно заблокувати, щоб стати валідатором, наприклад:

  • BNB Smart Chain — 10 000 BNB;
  • Solana — 0,01 SOL;
  • Ethereum — 32 ETH.

Очевидно, що не кожен може відповідати цим критеріям, і навіть технічно розгорнути власний вузол-валидатор. Тому у PoS є ще одна роль — делегатор. Це користувач, який делегує свої токени валідатору для участі в консенсусі.

Такий підхід зменшує поріг входу у стейкінг, а також сприяє децентралізації мережі. Хоча делегатор не може безпосередньо брати участь у консенсусі, йому стає доступною можливість участі у голосуваннях.

Делегатор має обрати добросовісного валідатора, оскільки у разі слешингу покараний буде і делегатор.

Причини та наслідки слешингу

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

  1. Простій валідатора. Якщо вузол-валідатор не бере участі у процесі консенсусу протягом певного часу, мережа сприймає це як ознаку його ненадійності. Тому за подібні дії до валідатора застосовується слешинг.
  2. Подвійний підпис. Щоб уникнути слешингу за простій, валідатори запускають ідентичну резервну установку, яка може брати участь у консенсусі, якщо основний вузол вийшов з ладу. Однак це створює ризик подвійного підпису, коли ідентичний ключ валідатора підписує блок двічі.

Наслідками слешингу може бути не лише втрата статусу валідатора, а й заблокованих для роботи токенів. Штраф залежить від причин слешингу, а також інших факторів, які є індивідуальними для кожної окремої мережі.

Простій валідатора переважно спричиняє відрахування певної кількості токенів. Тоді як подвійний підпис загрожує валідатору втратою більшої частини заблокованих активів або відстороненням від участі у консенсусі.

Слешинг у Ethereum

У вересні 2022 року Ethereum повністю перейшов на алгоритм консенсусу Proof-of-Stake. У його мережі можуть скластися три ситуації, за яких до валідатора буде застосовано слешинг:

  • пропозиція та підписання двох блоків для одного і того самого слота (періоду часу для пропозиції блоку — 12 секунд);
  • голосування за вихідну (останній блок попередньої епохи) та цільову (перший блок поточної епохи) контрольні точки, за яких точки однієї атестації перебувають всередині або оточують точки іншої;
  • голосування за 2 цільові контрольні точки в одній епосі.

За умови виявлення якоїсь із цих дій до валідатора застосовується слешинг. У такому разі 1/32 частина його стейкінгу спалюється (максимум 1 ETH), після чого починається 36-денний період відсторонення від участі в консенсусі.
Життєвий цикл валідатора Ethereum. Джерело: attestant.io

Життєвий цикл валідатора Ethereum. Джерело: attestant.io

Протягом цього часу заблоковані токени валідатора поступово зникають. Він не тільки позбавляється винагороди, але й отримує штраф у розмірі близько 8000 Gwei (0,000008 ETH) за кожну пропущену епоху (приблизно 6,4 хвилини). Зрештою, втрачає близько 0,07 ETH.

На 18-й день після застосування слешингу валідатор сплачує штраф. Його сума залежить від загальної кількості застейканих ETH у всіх валідаторів, до яких був застосований слешинг упродовж останніх 36 днів. Очевидно, що зі збільшенням кількості таких валідаторів розмір штрафу також зростає.

Цей штраф називається кореляційним і визначається так:

  1. Розраховується сума ефективних балансів (баланс на момент слешингу) всіх валідаторів, до яких було застосовано слешинг упродовж 36 днів.
  2. Ця сума помножується на параметр PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX (значення якого дорівнює 3) та обмежується загальним балансом стейка всіх валідаторів Ethereum.
  3. Ефективний баланс недобросовісного валідатора помножується на результат з пункту №2.
  4. Результат із пункту №3 ділять на загальний баланс стейка всіх валідаторів Ethereum.

Розглянемо приклад, у якому валідатор із сумою стейкінгу 32 ETH підписав два блоки для одного і того самого слота 1 лютого 2024 року.

До нього застосовується слешинг і він втрачає 1 ETH. Через 18 днів з'ясовується, що протягом 36-денного періоду (за 18 днів до і 18 днів після застосування слешингу) в мережі ETH було виявлено 10 таких самих недобросовісних валідаторів. Отже, сума штрафу буде більшою, ніж у ситуації, де таких валідаторів було б 5.

Витік бездіяльності

Якщо консенсус не завершується протягом чотирьох епох, у мережі активується протокол витоку бездіяльності. 

Щоб досягти консенсусу щодо стану блокчейну, ⅔ всіх валідаторів повинні узгодити вихідну (останній блок попередньої епохи) та цільову (перший блок поточної епохи) точки. Якщо понад ⅓ валідаторів проявлять бездіяльність, то решта не зможе “домовитися”.

За допомогою витоку бездіяльності стейк неактивних валідаторів поступово зменшується. Це відбувається, доки загальна кількість таких валідаторів не стане меншою ⅓ від загального стейку всіх учасників консенсусу.
Частка втрати стейку протягом витоку бездіяльності. Джерело: github.com

Частка втрати стейку протягом витоку бездіяльності. Джерело: github.com

Тому, хай який великий буде пул неактивних валідаторів, зрештою вони контролюватимуть менше ⅓ всього стеку, що дозволить решті валідаторів продовжити консенсус.

Висновок

Слешинг — це ефективний спосіб протидії порушенням з боку валідаторів. Він допомагає убезпечити мережу від навмисних і ненавмисних дій. Його ефективність підтверджена статистикою.

Від моменту запуску Beacon Chain (компонент Ethereum, який відповідає за Proof-of-Stake) 1 грудня 2020 року і до 15 лютого 2024-го слешинг був застосований 414 разів. Зважаючи на те, що кількість активних валідаторів у мережі становить 940 398, зі слешингом стикнулися лише 0,04% із них.

Пише про DeFi та криптовалюти через призму технологій.