Зміни в протоколі та пулі ставок, які можуть покращити децентралізацію та зменшити витрати на консенсус

РозширенийJan 11, 2024
Віталік запропонував деякі оптимізації для поточного механізму стекінгу Ethereum, надаючи еталонний шлях для подальшого зниження централізації та консенсусного навантаження на Ethereum.
Зміни в протоколі та пулі ставок, які можуть покращити децентралізацію та зменшити витрати на консенсус

Особлива подяка Майку Нойдеру, Джастіну Дрейку та іншим за відгуки та рецензію. Дивіться також: попередні публікації на схожі теми від<a href="https://notes.ethereum.org/ @mikeneuder /goldilocks">Mike Neuder, Dankrad Feist і arixon.eth .

Статус-кво Ethereum можна описати як такий, що включає велику частку нових дворівневих ставок. Під дворівневим стейкингом я маю на увазі модель стейкингу, де є два класи учасників:

  1. Оператори вузлів, які керують вузлами та викладають або свою репутацію, або певну фіксовану суму власного капіталу як заставу
  2. Делегатори, які розміщують певну кількість ETH, без мінімальних зобов’язань і суворих вимог щодо участі будь-яким іншим способом, окрім надання своєї застави

Цей дворівневий стейкінг виникає завдяки діям великої частки стейкерів, які беруть участь у пулах ставок, які пропонують ліквідні токени ставок (LST), напр. Ракетний басейн і Лідо.

Статус-кво має дві основні вади:

  • Ризик централізації в операторах вузлів. Механізми вибору операторів вузлів у існуючих пулах стейкингу або не дуже децентралізовані, або мають інші недоліки.
  • Непотрібне навантаження на рівень консенсусу. Ethereum L1 перевіряє ~800 000 підписів за епоху та з<a href="https://notes.ethereum.org/ @vbuterin /single_slot_finality">один кінцевість слота, яка може збільшитися до 800 000 на слот. Це велике навантаження. Крім того, через велику частку ліквідних ставок мережа не отримує повної вигоди від цього навантаження. Якщо мережу можна зробити прийнятно децентралізованою та безпечною, не вимагаючи від кожного стейкера підписуватись у кожному слоті, тоді ми могли б покластися на це рішення набагато сильніше та зменшити кількість підписів на слот, наприклад. 10 000.

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

Як сьогодні працює дворівневий стейкинг?

Два найпопулярніші на сьогоднішній день децентралізовані пули ставок, Lido та RocketPool, створюють нові дворівневі екосистеми ставок. У випадку Lido рівні такі:

  • Оператори вузлів: їх обирають шляхом голосування в Lido DAO, що ефективно власниками LDO
  • Делегатори: люди, що тримають stETH. stETH створюється, коли хтось вносить ETH у систему смарт-контрактів Lido, що дозволяє операторам вузлів робити ставки (але, оскільки<a href="https://notes.ethereum.org/ @launchpad /withdrawals-faq">виведення облікові дані прив’язані до адреси ETH смарт-контракту, вони не можуть взяти його собі)

У випадку Rocket Pool рівні такі:

  • Оператори вузлів: будь-хто може стати оператором вузлів, внісши депозит у розмірі 8 ETH плюс певну кількість токенів RPL
  • Делегатори: люди, які тримають rETH. rETH створюється, коли хтось вносить ETH у систему смарт-контрактів Rocket Pool, що дозволяє операторам вузлів робити ставки (але не забирати собі)

Роль делегатів

У цих системах (або нових системах, увімкнутих потенційними майбутніми змінами протоколів) одне ключове питання, яке слід поставити: з точки зору протоколу, який сенс мати делегаторів взагалі?

Щоб зрозуміти, чому питання має сенс, розглянемо наступний світ. Зміну протоколу, запропоновану в цьому нещодавньому дописі, щодо обмеження штрафів до 2 ETH, реалізовано. У відповідь Rocket Pool зменшує депозит оператора вузла до 2 ETH. Ринкова частка Rocket Pool зростає до 100% (не лише серед стейкерів, але й серед власників ETH: оскільки rETH стає безризиковим, майже всі власники ETH стають власниками rETH або операторами нод).

Припустімо, що власники rETH отримують прибуток у розмірі 3% (включно з винагородами в протоколі та зборами за пріоритет + MEV), а оператори вузлів отримують прибуток у розмірі 4%. Давайте також припустимо, що загальна пропозиція ETH становить 100 мільйонів.

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

Тепер розглянемо інший світ. Rocket Pool не існує. Мінімальний депозит кожного стейкера зменшено до 2 ETH, а загальна кількість поставлених ETH обмежена 6,25 млн. Крім того, прибуток оператора вузла зменшено до 1%. Давайте порахуємо:

