Винагороди та штрафи за доказом частки
Останні оновлення сторінки: 26 лютого 2026 р.
Безпека Ethereum забезпечується за допомогою його власної криптовалюти - ефіру (ETH). Оператори вузлів, які бажають брати участь у валідації блоків і визначенні голови ланцюжка, вносять Ether у депозитний контракт в мережі Ethereum. Потім їм платять ефіром за запуск програмного забезпечення-валідатора, яке перевіряє дійсність нових блоків, отриманих через пірингову мережу, і застосовує алгоритм вибору виделки для визначення голови ланцюжка.
Валідатор виконує дві основні ролі: 1) перевірка нових блоків і "засвідчення" їхньої валідності, 2) пропонування нових блоків при випадковому виборі із загального пулу валідаторів. Якщо валідатор не виконає жодного з цих завдань, він не отримає виплату ефіру. Іноді валідаторам також доручають збирати підписи та брати участь у синхронізаційних комітетах.
Існують також деякі дії, які дуже важко зробити випадково і які свідчать про зловмисні наміри, наприклад, пропозиція декількох блоків для одного слоту або підтвердження декількох блоків для одного слоту. Так звана піддатлива до зменшення поведінка призводить до того, що валідатор спалює деяку кількість ефіру (до 1 ETH) до того, як валідатора буде видалено з мережі, що триває 36 днів. Ефір скороченого валідатора повільно стікає протягом періоду виходу, але на 18-ий день вони отримують «кореляційний штраф», який стає більшим, коли більше валідаторів скорочуються приблизно в той самий час. Таким чином, структура стимулів механізму консенсусу платить за чесність і карає поганих гравців.
Всі нагороди та покарання застосовуються один раз за епоху.
Читайте далі, щоб дізнатися більше...
Винагороди та штрафи
Винагороди
Валідатори отримують винагороду, коли вони голосують так, як більшість інших валідаторів, коли вони пропонують блоки і коли вони беруть участь у комітетах синхронізації. Розмір винагород у кожну епоху розраховується на основі base_reward. Це базова одиниця, від якої розраховуються інші винагороди. base_reward — це середня винагорода, яку отримує валідатор за оптимальних умов за епоху. Він розраховується на основі ефективного балансу валідатора та загальної кількості активних валідаторів таким чином:
1base_reward = effective_balance * (base_reward_factor / (base_rewards_per_epoch * sqrt(sum(active_balance))))де base_reward_factor — це 64, base_rewards_per_epoch — 4, а sum(active balance) — це загальна сума застейканого Ether для всіх активних валідаторів.
Це означає, що базова винагорода пропорційна ефективному балансу валідатора та обернено пропорційна кількості валідаторів у мережі. Чим більше валідаторів, тим більший загальний випуск (як sqrt(N)), але тим менший base_reward на валідатора (як 1/sqrt(N)). Ці фактори впливають на APR для вузла стейкінгу. Прочитайте обґрунтування цього в записах Віталіка (opens in a new tab).
Загальна винагорода розраховується як сума п'яти компонентів, кожен з яких має вагу, що визначає, скільки кожен компонент додає до загальної винагороди. Цими компонентами є:
11. source vote: the validator has made a timely vote for the correct source checkpoint22. target vote: the validator has made a timely vote for the correct target checkpoint33. head vote: the validator has made a timely vote for the correct head block44. sync committee reward: the validator has participated in a sync committee55. proposer reward: the validator has proposed a block in the correct slotВагові коефіцієнти для кожного компонента є наступними:
1TIMELY_SOURCE_WEIGHT uint64(14)2TIMELY_TARGET_WEIGHT uint64(26)3TIMELY_HEAD_WEIGHT uint64(14)4SYNC_REWARD_WEIGHT uint64(2)5PROPOSER_WEIGHT uint64(8)Сума цих вагових коефіцієнтів дорівнює 64. Винагорода розраховується як сума відповідних вагових коефіцієнтів, поділена на 64. Валідатор, який своєчасно проголосував за джерело, ціль і голову, запропонував блок і взяв участь у комітеті синхронізації, може отримати 64/64 * base_reward == base_reward. Однак зазвичай валідатор не є автором пропозиції блоку, тому його максимальна винагорода становить 64-8 /64 * base_reward == 7/8 * base_reward. Валідатори, які не є ані авторами пропозицій блоків, ані членами комітету синхронізації, можуть отримати 64-8-2 / 64 * base_reward == 6.75/8 * base_reward.
Додаткова винагорода додається для стимулювання швидкого проходження атестації. Це і є inclusion_delay_reward. Це значення дорівнює base_reward, помноженому на 1/delay, де delay — це кількість слотів між пропозицією блоку та атестацією. Наприклад, якщо атестація подається в межах одного слоту від пропозиції блоку, атестувальник отримує base_reward * 1/1 == base_reward. Якщо атестація надходить у наступному слоті, атестувальник отримує base_reward * 1/2 і так далі.
Автори пропозицій блоків отримують 8 / 64 * base_reward за кожну дійсну атестацію, включену в блок, тому фактичний розмір винагороди масштабується залежно від кількості валідаторів, що атестують. Автори пропозицій блоків також можуть збільшити свою винагороду, включивши докази неправомірної поведінки інших валідаторів у свій запропонований блок. Ці винагороди — це «пряники», які заохочують чесність валідаторів. Автор пропозиції блоку, що включає слешинг, буде винагороджений сумою slashed_validators_effective_balance / 512.
Штрафи
Досі ми розглядали валідаторів, які поводяться ідеально, але як щодо валідаторів, які не голосують своєчасно за голову, джерело та ціль або роблять це повільно?
Штрафи за пропуск голосувань за ціль і джерело дорівнюють винагородам, які атестувальник отримав би, якби подав їх. Це означає, що замість додавання винагороди до їхнього балансу, з їхнього балансу знімається еквівалентна сума. За пропуск голосування за голову штраф не стягується (тобто голосування за голову лише винагороджуються, але ніколи не штрафуються). Штраф, пов’язаний із inclusion_delay, відсутній — винагорода просто не буде додана до балансу валідатора. Також немає штрафу за невдалу пропозицію блоку.
Дізнайтеся більше про винагороди та штрафи в специфікаціях консенсусу (opens in a new tab). Винагороди та штрафи були скориговані в оновленні Bellatrix — дивіться, як Денні Раян і Віталік обговорюють це у відео Peep an EIP (opens in a new tab).
Слешинг
Слешинг — це більш сувора дія, яка призводить до примусового вилучення валідатора з мережі та пов’язаної з цим втрати його застейканого Ether. Існує три способи, як валідатор може бути підданий слешингу, і всі вони зводяться до нечесної пропозиції або атестації блоків:
- Пропозиція та підписання двох різних блоків для одного й того ж слоту.
- Атестація блоку, що "оточує" інший (фактично змінюючи історію).
- Шляхом "подвійного голосування" через атестацію двох кандидатів на один і той же блок.
Якщо ці дії будуть виявлені, валідатор буде підданий слешингу. Це означає, що 0,0078125 негайно спалюється для валідатора з 32 ETH (лінійно масштабується з активним балансом), після чого починається 36-денний період вилучення. Протягом цього періоду вилучення частка валідатора поступово зменшується. У середині періоду (на 18-й день) застосовується додатковий штраф, розмір якого залежить від загальної суми застейканого Ether усіх валідаторів, підданих слешингу за 36 днів до події слешингу. Це означає, що чим більше валідаторів піддаються слешингу, тим більшим є його розмір. Максимальний слешинг — це повний ефективний баланс усіх валідаторів, які були піддані слешингу (тобто, якщо слешингу піддається багато валідаторів, вони можуть втратити всю свою частку). З іншого боку, одна окрема подія слешингу спалює лише невелику частину частки валідатора. Цей проміжний штраф, що масштабується з кількістю валідаторів, підданих слешингу, називається "кореляційним штрафом".
Витік через неактивність
Якщо на шарі консенсусу протягом більш ніж чотирьох епох не відбувається фіналізація, активується екстрений протокол під назвою "витік через неактивність". Кінцевою метою витоку через неактивність є створення умов, необхідних для відновлення фіналізації ланцюжка. Як пояснювалося вище, для фіналізації потрібна згода більшості у 2/3 від загальної кількості застейканого Ether щодо вихідної та цільової контрольних точок. Якщо валідатори, що представляють понад 1/3 від загальної кількості валідаторів, виходять з мережі або не подають правильні атестації, то супербільшість у 2/3 не може фіналізувати контрольні точки. Витік через неактивність дозволяє частці неактивних валідаторів поступово зменшуватися, доки вони не контролюватимуть менше 1/3 загальної частки, що дозволить решті активних валідаторів фіналізувати ланцюжок. Незалежно від розміру пулу неактивних валідаторів, решта активних валідаторів зрештою контролюватиме >2/3 частки. Втрата частки є сильним стимулом для неактивних валідаторів якнайшвидше відновити активність! Сценарій витоку через неактивність стався в тестовій мережі Medalla, коли менше ніж 66 % активних валідаторів змогли досягти консенсусу щодо поточної голови блокчейну. Було активовано витік через неактивність, і фіналізацію зрештою було відновлено!
Дизайн винагород, штрафів і слешингу в механізмі консенсусу заохочує окремих валідаторів поводитися правильно. Однак із цих проектних рішень виникає система, яка сильно стимулює рівномірний розподіл валідаторів між кількома клієнтами та має сильно перешкоджати домінуванню одного клієнта.
Для подальшого читання
- Оновлення Ethereum: стимулюючий шар (opens in a new tab)
- Стимули в гібридному протоколі Casper Ethereum (opens in a new tab)
- Анотована специфікація Віталіка (opens in a new tab)
- Поради щодо запобігання слешингу в Eth2 (opens in a new tab)
- Аналіз штрафів за слешинг згідно з EIP-7251 (opens in a new tab)
Джерела