Изменения в протоколе и ставочном пуле, которые могут улучшить децентрализацию и уменьшить накладные расходы на консенсус

Продвинутый1/11/2024, 8:21:09 AM
Виталик предложил несколько оптимизаций для текущего механизма стакинга 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"> single финализация слота, которая может увеличиться до 800 000 на один слот. Это большой груз. Более того, из-за большой доли жидких ставок сеть не получает всех преимуществ от принятия на себя этой нагрузки. Если сеть можно сделать приемлемо децентрализованной и безопасной, не требуя от каждого стейкера подписываться в каждом слоте, то мы могли бы опираться на это решение гораздо сильнее, и уменьшить количество подписей в каждом слоте до, например, 10 000.

В этом посте мы опишем возможные решения обеих этих проблем. В частности, это будет выглядеть следующим образом: предположим, что мы считаем само собой разумеющимся, что большая часть капитала находится у людей, которые не хотят лично управлять ставочными узлами в их нынешнем виде, подписывая сообщения в каждом слоте, блокируя свои депозиты и подвергая их сокращению. Какую еще роль они могут играть, чтобы внести значительный вклад в децентрализацию и безопасность сети?

Как сегодня работает двухуровневая ставка?

Два самых популярных на сегодняшний день децентрализованных пула для ставок, Lido и RocketPool, создают развивающиеся двухуровневые экосистемы ставок. В случае с Lido уровни следующие:

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

В случае с Rocket Pool это следующие уровни:

  • Операторы узлов: любой желающий может стать оператором узла, внеся депозит в размере 8 ETH, плюс некоторое количество токенов RPL
  • Делегаты: люди, владеющие РЭТ. 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"> this Обсуждение суперкомитетов, предложение о масштабировании ставок, которое также уменьшило бы стоимость атаки до аналогичного значения). Во втором случае злоумышленники будут просто делать ставки, и чтобы получить 1/3 всех ставок, им нужно будет вложить... 2,08M ETH.

Как с точки зрения экономики ставок, так и с точки зрения стоимости атаки, конечный результат в обоих случаях абсолютно одинаков. Доля общего предложения ETH, находящаяся в распоряжении оператора узла, увеличивается на 0,00256% в день, а доля общего предложения ETH, находящаяся в распоряжении оператора, не являющегося узлом, уменьшается на 0,00017% в день. Стоимость атаки составляет 2,08 миллиона ETH. Поэтому кажется, что в этой модели делегирование превращается в бессмысленную машину Руба Голдберга: мы можем с тем же успехом вырезать посредника, резко сократить вознаграждения за ставки и ограничить общее количество ETH, поставленных на кон, до 6,25M.

Цель этого аргумента не в том, чтобы выступить за снижение вознаграждения за ставки в 4 раза и ограничение общей суммы ставок ETH до 6,25 млн. Скорее, это для того, чтобы указать на ключевое свойство, которым должна обладать хорошо функционирующая система ставок: а именно, делегаты должны делать что-то, что действительно имеет значение. Более того, ничего страшного, если делегаты будут мотивированы действовать правильно в значительной степени давлением сообщества и альтруизмом; в конце концов, это главная сила, которая сегодня побуждает людей делать ставки децентрализованными способами, повышающими безопасность (но требующими больших затрат), а не централизованными способами, угрожающими безопасности (но требующими меньших затрат).

Если делегаты могут играть значимую роль, то какой может быть эта роль?

Я вижу два класса ответов:

  • Выбор делегата: делегаты могут выбирать, каким операторам узла они делегируют свою ставку. Операторы узлов будут иметь "вес" в консенсусе, который пропорционален общей ставке, делегированной им. Выбор делегата уже существует в ограниченной форме сегодня, в том смысле, что держатели rETH или stETH могут снять свои ETH и переключиться на другой пул, но практическая доступность выбора делегата может быть значительно улучшена.
  • Участие в консенсусе: делегатам может быть предоставлена возможность взять на себя роль в консенсусе, которая будет "легче", чем полная ставка, и не будет связана с длительными периодами вывода средств и снижением риска, но при этом будет выполнять функцию проверки операторов узла. Многие делегаты не захотят этого делать и предпочтут самый простой интерфейс - провести ERC20 и больше ничего не делать, но некоторые воспользуются этой возможностью.

Расширение полномочий по выбору делегатов

Есть три способа расширить полномочия по выбору делегатов:

  • Улучшенные инструменты голосования в пулах
  • Больше конкуренции между бассейнами
  • Закрепленная делегация

Голосование внутри пулов на самом деле не существует сегодня: в Rocket Pool любой может стать оператором узла, а в Lido голосуют владельцы LDO, а не ETH. У Лидо есть предложение по двойному управлению 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 станет сетью глобального масштаба, то даже использования полного данкшардинга для хранения битовых полей будет недостаточно: 16 МБ на слот будут поддерживать только ~64 миллиона стейблкоинов.