Тепер давайте розглянемо дві ситуації з точки зору вартості атаки. У першому випадку зловмисники не підписалися б як делегати: делегати не мають повноважень, тому немає сенсу. Отже, вони спрямують увесь свій ETH на реєстрацію як оператори вузлів. Щоб отримати 1/3 усієї ставки, їм потрібно буде вкласти 2,08 млн. ETH (що, чесно кажучи, все ще досить багато! наприклад. див. <a href="https://notes.ethereum.org/ @vbuterin /single_slot_finality#Idea-1-super-committees">це обговорення суперкомітетів, пропозиція масштабування ставок, яка також зменшила б вартість атаки до подібного значення). У другому випадку зловмисники просто зробили б ставку, і щоб отримати 1/3 усієї ставки, їм потрібно було б вкласти… 2,08 млн ETH.

Як з точки зору економіки ставок, так і з точки зору вартості атаки, кінцевий результат в обох випадках абсолютно однаковий. Частка загального обсягу ETH, який зберігає оператор вузла, збільшується на 0,00256% на день, а частка загального обсягу ETH, який зберігає оператор, який не є оператором вузла, зменшується на 0,00017% на день. Вартість атаки становить 2,08 млн ETH. Таким чином, складається враження, що в цій моделі делегування стає безглуздою машиною Руба Голдберга: ми могли б також відмовитися від посередника, різко зменшити винагороду за ставки та обмежити загальну ставку ETH до 6,25 млн.

Метою цього аргументу є не заклик до зменшення винагороди за ставки в 4 рази та обмеження загальної суми ETH до 6,25 млн. Швидше, це вказує на ключову властивість, якою повинна володіти добре функціонуюча система стейкингу: а саме, делегати повинні робити те, що дійсно має значення. Крім того, це нормально, якщо делегати мотивовані діяти правильно в значній мірі тиском спільноти та альтруїзмом; зрештою, це головна сила, яка спонукає людей робити ставку на децентралізовані способи підвищення безпеки (але з більшими зусиллями), а не на централізовані способи, що загрожують безпеці (але з меншими зусиллями).

Якщо делегати можуть відігравати значущу роль, якою це може бути роль?

Я бачу два класи відповідей:

  • Вибір делегатів: делегати можуть вибрати, яким операторам вузлів вони делегують свою частку. Оператори вузлів матимуть «вагу» в консенсусі, пропорційну загальній делегованій їм частці. Вибір делегатів уже існує в обмеженій формі сьогодні, у тому сенсі, що власники rETH або stETH можуть зняти свій ETH і перейти до іншого пулу, але практична доступність вибору делегатів може бути значно покращена.
  • Участь у консенсусі: делегатам можна було б надати можливість взяти на себе певну роль у консенсусі, яка була б «легшою», ніж повна ставка, і не підлягала б тривалим періодам вилучення та зниженню ризику, але все одно функціонувала б як перевірка операторів вузлів. Багато делегатів не захочуть цього робити, і віддадуть перевагу найпростішому з усіх інтерфейсу – тримати ERC20 і більше нічого не робити, але деякі схвалять цей варіант.

Розширення повноважень відбору делегатів

Існує три способи розширення повноважень вибору делегатів:

  • Кращі інструменти голосування в пулах
  • Більша конкуренція між пулами
  • Закріплена делегація

Голосування в пулах сьогодні насправді не існує: у Rocket Pool кожен може стати оператором вузла, а в Lido голосують власники LDO, а не власники ETH. Lido має пропозицію щодо подвійного управління LDO + stETH, яке надасть право власності власникам stETH у тому сенсі, що вони зможуть активувати гаджет, який блокує нові голоси та, отже, блокує додавання чи видалення операторів вузлів. Тим не менш, це обмежено, і може бути набагато сильнішим.

Конкуренція між пулами сьогодні існує, але слабка. Основна проблема полягає в тому, що токени менших пулів ставок (i) менш ліквідні, (ii) важче довіряти та (iii) менше підтримуються програмами.

Ми можемо покращити перші дві проблеми, зменшивши штрафи до меншої суми, наприклад. 2 або 4 ETH. Залишок ETH (незнижуваний) можна було б безпечно внести та миттєво зняти, роблячи LST на основі цього ETH двостороннім конвертованим ETH навіть для найменших пулів. Ми могли б удосконалити третю проблему, створивши центральний контракт на емісію для LST — дещо подібний до ERC-4337 і ERC-6900 для гаманців, щоб ми могли гарантувати, що будь-який токен стекінгу, випущений через цей контракт, є безпечним. Програми (наприклад, версія RAI , яка підтримує стейкінг ETH) можна наполегливо заохочувати підтримувати всі стейкінг-токени, випущені через цей реєстр.

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

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

Консенсусна участь

Існують обмеження для поточного підходу до соло-стейкінгу, навіть якщо не брати до уваги поточні проблеми, пов’язані з ліквідними ставками. Якщо припустити, що завершується один слот, наші найкращі оцінки свідчать про обмеження в ~100 тисяч – 1 млн підписів BLS, які можна обробити на слот, і це припускає значне збільшення часу слоту. Навіть якщо ми використовуємо рекурсивні SNARK для агрегування підписів, підзвітність підпису (для цілей скорочення) вимагає, щоб бітове поле того, хто брав участь, було доступне для кожного підпису. Якщо Ethereum стане мережею глобального масштабу, то навіть якимось чином використовувати повний danksharding для зберігання бітових полів буде недостатньо: 16 МБ на слот підтримуватимуть лише ~64 мільйони стейкерів.

