Як працює виведення в Етеріумі?
Як працює виведення зі стейкінгу в Етеріумі після оновлення Шанхай/Capella, включаючи технічний процес, чергу на виведення та те, що потрібно знати стейкерам про доступ до їхнього застейканого ETH.
Date published: 30 березня 2023 р.
Пояснення від Фінематікс про те, як працює виведення зі стейкінгу в Етеріумі після оновлення Шанхай/Capella, включаючи механіку часткового та повного виведення, поширені хибні уявлення та наслідки для екосистеми стейкінгу.
Ця стенограма є доступною копією оригінальної стенограми відео (opens in a new tab), опублікованої Фінематікс. Її було трохи відредаговано для зручності читання.
Сигнальний ланцюг (0:31)
З наближенням оновлення Шанхай/Capella ведеться багато дискусій щодо виведення зі стейкінгу в Етеріумі та того, що це означає для екосистеми Етеріуму в цілому.
Почнімо з розуміння того, як ми до цього дійшли і чому виведення зі стейкінгу не було ввімкнено, коли Етеріум перейшов від доказу виконання роботи (PoW) до доказу частки (PoS).
Перехід до доказу частки відбувався в кілька етапів, щоб мінімізувати кількість великих змін, що відбуваються одночасно. Цей підхід був надзвичайно важливим, особливо для усталеної мережі, яка щорічно обробляє транзакції на трильйони доларів. Найважливішими кроками були: запуск сигнального ланцюга та Злиття.
Запуск сигнального ланцюга у 2020 році заклав основу для переходу, створивши окремий рівень консенсусу на основі доказу частки, який працював паралельно з ланцюгом доказу виконання роботи Етеріуму. Ранній запуск сигнального ланцюга дозволив накопичити достатньо ETH для захисту мережі перед обробкою транзакцій з реальною цінністю. Це також дозволило тестувати нову модель консенсусу на основі доказу частки протягом тривалого періоду з реальними коштами у стейку.
Перші учасники мережі внесли мільйони ETH для захисту мережі Етеріуму на основі доказу частки, незважаючи на те, що знали, що не зможуть вивести свої ETH ще дуже довго.
Наступний великий крок, Злиття, об'єднав рівень консенсусу на основі доказу частки з рівнем виконання. Це дозволило нарешті відмовитися від доказу виконання роботи та підтримувати лише один канонічний ланцюг — Етеріум, — який тепер захищений мільйонами застейканих ETH. Злиття стало найбільшою зміною в історії Етеріуму. Через характер оновлення воно мало відбутися без жодних простоїв.
Щоб мінімізувати ризики, масштаб Злиття було зменшено, і жодні інші функції — окрім переходу від доказу виконання роботи до доказу частки — не були включені до оновлення. Найбільше «скорочення», яке довелося зробити, вплинуло на виведення, що стало головною темою майбутнього оновлення Шанхай/Capella.
Виведення (2:09)
Виведення зі стейкінгу, як випливає з назви, дозволить стейкерам виводити свої заблоковані ETH. Існує два типи виведення: «часткове» та «повне».
Часткове виведення відбувається, коли валідатор виводить свої накопичені винагороди — додатковий баланс понад максимальний ефективний баланс у 32 ETH. Часткове виведення також може називатися «виплатою винагороди» або «виплатою надлишкового балансу».
Повне виведення відбувається, коли валідатор завершив процес виходу і виводиться весь баланс. Це стається лише тоді, коли валідатор виходить із системи добровільно або примусово видаляється в процесі, який називається «слешинг».
Після ввімкнення виведення зі стейкінгу автоматично розподілятиметься кожні кілька днів. Крім того, процес виведення ініціюється на рівні консенсусу, тому на жодному з етапів не стягується комісія за транзакцію.
Щоб почати виводити свої винагороди за стейкінг, валідатор повинен буде надати свою адресу для виведення лише один раз. Оскільки виведення впливає як на рівень консенсусу, так і на рівень виконання Етеріуму, обидві частини мережі мають бути оновлені. «Шанхай» — це назва оновлення рівня виконання, що містить виведення, які визначені в EIP-4895. «Capella» — це назва відповідного оновлення рівня консенсусу, яке активується одночасно. Ці два оновлення іноді також називають «Шапелла».
Механіка (3:40)
В екосистемі Етеріуму кожен валідатор має відповідний номер індексу. Крім того, вони також мають два типи облікових даних для виведення, визначених як 0x00 або 0x01.
0x00 вказує на те, що конкретний валідатор не має пов'язаної адреси для виведення. Ці облікові дані отримуються як хеш відкритого ключа BLS, перший байт якого замінено на нульовий байт — звідси й назва.
0x01 означає, що валідатор надав свою адресу для виведення. Ці облікові дані для виведення представлені як 0x01, за якими йдуть 11 байтів нулів, а потім обрана адреса Етеріуму.
Щоб увімкнути виведення, валідаторам з обліковими даними 0x00 потрібно буде підписати повідомлення «BLSToExecutionChange». Це стане можливим після оновлення Capella.
Після ввімкнення виведення валідатор, який пропонує блок, буде лінійно сканувати індекси валідаторів, щоб знайти перших 16 валідаторів з обліковими даними 0x01, які:
- Мають баланс, що перевищує 32 ETH (нараховані винагороди валідатора)
- Є «доступними для виведення» (повністю вийшли з набору валідаторів)
Лінійний пошук зупиняється після знаходження 16 валідаторів, які відповідають цим критеріям, або після 16 384 ітерацій. Алгоритм запам'ятовує індекс, на якому зупинився пошук, тому наступний валідатор, який пропонує блок, може продовжити з цього індексу. Дійшовши до останнього індексу, алгоритм починає з початку — індексу 0.
Гарною аналогією може бути аналоговий годинник, де стрілка вказує на годину, рухається в одному напрямку, не пропускає жодної години і, зрештою, повертається на початок після досягнення останньої цифри.
Після завершення сканування валідатор створює список виведень, які будуть включені до його корисного навантаження виконання. Кожен елемент у списку містить:
- WithdrawalIndex — монотонно зростаючий індекс, починаючи з 0, який збільшується на 1 для кожного виведення, щоб унікально ідентифікувати кожне виведення
- ValidatorIndex — індекс валідатора, чий баланс виводиться
- ExecutionAddress — адреса ETH на рівні виконання, куди має бути надіслано виведення
- Amount — сума в Gwei, яка має бути надіслана на адресу виконання
Під час створення або обробки блоку клієнти рівня виконання застосовують ці виведення в кінці блоку. Обробка виведень не конкурує з транзакціями користувачів за місце в блоці. З максимальною кількістю 16 виведень, що обробляються в одному блоці, за день має оброблятися максимум 115 200 виведень, за умови відсутності пропущених слотів.
Дизайн виведень простий, але надзвичайно надійний.
Хибні уявлення (6:30)
Перше хибне уявлення полягає в тому, що під час обробки виведень існує різниця між «повним» і «частковим» виведенням з точки зору пріоритету або порядку. Як повне, так і часткове виведення відбувається, коли лінійне сканування набору валідаторів досягає індексу валідатора. Єдина відмінність полягає в тому, що у випадку повного виведення валідатор повинен покинути чергу на вихід і досягти «епохи, доступної для виведення», перш ніж лінійне сканування зможе його підхопити.
Інше хибне уявлення полягає в тому, що користувачі втратять свої винагороди, якщо не нададуть адресу для виведення. Це неправда — у випадку, якщо валідатор забуде надати адресу для виведення, його винагороди в ETH не будуть відправлені в нікуди після ввімкнення виведень. Натомість сканування просто пропустить валідаторів, які не надали свої адреси для виведення.
Важливо пам'ятати, що адресу для виведення неможливо змінити, і вона встановлюється лише один раз. Стейкери повинні бути вкрай обережними під час налаштування адреси для виведення, переконавшись, що вони мають повне право власності на надану адресу.
Існують також припущення, що стейкери виведуть багато ETH з екосистеми Етеріуму після ввімкнення виведень, причому сильніша версія цього аргументу припускає, що це дестабілізує механізм консенсусу на основі доказу частки. Хоча ми не можемо повністю передбачити, скільки ETH буде виведено з часом, є кілька важливих контраргументів:
По-перше, більшість стейкерів — це ранні користувачі Етеріуму, які були достатньо сміливими, щоб застейкати кошти, коли ще було невідомо, коли ввімкнуть виведення. Багато стейкерів висловили бажання продовжувати стейкінг для підтримки мережі та подальшого отримання винагород, номінованих в ETH.
По-друге, щоб гарантувати стабільність механізму консенсусу на основі доказу частки та активного набору валідаторів, Етеріум впровадив чергу на виведення для всіх валідаторів, які бажають вийти. Ця черга обмежує кількість валідаторів, які можуть покинути екосистему одночасно.
Перше сканування виведень виведе багато накопичених винагород — фактично з моменту створення сигнального ланцюга. Однак наступні сканування оброблятимуть набагато меншу кількість ETH.
Наслідки (8:39)
Увімкнення виведень створить відкритий, двосторонній потік стейкінгу. Наразі потік стейкінгу є одностороннім — ETH може лише надходити в мережу і ніколи не виходити з неї. Цікаво, що ввімкнення виведень може стимулювати ще більше людей до стейкінгу, оскільки вони знатимуть, що завжди зможуть вивести свої ETH, якщо вони знадобляться для чогось іншого.
Стейкери, які не запускають власні валідатори і стейкають через централізованого провайдера стейкінгу, зможуть змінити свого провайдера на іншого. Вони можуть вивести кошти від провайдера, який пропонує нижчу ставку стейкінгу, до того, який пропонує кращу ставку, перейти від централізованого провайдера до децентралізованого або навіть запустити власний валідатор.
Виведення також вплине на деривативи ліквідного стейкінгу, такі як Lido, Rocket Pool та інші. Токени ліквідного стейкінгу (LST), такі як stETH або rETH, мали історію тимчасової втрати своєї прив'язки до ціни ETH під час ринкової турбулентності. Однак із двостороннім потоком стейкінгу будь-яка значна розбіжність у їхній прив'язці буде швидко усунена за допомогою арбітражу.
Перші учасники ринку ліквідного стейкінгу та централізованого стейкінгу захопили переважну більшість ринку, оскільки не мали великої конкуренції. Однак частка ринку цих діючих гравців може зазнати значних змін після ввімкнення виведень, особливо якщо вони не запропонують конкурентоспроможну ставку. Можливість вільно переходити між провайдерами стейкінгу піде на користь ринку стейкінгу ETH.
Підсумок (10:01)
Увімкнення виведення зі стейкінгу є одним із найочікуваніших оновлень Етеріуму. Буде надзвичайно важливо переконатися, що ця зміна пройде гладко. Щоб допомогти з тестуванням, валідаторам будуть доступні кілька мереж розробників (devnets) і тестових мереж (testnets), щоб пройти через цей процес і усунути будь-які потенційні проблеми перед запуском у Головній мережі.
Виведення — це ще одне покращення, яке наближає Етеріум на крок до побудови сталого, безпечного та децентралізованого майбутнього. Очікується, що оновлення Шапелла відбудеться в першій половині 2023 року.
На момент створення цього відео сигнальний ланцюг накопичив понад 17 мільйонів ETH серед понад 530 000 валідаторів. Середній баланс валідатора становить трохи більше 34 ETH, що означає понад 1 мільйон ETH у вигляді накопичених винагород. Буде цікаво подивитися, як виведення вплине на ці цифри.