Здесь, с этой точки зрения, также есть смысл разделить ставки на более сложный слэшбэк-уровень, который действует каждый слот, но, возможно, имеет только 10 000 участников, и более низкий уровень, который вызывается для участия лишь изредка. Уровень с более низкой сложностью может быть полностью освобожден от сокращения, или же он может случайным образом давать своим участникам временные возможности (т.е. для нескольких слотов) пополняют счет и становятся предметом сокращения.

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

Вот несколько идей того, как могут работать эти небольшие роли:

  • В каждом слоте случайным образом выбирается 10000 маленьких стакеров, которые могут подписать, что, по их мнению, является главой этого слота. Правило выбора вилки LMD GHOST запускается, используя в качестве входных данных маленькие стакеры. Если выбор вилки, определяемый малым стакером, и выбор вилки, определяемый оператором узла, расходятся, клиент пользователя не принимает ни один блок как завершенный и выдает ошибку. Это вынуждает сообщество выступить посредником в разрешении ситуации.
  • Делегатор может отправить транзакцию, объявив сети, что он находится в сети и готов служить в качестве малого стейкера в течение следующего часа. Чтобы сообщение (блок или подтверждение) от узла было засчитано, его должны подписать как сам узел, так и случайно выбранный делегат.
  • Делегатор может отправить транзакцию, объявив сети, что он находится в сети и готов служить в качестве малого стейкера в течение следующего часа. Каждую эпоху 10 случайных делегатов выбираются в качестве поставщиков списков включения, и еще 10000 делегатов выбираются в качестве избирателей. Они выбираются на k слотов вперед, и им дается k-слотовое окно для публикации сообщения на цепочке, подтверждающего, что они находятся в сети. Каждый подтвержденный выбранный поставщик списка включения может опубликовать список включения, и блок будет недействительным, если для каждого списка включения он либо (i) не содержит транзакций, включенных в этот список включения, либо (ii) не содержит голосов 1/2 выбранных избирателей, показывающих, что список включения недоступен.

Все эти небольшие роли объединяет то, что они не предполагают активного участия в каждом слоте, не являются слэш-памятью (и поэтому имеют очень низкий риск управления ключами) и очень "легкие" в том смысле, что для их выполнения даже не требуется полный узел. Достаточно будет проверить только уровень консенсуса. Следовательно, их можно реализовать с помощью приложений или плагинов для браузера, которые в основном пассивны и имеют очень низкие вычислительные накладные расходы, требования к аппаратному обеспечению или техническому ноу-хау, и все это даже не предполагая таких технических достижений, как ZK-EVMs.

Все эти небольшие роли также имеют общую цель: они препятствуют тому, чтобы 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. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.

Изменения в протоколе и ставочном пуле, которые могут улучшить децентрализацию и уменьшить накладные расходы на консенсус

Продвинутый1/11/2024, 8:21:09 AM
Виталик предложил несколько оптимизаций для текущего механизма стакинга 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"> single финализация слота, которая может увеличиться до 800 000 на один слот. Это большой груз. Более того, из-за большой доли жидких ставок сеть не получает всех преимуществ от принятия на себя этой нагрузки. Если сеть можно сделать приемлемо децентрализованной и безопасной, не требуя от каждого стейкера подписываться в каждом слоте, то мы могли бы опираться на это решение гораздо сильнее, и уменьшить количество подписей в каждом слоте до, например, 10 000.

В этом посте мы опишем возможные решения обеих этих проблем. В частности, это будет выглядеть следующим образом: предположим, что мы считаем само собой разумеющимся, что большая часть капитала находится у людей, которые не хотят лично управлять ставочными узлами в их нынешнем виде, подписывая сообщения в каждом слоте, блокируя свои депозиты и подвергая их сокращению. Какую еще роль они могут играть, чтобы внести значительный вклад в децентрализацию и безопасность сети?

Как сегодня работает двухуровневая ставка?

Два самых популярных на сегодняшний день децентрализованных пула для ставок, Lido и RocketPool, создают развивающиеся двухуровневые экосистемы ставок. В случае с Lido уровни следующие:

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

В случае с Rocket Pool это следующие уровни:

  • Операторы узлов: любой желающий может стать оператором узла, внеся депозит в размере 8 ETH, плюс некоторое количество токенов RPL
  • Делегаты: люди, владеющие РЭТ. 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"> this Обсуждение суперкомитетов, предложение о масштабировании ставок, которое также уменьшило бы стоимость атаки до аналогичного значения). Во втором случае злоумышленники будут просто делать ставки, и чтобы получить 1/3 всех ставок, им нужно будет вложить... 2,08M ETH.

Как с точки зрения экономики ставок, так и с точки зрения стоимости атаки, конечный результат в обоих случаях абсолютно одинаков. Доля общего предложения ETH, находящаяся в распоряжении оператора узла, увеличивается на 0,00256% в день, а доля общего предложения ETH, находящаяся в распоряжении оператора, не являющегося узлом, уменьшается на 0,00017% в день. Стоимость атаки составляет 2,08 миллиона ETH. Поэтому кажется, что в этой модели делегирование превращается в бессмысленную машину Руба Голдберга: мы можем с тем же успехом вырезать посредника, резко сократить вознаграждения за ставки и ограничить общее количество ETH, поставленных на кон, до 6,25M.