Тут, з цієї точки зору, також є доцільним розділити ставки на рівень вищої складності, який можна зменшити, який діє в кожному слоті, але, можливо, має лише 10 000 учасників, і рівень нижчої складності, який викликається для участі лише час від часу. Рівень нижчої складності може бути повністю звільнений від скорочення або він може випадковим чином надавати учасникам можливість тимчасово (тобто. за кілька слотів) депозит і стає предметом розрізання.

На практиці це можна реалізувати шляхом<a href="https://notes.ethereum.org/ @mikeneuder /eip-7251-faq">підняття обмеження балансу валідатора, а пізніше – впровадження порогового значення балансу (наприклад, 2048 ETH), щоб визначити, які з існуючих валідаторів переходять на рівень складності вищого та нижчого рівня.

Ось кілька ідей щодо того, як можуть працювати ці невеликі ролі:

  • У кожному слоті випадковим чином вибираються 10 000 малих стейкерів, які можуть підписати того, кого вони вважають головним у цьому слоті. Правило вибору форка LMD GHOST виконується з використанням малих стейкерів як вхідних даних. Якщо вибір форка, керованого малим стейкером, і вибір форка, керованого оператором вузла, коли-небудь розходяться, клієнт користувача не приймає жоден блок як завершений і відображає помилку. Це змушує громаду врегулювати ситуацію.
  • Делегатор може надіслати транзакцію в мережу, заявляючи, що він онлайн і готовий виступати в якості малого стейкера протягом наступної години. Щоб повідомлення (блок або атестація) від вузла було зараховано, і вузол, і випадково вибраний делегатор повинні підписатися.
  • Делегатор може надіслати транзакцію в мережу, заявляючи, що він онлайн і готовий виступати в якості малого стейкера протягом наступної години. Кожну епоху 10 випадкових делегатів обираються як постачальники списків включення, а ще 10 000 – як виборці. Для них заздалегідь вибрано k слотів, і їм надається вікно з k-слотом для публікації повідомлення в ланцюжку, яке підтверджує, що вони онлайн. Кожен підтверджений вибраний постачальник списку включення може опублікувати список включення, і блок є недійсним, якщо для кожного списку включення він або (i) не містить транзакції в цьому списку включення, або (ii) він містить голоси від 1/2 вибраних виборців, які показують, що список включення недоступний.

Всі ці ролі з невеликими ставками мають спільне те, що вони не передбачають активної участі в кожному слоті, не підлягають зменшенню (і тому мають дуже низький ризик керування ключами) і дуже «легкі» в тому сенсі, що вони навіть не вимагають повний вузол для запуску. Досить буде лише перевірити рівень консенсусу. Отже, їх можна реалізувати за допомогою додатків або плагінів браузера, які здебільшого є пасивними та мають дуже низькі обчислювальні витрати, вимоги до апаратного забезпечення чи вимоги до технічного ноу-хау, навіть не припускаючи технічних досягнень, таких як ZK-EVM.

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

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

Висновки

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

  1. Дайте людям, у яких немає ресурсів або можливостей для самостійного стейкінгу сьогодні, можливість брати участь у стейкінгу, який зберігає в їхніх руках більше повноважень: (i) право вибирати, які вузли вони підтримують, і (ii) повноваження активно брати участь у консенсус певним чином легший, ніж повна операція стекінгу, але все ще має значення. Не всі учасники приймуть один або обидва варіанти, але будь-який, який прийме, значно покращить ситуацію відносно статус-кво.
  2. Зменште кількість підписів, які консенсусний рівень Ethereum повинен обробити в кожному слоті, навіть у режимі фіналізації з одним слотом, до меншої кількості, наприклад ~10 000. Це також сприяло б децентралізації, оскільки всім було б набагато легше запускати вузол перевірки.

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

Відмова від відповідальності:

  1. Цю статтю передруковано з [ <a href="https://notes.ethereum.org/@vbuterin/staking_2023_10"> notes.ethereum.org ]. Усі авторські права належать оригінальному автору [notes.ethereum.org]. Якщо є заперечення щодо цього передруку, будь ласка, зв’яжіться з командою Gate Learn , і вони негайно розглянуть це.
  2. Відмова від відповідальності: погляди та думки, висловлені в цій статті, належать виключно автору та не є жодною інвестиційною порадою.
  3. Переклади статті на інші мови виконує команда Gate Learn. Якщо не зазначено вище, копіювання, розповсюдження або плагіат перекладених статей заборонено.
Şimdi Başlayın
Kaydolun ve
100 USD
değerinde Kupon kazanın!
Üyelik oluştur