Proof-of-stake (PoS)
Останні оновлення сторінки: 26 лютого 2026 р.
Доказ частки (PoS) лежить в основі механізму консенсусу Ethereum. Ethereum перейшов на механізм доказу частки у 2022 році, оскільки він є більш безпечним, менш енергоємним і кращим для впровадження нових рішень для масштабування порівняно з попередньою архітектурою доказу виконаної роботи.
Передумови
Для кращого розуміння цієї сторінки ми рекомендуємо вам спочатку ознайомитися з механізмами консенсусу.
Що являє собою підтвердження ставки (PoS)?
Доказ частки — це спосіб довести, що валідатори вклали в мережу щось цінне, що може бути знищене, якщо вони діятимуть нечесно. У системі доказу частки Ethereum валідатори явно вкладають капітал у формі ETH у смарт-контракт на Ethereum. Потім валідатор відповідає за перевірку того, що нові блоки, які поширюються мережею, є дійсними, а також за періодичне створення та поширення нових блоків. Якщо вони намагатимуться обдурити мережу (наприклад, пропонуючи кілька блоків, коли вони повинні надіслати один, або надсилаючи суперечливі атестації), частина або вся їхня частка в ETH може бути знищена.
Валідатори
Щоб стати валідатором, користувач повинен внести 32 ETH на депозитний контракт і запустити три окремі програми: клієнт виконання, клієнт консенсусу та клієнт валідатора. Після внесення ETH користувач потрапляє в чергу активації, яка обмежує швидкість приєднання нових валідаторів до мережі. Після активації валідатори отримують нові блоки від пірів у мережі Ethereum. Транзакції, доставлені в блоці, виконуються повторно, щоб перевірити, чи є запропоновані зміни в стані Ethereum дійсними, і перевіряється підпис блоку. Потім валідатор надсилає голос (який називається атестацією) на користь цього блоку по всій мережі.
Тоді як у системі доказу виконаної роботи час створення блоків визначається складністю майнінгу, у системі доказу частки темп є фіксованим. Час у системі доказу частки Ethereum ділиться на слоти (12 секунд) та епохи (32 слоти). У кожному слоті випадковим чином обирається один валідатор, який стає пропонувачем блоку. Цей валідатор відповідає за створення нового блоку та його розсилку іншим вузлам у мережі. Також у кожному слоті випадковим чином обирається комітет валідаторів, голоси яких використовуються для визначення дійсності запропонованого блоку. Розподіл набору валідаторів на комітети важливий для підтримки керованого навантаження на мережу. Комітети розподіляють набір валідаторів таким чином, щоб кожен активний валідатор атестував у кожній епосі, але не в кожному слоті.
Як виконується транзакція в Ethereum PoS
Нижче наведено повне пояснення того, як транзакція виконується в системі доказу частки Ethereum.
- Користувач створює та підписує транзакцію своїм приватним ключем. Зазвичай це робиться через гаманець або бібліотеку, таку як ethers.js (opens in a new tab), web3js (opens in a new tab), web3py (opens in a new tab) тощо, але насправді користувач робить запит до вузла за допомогою JSON-RPC API Ethereum. Користувач визначає кількість газу, яку він готовий заплатити як чайові валідатору, щоб заохотити його включити транзакцію в блок. Чайові виплачуються валідатору, тоді як базова комісія спалюється.
- Транзакція подається до клієнта виконання Ethereum, який перевіряє її дійсність. Це означає перевірку того, чи має відправник достатньо ETH для виконання транзакції та чи підписав він її правильним ключем.
- Якщо транзакція дійсна, клієнт виконання додає її до свого локального мемпулу (списку очікуваних транзакцій), а також транслює її іншим вузлам через мережу пліток рівня виконання. Коли інші вузли дізнаються про транзакцію, вони також додають її до свого локального мемпулу. Досвідчені користувачі можуть утриматися від трансляції своєї транзакції та натомість переслати її спеціалізованим конструкторам блоків, таким як Flashbots Auction (opens in a new tab). Це дає їм змогу організовувати транзакції в майбутніх блоках для отримання максимального прибутку (MEV).
- Один із вузлів-валідаторів у мережі є пропонувачем блоку для поточного слоту, попередньо обраний псевдовипадковим чином за допомогою RANDAO. Цей вузол відповідає за створення та трансляцію наступного блоку, який буде додано до блокчейну Ethereum, та оновлення глобального стану. Вузол складається з трьох частин: клієнта виконання, клієнта консенсусу та клієнта валідатора. Клієнт виконання об’єднує транзакції з локального мемпулу в "корисне навантаження виконання" та виконує їх локально, щоб згенерувати зміну стану. Ця інформація передається до клієнта консенсусу, де корисне навантаження виконання загортається як частина "блоку-маяка", який також містить інформацію про винагороди, штрафи, слешинг, атестації тощо, що дає змогу мережі домовитися про послідовність блоків на чолі ланцюга. Зв’язок між клієнтами виконання та консенсусу детальніше описаний у розділі Підключення клієнтів консенсусу та виконання.
- Інші вузли отримують новий блок-маяк у мережі пліток рівня консенсусу. Вони передають його своєму клієнту виконання, де транзакції виконуються повторно локально, щоб переконатися, що запропонована зміна стану є дійсною. Потім клієнт валідатора атестує, що блок є дійсним і є логічним наступним блоком у його баченні ланцюга (тобто він будується на ланцюзі з найбільшою вагою атестацій, як визначено в правилах вибору форку). Блок додається до локальної бази даних у кожному вузлі, який його атестує.
- Транзакція може вважатися "фіналізованою", якщо вона стала частиною ланцюга зі "зв’язком супербільшості" між двома контрольними точками. Контрольні точки створюються на початку кожної епохи, і вони існують для того, щоб врахувати той факт, що лише частина активних валідаторів атестує в кожному слоті, але всі активні валідатори атестують протягом кожної епохи. Тому «зв’язок супербільшості» може бути продемонстрований лише між епохами (це коли 66% від загальної суми вкладених ETH у мережі погоджуються щодо двох контрольних точок).
Більше деталей про завершення можна знайти нижче.
Завершеність
Транзакція має "завершення" в розподілених мережах, коли вона є частиною блоку, який неможливо змінити без спалювання великої кількості ETH. В Ethereum на доказі частки це керується за допомогою блоків "контрольних точок". Перший блок у кожній епосі є контрольною точкою. Валідатори голосують за пари контрольних точок, які вони вважають дійсними. Якщо пара контрольних точок набирає голоси, що представляють щонайменше дві третини від загальної суми вкладених ETH, контрольні точки оновлюються. Новіша з двох (цільова) стає "обґрунтованою". Рання з двох уже обґрунтована, оскільки вона була "цільовою" в попередній епосі. Тепер вона оновлюється до статусу "фіналізованої". Цей процес оновлення контрольних точок обробляється Casper the Friendly Finality Gadget (Casper-FFG) (opens in a new tab). Casper-FFG — це інструмент завершення блоку для консенсусу. Після того як блок фіналізовано, його не можна скасувати або змінити без слешингу більшості стейкерів, що робить це економічно невигідним.
Щоб скасувати фіналізований блок, зловмисник повинен буде втратити щонайменше третину від загальної суми вкладених ETH. Точна причина цього пояснюється в цьому дописі в блозі Ethereum Foundation (opens in a new tab). Оскільки завершення вимагає більшості у дві третини, зловмисник може перешкодити мережі досягти завершення, голосуючи однією третиною від загальної частки. Існує механізм захисту від цього: витік через неактивність (opens in a new tab). Він активується щоразу, коли ланцюжок не вдається фіналізувати протягом понад чотирьох епох. Витік через неактивність поступово зменшує частку ETH у валідаторів, які голосують проти більшості, дозволяючи більшості відновити дві третини голосів і фіналізувати ланцюжок.
Крипто-економічна безпека
Запуск валідатора — це зобов’язання. Очікується, що валідатор підтримуватиме достатнє апаратне забезпечення та підключення до мережі для участі у валідації та пропонуванні блоків. Натомість валідатор отримує винагороду в ETH (його баланс частки збільшується). З іншого боку, участь як валідатор також відкриває нові можливості для користувачів атакувати мережу для особистої вигоди чи саботажу. Щоб запобігти цьому, валідатори втрачають винагороди в ETH, якщо вони не беруть участі в роботі, коли це потрібно, а їхня існуюча частка може бути знищена, якщо вони діють нечесно. Дві основні поведінки можуть вважатися нечесними: пропонування кількох блоків в одному слоті (двозначність) і подання суперечливих атестацій.
Розмір слешингу ETH залежить від того, скільки валідаторів також підлягають слешингу приблизно в той самий час. Це відомо як "кореляційний штраф" (opens in a new tab), і він може бути незначним (~1% частки для одного валідатора, підданого слешингу) або може призвести до знищення 100% частки валідатора (подія масового слешингу). Він накладається на півдорозі періоду примусового виходу, який починається з негайного штрафу (до 1 ETH) у день 1, кореляційного штрафу в день 18 і, нарешті, виключення з мережі в день 36. Вони щодня отримують незначні штрафи за атестацію, оскільки присутні в мережі, але не подають голоси. Все це означає, що скоординована атака буде дуже дорогою для зловмисника.
Вибір форку
Коли мережа працює оптимально та чесно, на чолі ланцюга завжди є лише один новий блок, і всі валідатори його атестують. Однак валідатори можуть мати різні уявлення про початок ланцюга через затримку в мережі або тому, що пропонувач блоку створив неоднозначність. Тому клієнтам консенсусу потрібен алгоритм, щоб вирішити, якому з них віддати перевагу. Алгоритм, що використовується в Ethereum на доказі частки, називається LMD-GHOST (opens in a new tab), і він працює, визначаючи форк, який має найбільшу вагу атестацій у своїй історії.
Доказ частки та безпека
Загроза атаки 51% (opens in a new tab) все ще існує в системі доказу частки, як і в системі доказу виконаної роботи, але для зловмисників вона ще ризикованіша. Зловмиснику знадобиться 51% вкладених ETH. Потім вони могли б використовувати власні атестації, щоб переконатися, що їхній бажаний форк був тим, що мав найбільше накопичених атестацій. «Вага» накопичених атестацій — це те, що клієнти консенсусу використовують для визначення правильного ланцюга, тому цей зловмисник зможе зробити свій форк канонічним. Однак перевагою доказу частки над доказом виконаної роботи є те, що спільнота має гнучкість у організації контратаки. Наприклад, чесні валідатори могли б вирішити продовжувати будувати на міноритарному ланцюзі та ігнорувати форк зловмисника, заохочуючи додатки, біржі та пули робити те ж саме. Вони також могли б вирішити примусово видалити зловмисника з мережі та знищити його вкладені ETH. Це сильні економічні засоби захисту від атаки 51%.
Крім атак 51%, зловмисники можуть також спробувати інші види зловмисних дій, такі як:
- атаки з великої відстані (хоча гаджет завершення нейтралізує цей вектор атаки)
- короткострокові «реорги» (хоча підвищення пропонувача та кінцеві терміни атестації пом’якшують це)
- атаки відскоку та балансування (також пом'якшуються підвищенням пропонувача, і ці атаки в будь-якому випадку були продемонстровані лише в ідеалізованих умовах мережі)
- лавинні атаки (нейтралізуються правилом алгоритмів вибору форку, яке враховує лише останнє повідомлення)
Загалом, доказ частки, як він реалізований на Ethereum, продемонстрував, що є більш економічно безпечним, ніж доказ виконаної роботи.
Переваги та недоліки
| Переваги | Недоліки |
|---|---|
| Стейкінг полегшує участь окремих осіб у захисті мережі, сприяючи децентралізації. вузол валідатора можна запустити на звичайному ноутбуці. Пули для стейкінгу дозволяють користувачам стейкати, не маючи 32 ETH. | Доказ частки є новішим і менш перевіреним у боях порівняно з доказом виконаної роботи |
| Стейкінг більше децентралізований. Ефект масштабу не застосовується так само, як для майнінгу PoW. | Доказ частки складніший у реалізації, ніж доказ виконаної роботи |
| Доказ частки пропонує більшу крипто-економічну безпеку, ніж доказ виконаної роботи | Користувачам потрібно запустити три програми для участі в системі доказу частки Ethereum. |
| Для стимулювання учасників мережі потрібна менша емісія нових ETH |
Порівняння з доказом виконаної роботи
Спочатку Ethereum використовував доказ виконаної роботи, але у вересні 2022 року перейшов на доказ частки. PoS пропонує кілька переваг над PoW, наприклад:
- краща енергоефективність – не потрібно витрачати багато енергії на обчислення доказу виконаної роботи
- нижчі бар'єри для входу, зменшені вимоги до обладнання – не потрібно елітного обладнання, щоб мати шанс створювати нові блоки
- зменшений ризик централізації – доказ частки має призвести до більшої кількості вузлів, що захищають мережу
- через низькі енергетичні вимоги для стимулювання участі потрібна менша емісія ETH
- економічні штрафи за неправомірну поведінку роблять атаки типу 51% дорожчими для зловмисника порівняно з доказом виконаної роботи
- спільнота може вдатися до соціального відновлення чесного ланцюга, якщо атака 51% подолає крипто-економічний захист.
Для подальшого читання
- Поширені питання про доказ частки (opens in a new tab) Віталік Бутерін
- Що таке доказ частки (opens in a new tab) ConsenSys
- Що таке доказ частки і чому це важливо (opens in a new tab) Віталік Бутерін
- Чому доказ частки (листопад 2020) (opens in a new tab) Віталік Бутерін
- Доказ частки: як я навчився любити слабку суб'єктивність (opens in a new tab) Віталік Бутерін
- Атаки та захист Ethereum на доказі частки (opens in a new tab)
- Філософія дизайну доказу частки (opens in a new tab) Віталік Бутерін
- Відео: Віталік Бутерін пояснює доказ частки Лексу Фрідману (opens in a new tab)