Особлива подяка Майку Нойдеру, Джастіну Дрейку та іншим за відгуки та рецензію. Дивіться також: попередні публікації на схожі теми від<a href="https://notes.ethereum.org/ @mikeneuder /goldilocks">Mike Neuder, Dankrad Feist і arixon.eth .
Статус-кво Ethereum можна описати як такий, що включає велику частку нових дворівневих ставок. Під дворівневим стейкингом я маю на увазі модель стейкингу, де є два класи учасників:
Цей дворівневий стейкінг виникає завдяки діям великої частки стейкерів, які беруть участь у пулах ставок, які пропонують ліквідні токени ставок (LST), напр. Ракетний басейн і Лідо.
Статус-кво має дві основні вади:
У цьому дописі описано можливі рішення обох цих проблем. Зокрема, це матиме такий ракурс: припустімо, що ми вважаємо за дане, що більша частина капіталу знаходиться у людей, які не бажають особисто керувати вузлами розміщення ставок у їхньому поточному вигляді, підписуючи повідомлення кожен слот, блокуючи свої депозити та піддаючи їх скороченню. . Яку ще роль вони можуть відігравати, щоб суттєво сприяти децентралізації та безпеці мережі?
Два найпопулярніші на сьогоднішній день децентралізовані пули ставок, Lido та RocketPool, створюють нові дворівневі екосистеми ставок. У випадку Lido рівні такі:
У випадку 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 млн. Швидше, це вказує на ключову властивість, якою повинна володіти добре функціонуюча система стейкингу: а саме, делегати повинні робити те, що дійсно має значення. Крім того, це нормально, якщо делегати мотивовані діяти правильно в значній мірі тиском спільноти та альтруїзмом; зрештою, це головна сила, яка спонукає людей робити ставку на децентралізовані способи підвищення безпеки (але з більшими зусиллями), а не на централізовані способи, що загрожують безпеці (але з меншими зусиллями).
Я бачу два класи відповідей:
Існує три способи розширення повноважень вибору делегатів:
Голосування в пулах сьогодні насправді не існує: у 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), щоб визначити, які з існуючих валідаторів переходять на рівень складності вищого та нижчого рівня.
Ось кілька ідей щодо того, як можуть працювати ці невеликі ролі:
Всі ці ролі з невеликими ставками мають спільне те, що вони не передбачають активної участі в кожному слоті, не підлягають зменшенню (і тому мають дуже низький ризик керування ключами) і дуже «легкі» в тому сенсі, що вони навіть не вимагають повний вузол для запуску. Досить буде лише перевірити рівень консенсусу. Отже, їх можна реалізувати за допомогою додатків або плагінів браузера, які здебільшого є пасивними та мають дуже низькі обчислювальні витрати, вимоги до апаратного забезпечення чи вимоги до технічного ноу-хау, навіть не припускаючи технічних досягнень, таких як ZK-EVM.
Ці невеликі ролі також мають спільну мету: вони запобігають 51% більшості операторів вузлів від участі в цензурі транзакцій. Перший і другий також заважають більшості брати участь у відміненні остаточності. Третій зосереджується безпосередньо на цензурі, хоча він більш вразливий до можливості того, що більшість операторів вузлів також вирішить цензурувати повідомлення про підтвердження постачальника списку включення.
Ці ідеї були написані з точки зору закріпленого дворівневого рішення для стейкингу, реалізованого в протоколі, але вони також можуть бути реалізовані як функції пулу стейкингів. Ось кілька конкретних ідей реалізації:
Якщо все зроблено правильно, коригування конструкції ставок може вирішити двох зайців одним пострілом:
Для багатьох із цих рішень існують різні рівні абстракції, на яких може знаходитися вирішення проблеми: повноваження, надані користувачам у протоколі пулу розміщення, вибір користувача між протоколами пулу розміщення та закріплення в протоколі. Цей вибір слід ретельно розглянути, і, як правило, найкращим є мінімальне життєздатне закріплення, що мінімізує як складність протоколу, так і рівень змін в економіці протоколу, але при цьому досягає бажаної мети.
Особлива подяка Майку Нойдеру, Джастіну Дрейку та іншим за відгуки та рецензію. Дивіться також: попередні публікації на схожі теми від<a href="https://notes.ethereum.org/ @mikeneuder /goldilocks">Mike Neuder, Dankrad Feist і arixon.eth .
Статус-кво Ethereum можна описати як такий, що включає велику частку нових дворівневих ставок. Під дворівневим стейкингом я маю на увазі модель стейкингу, де є два класи учасників:
Цей дворівневий стейкінг виникає завдяки діям великої частки стейкерів, які беруть участь у пулах ставок, які пропонують ліквідні токени ставок (LST), напр. Ракетний басейн і Лідо.
Статус-кво має дві основні вади:
У цьому дописі описано можливі рішення обох цих проблем. Зокрема, це матиме такий ракурс: припустімо, що ми вважаємо за дане, що більша частина капіталу знаходиться у людей, які не бажають особисто керувати вузлами розміщення ставок у їхньому поточному вигляді, підписуючи повідомлення кожен слот, блокуючи свої депозити та піддаючи їх скороченню. . Яку ще роль вони можуть відігравати, щоб суттєво сприяти децентралізації та безпеці мережі?
Два найпопулярніші на сьогоднішній день децентралізовані пули ставок, Lido та RocketPool, створюють нові дворівневі екосистеми ставок. У випадку Lido рівні такі:
У випадку 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 млн. Швидше, це вказує на ключову властивість, якою повинна володіти добре функціонуюча система стейкингу: а саме, делегати повинні робити те, що дійсно має значення. Крім того, це нормально, якщо делегати мотивовані діяти правильно в значній мірі тиском спільноти та альтруїзмом; зрештою, це головна сила, яка спонукає людей робити ставку на децентралізовані способи підвищення безпеки (але з більшими зусиллями), а не на централізовані способи, що загрожують безпеці (але з меншими зусиллями).
Я бачу два класи відповідей:
Існує три способи розширення повноважень вибору делегатів:
Голосування в пулах сьогодні насправді не існує: у 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), щоб визначити, які з існуючих валідаторів переходять на рівень складності вищого та нижчого рівня.
Ось кілька ідей щодо того, як можуть працювати ці невеликі ролі:
Всі ці ролі з невеликими ставками мають спільне те, що вони не передбачають активної участі в кожному слоті, не підлягають зменшенню (і тому мають дуже низький ризик керування ключами) і дуже «легкі» в тому сенсі, що вони навіть не вимагають повний вузол для запуску. Досить буде лише перевірити рівень консенсусу. Отже, їх можна реалізувати за допомогою додатків або плагінів браузера, які здебільшого є пасивними та мають дуже низькі обчислювальні витрати, вимоги до апаратного забезпечення чи вимоги до технічного ноу-хау, навіть не припускаючи технічних досягнень, таких як ZK-EVM.
Ці невеликі ролі також мають спільну мету: вони запобігають 51% більшості операторів вузлів від участі в цензурі транзакцій. Перший і другий також заважають більшості брати участь у відміненні остаточності. Третій зосереджується безпосередньо на цензурі, хоча він більш вразливий до можливості того, що більшість операторів вузлів також вирішить цензурувати повідомлення про підтвердження постачальника списку включення.
Ці ідеї були написані з точки зору закріпленого дворівневого рішення для стейкингу, реалізованого в протоколі, але вони також можуть бути реалізовані як функції пулу стейкингів. Ось кілька конкретних ідей реалізації:
Якщо все зроблено правильно, коригування конструкції ставок може вирішити двох зайців одним пострілом:
Для багатьох із цих рішень існують різні рівні абстракції, на яких може знаходитися вирішення проблеми: повноваження, надані користувачам у протоколі пулу розміщення, вибір користувача між протоколами пулу розміщення та закріплення в протоколі. Цей вибір слід ретельно розглянути, і, як правило, найкращим є мінімальне життєздатне закріплення, що мінімізує як складність протоколу, так і рівень змін в економіці протоколу, але при цьому досягає бажаної мети.