Цель этого аргумента не в том, чтобы выступить за снижение вознаграждения за ставки в 4 раза и ограничение общей суммы ставок ETH до 6,25 млн. Скорее, это для того, чтобы указать на ключевое свойство, которым должна обладать хорошо функционирующая система ставок: а именно, делегаты должны делать что-то, что действительно имеет значение. Более того, ничего страшного, если делегаты будут мотивированы действовать правильно в значительной степени давлением сообщества и альтруизмом; в конце концов, это главная сила, которая сегодня побуждает людей делать ставки децентрализованными способами, повышающими безопасность (но требующими больших затрат), а не централизованными способами, угрожающими безопасности (но требующими меньших затрат).

Если делегаты могут играть значимую роль, то какой может быть эта роль?

Я вижу два класса ответов:

  • Выбор делегата: делегаты могут выбирать, каким операторам узла они делегируют свою ставку. Операторы узлов будут иметь "вес" в консенсусе, который пропорционален общей ставке, делегированной им. Выбор делегата уже существует в ограниченной форме сегодня, в том смысле, что держатели rETH или stETH могут снять свои ETH и переключиться на другой пул, но практическая доступность выбора делегата может быть значительно улучшена.
  • Участие в консенсусе: делегатам может быть предоставлена возможность взять на себя роль в консенсусе, которая будет "легче", чем полная ставка, и не будет связана с длительными периодами вывода средств и снижением риска, но при этом будет выполнять функцию проверки операторов узла. Многие делегаты не захотят этого делать и предпочтут самый простой интерфейс - провести ERC20 и больше ничего не делать, но некоторые воспользуются этой возможностью.

Расширение полномочий по выбору делегатов

Есть три способа расширить полномочия по выбору делегатов:

  • Улучшенные инструменты голосования в пулах
  • Больше конкуренции между бассейнами
  • Закрепленная делегация

Голосование внутри пулов на самом деле не существует сегодня: в Rocket Pool любой может стать оператором узла, а в Lido голосуют владельцы LDO, а не ETH. У Лидо есть предложение по двойному управлению 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 станет сетью глобального масштаба, то даже использования полного данкшардинга для хранения битовых полей будет недостаточно: 16 МБ на слот будут поддерживать только ~64 миллиона стейблкоинов.

Здесь, с этой точки зрения, также есть смысл разделить ставки на более сложный слэшбэк-уровень, который действует каждый слот, но, возможно, имеет только 10 000 участников, и более низкий уровень, который вызывается для участия лишь изредка. Уровень с более низкой сложностью может быть полностью освобожден от сокращения, или же он может случайным образом давать своим участникам временные возможности (т.е. для нескольких слотов) пополняют счет и становятся предметом сокращения.

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

Вот несколько идей того, как могут работать эти небольшие роли:

  • В каждом слоте случайным образом выбирается 10000 маленьких стакеров, которые могут подписать, что, по их мнению, является главой этого слота. Правило выбора вилки LMD GHOST запускается, используя в качестве входных данных маленькие стакеры. Если выбор вилки, определяемый малым стакером, и выбор вилки, определяемый оператором узла, расходятся, клиент пользователя не принимает ни один блок как завершенный и выдает ошибку. Это вынуждает сообщество выступить посредником в разрешении ситуации.
  • Делегатор может отправить транзакцию, объявив сети, что он находится в сети и готов служить в качестве малого стейкера в течение следующего часа. Чтобы сообщение (блок или подтверждение) от узла было засчитано, его должны подписать как сам узел, так и случайно выбранный делегат.
  • Делегатор может отправить транзакцию, объявив сети, что он находится в сети и готов служить в качестве малого стейкера в течение следующего часа. Каждую эпоху 10 случайных делегатов выбираются в качестве поставщиков списков включения, и еще 10000 делегатов выбираются в качестве избирателей. Они выбираются на k слотов вперед, и им дается k-слотовое окно для публикации сообщения на цепочке, подтверждающего, что они находятся в сети. Каждый подтвержденный выбранный поставщик списка включения может опубликовать список включения, и блок будет недействительным, если для каждого списка включения он либо (i) не содержит транзакций, включенных в этот список включения, либо (ii) не содержит голосов 1/2 выбранных избирателей, показывающих, что список включения недоступен.

Все эти небольшие роли объединяет то, что они не предполагают активного участия в каждом слоте, не являются слэш-памятью (и поэтому имеют очень низкий риск управления ключами) и очень "легкие" в том смысле, что для их выполнения даже не требуется полный узел. Достаточно будет проверить только уровень консенсуса. Следовательно, их можно реализовать с помощью приложений или плагинов для браузера, которые в основном пассивны и имеют очень низкие вычислительные накладные расходы, требования к аппаратному обеспечению или техническому ноу-хау, и все это даже не предполагая таких технических достижений, как ZK-EVMs.

Все эти небольшие роли также имеют общую цель: они препятствуют тому, чтобы 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. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.
Inizia Ora
Registrati e ricevi un buono da
100$
!