Распределители комиссий и Smoothing Pool

Операторы нод получают комиссии за приоритет (чаевые) от транзакций, которые они включают в любые блоки, которые они предлагают в цепочку Ethereum. Эти комиссии поступают и остаются на уровне Execution.

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

ПРИМЕЧАНИЕ

В качестве быстрого напоминания вот разбивка различных типов вознаграждений и на каком уровне они предоставляются:

  • Уровень Consensus: аттестации, предложения блоков, комитеты синхронизации, отчеты о слэшинге
  • Уровень Execution: комиссии за приоритет и MEV (обсуждается в следующем разделе) от предложений блоков

Получатели комиссий

Когда вы предлагаете блок в цепочке Ethereum, протокол должен знать, куда отправлять чаевые от каждой транзакции, включенной в ваш блок. Он не может отправить их на адрес вашего валидатора, потому что это на уровне Consensus - а не на уровне Execution. Он не может отправить их на адрес вашего minipool, потому что это должно работать и для соло-стейкеров, а соло-стейкеры не имеют адреса на уровне Execution, прикрепленного к их валидаторам, как это делает Rocket Pool.

Вместо этого, способ работы довольно прост: когда Rocket Pool запускает ваш клиент Validator, он передает аргумент, называемый получатель комиссии. Получатель комиссии - это просто адрес на уровне Execution, куда вы хотите, чтобы отправлялись чаевые.

fee recipient вашей ноды может быть одним из следующих специальных контрактов:

  • Персональный Fee Distributor вашей ноды
  • Контракт megapool вашей ноды
  • Smoothing Pool (по желанию)

Smart Node автоматически установит правильный получатель комиссии в зависимости от вашей конфигурации:

Статус Smoothing PoolЕсть валидаторы MegapoolЕсть MinipoolПолучатель комиссии
УчаствуетНетДаАдрес Smoothing Pool
УчаствуетДаНетАдрес Smoothing Pool
УчаствуетДаДаАдрес Smoothing Pool (все валидаторы)
Не участвуетНетДаАдрес контракта Fee Distributor
Не участвуетДаНетАдрес контракта megapool
Не участвуетДаДаВалидаторы megapool → адрес megapool
Валидаторы minipool → адрес Fee Distributor
(Устанавливается для каждого валидатора через keymanager API)

Rocket Pool разработан для справедливого распределения этих вознаграждений между вами и стейкерами пула rETH, так же, как он справедливо распределяет ваши вознаграждения Beacon chain: ваша часть любых комиссий за приоритет, которые зарабатывают ваши валидаторы minipool, пойдет вам (плюс средняя комиссия всех ваших minipool), а остающаяся часть пойдет стейкерам пула (минус ваша средняя комиссия). Точная часть зависит от количества minipool с залогом в 8 ETH, minipool с залогом в 16 ETH и валидаторов megapool с залогом в 4 ETH, которые у вас есть.

Вкратце, Fee Distributor - это уникальный контракт, привязанный к вашей ноде, который собирает и справедливо распределяет ваши комиссии за приоритет между вами и стейкерами rETH. Это как ваше личное хранилище для комиссий за приоритет. Любой (включая вас) может распределить его баланс в любое время, чтобы гарантировать, что вознаграждения всегда доступны для стейкеров rETH.

Smoothing Pool - это специальный контракт по желанию, который позволяет всем участвующим операторам нод объединять и группировать свои комиссии за приоритет вместе и распределять их равномерно среди участников во время каждого интервала вознаграждений Rocket Pool (в настоящее время каждые 28 дней) и стейкеров пула rETH. Это очень привлекательная функция для операторов нод, которые не хотят беспокоиться о факторе удачи, связанном с получением предложений блоков с высокими комиссиями за приоритет, и предпочли бы иметь приятный, регулярный, последовательный набор ежемесячных доходов.

Мы рассмотрим оба этих варианта ниже, чтобы вы поняли разницу и хотите ли вы присоединиться к Smoothing Pool.

ПРИМЕЧАНИЕ

Для minipool, созданных после 28 октября 2024 года, настоятельно рекомендуется Smoothing Pool, поскольку он используется для распределения бонусной комиссии. Если вы откажетесь от Smoothing Pool, эти minipool получат общую комиссию в 5%. Если вы присоединитесь к Smoothing Pool, эти minipool получат комиссию от 10% (RPL не застейкано) до 14% (стоимость застейканного RPL составляет 10% от заимствованных ETH или более).

Ваш Fee Distributor

Ваш Fee Distributor - это уникальный контракт на уровне Execution, который специфичен для вашей ноды. Он будет хранить все комиссии за приоритет, которые вы заработали с течением времени, и содержит логику, необходимую для справедливого распределения их между стейкерами пула rETH и вашим адресом для вывода средств. Этот процесс распределения может быть вызван кем угодно (включая стейкеров rETH) и может быть выполнен в любое время. У него нет временного ограничения до истечения срока действия вознаграждений.

Адрес Fee Distributor вашей ноды детерминированно основан на адресе вашей ноды. Это означает, что он известен заранее, до того, как Fee Distributor будет создан.

Новые ноды Rocket Pool автоматически создадут (инициализируют) контракт Fee Distributor своей ноды при регистрации. Это нужно выполнить только один раз.

Одним интересным следствием этого является то, что адрес вашего дистрибьютора может начать накапливать баланс до того, как вы инициализировали контракт Fee Distributor. Это нормально, потому что ваш дистрибьютор получит доступ ко всему этому существующему балансу, как только вы его инициализируете.

Просмотр его адреса и баланса

Вы можете просмотреть адрес и баланс вашего fee distributor как часть:

rocketpool node status

Вывод будет выглядеть так:

Получение комиссий из вашего Fee Distributor

Вы можете забрать и распределить весь баланс вашего fee distributor с помощью следующей команды:

rocketpool node distribute-fees

Это отправит вашу долю вознаграждений на ваш адрес вывода средств.

ПРИМЕЧАНИЕ О НАЛОГООБЛАГАЕМЫХ СОБЫТИЯХ

Всякий раз, когда вы создаете новый minipool, Rocket Pool автоматически вызовет distribute-fees. Это делается для того, чтобы любые накопленные вами комиссии были распределены с использованием средней комиссии вашей ноды, которая может измениться при создании нового minipool. Это не применяется при создании валидатора megapool.

Также обратите внимание, что любой может вызвать distribute-fees на вашем fee distributor (чтобы вы не удерживали вознаграждения rETH в заложниках). У вас может возникнуть налогооблагаемое событие всякий раз, когда вызывается этот метод.

Пожалуйста, учитывайте эти условия при принятии решения о том, использовать ли Smoothing Pool (обсуждается ниже).

Система штрафов

Чтобы гарантировать, что операторы нод не "обманывают", вручную изменяя получателя комиссии, используемого в их клиенте Validator, Rocket Pool использует систему штрафов.

Oracle DAO может штрафовать операторов нод, которые не соблюдают правила протокола.

Если нода отказалась от Smoothing Pool, следующие адреса считаются допустимыми получателями комиссий:

  • Адрес rETH
  • Адрес Smoothing Pool
  • Контракт fee distributor ноды
  • Контракт megapool ноды

Если нода присоединилась к Smoothing Pool, следующий адрес считается допустимым получателем комиссий:

  • Адрес Smoothing Pool

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

Программное обеспечение Smart Node автоматически устанавливает правильный получатель комиссии в зависимости от вашей конфигурации (участвуете ли вы в Smoothing Pool, и есть ли у вас валидаторы megapool, minipool или и то, и другое). Для нод с валидаторами megapool и minipool при отказе от участия получатель комиссии устанавливается для каждого валидатора с использованием keymanager API. Полный список условий представлен здесь.

Программное обеспечение Smartnode разработано так, чтобы гарантировать, что честные пользователи никогда не будут оштрафованы, даже если для этого придется отключить клиент Validator. Если это произойдет, вы перестанете аттестовать и увидите сообщения об ошибках в ваших лог-файлах о том, почему Smartnode не может правильно установить вашего получателя комиссии.

Smoothing Pool

Smoothing Pool - это уникальная функция сети Rocket Pool, доступная по желанию нашим операторам нод. По сути, он становится получателем комиссии для каждого оператора ноды, который присоединяется к нему, и коллективно накапливает комиссии за приоритет от блоков, предложенных этими операторами нод, в один большой пул. Во время контрольной точки вознаграждений Rocket Pool (те же, что используются для распределения вознаграждений RPL), общий баланс ETH пула справедливо распределяется между стейкерами пула и операторами нод, которые присоединились к нему.

По сути, Smoothing Pool - это способ эффективно устранить случайность, связанную с выбором для предложений блоков. Если у вас когда-либо была полоса неудач и вы месяцами не получали предложение, или если ваши предложения блоков имели только низкие комиссии за приоритет, вы можете найти Smoothing Pool весьма захватывающим.

Чтобы упростить математику, член сообщества Кен Смит составил масштабный анализ, сравнивающий прибыльность Smoothing Pool и fee distributor, который прекрасно резюмируется этой диаграммой:

Вкратце, пока в Smoothing Pool больше minipool, чем у вас, более вероятно, что вы выиграете, присоединившись к нему.

Правила

Smoothing Pool использует следующие правила:

  • Во время контрольной точки вознаграждений Rocket Pool, когда распределяется баланс Smoothing Pool между операторами нод (с учетом их комиссии), операторами нод со стейкингом RPL, стейкерами rETH и, возможно, DAO Rocket Pool. Точные проценты определяются управлением Protocol DAO (pDAO) Rocket Pool

  • Присоединение к Smoothing Pool осуществляется на уровне ноды. Если вы присоединяетесь, все ваши minipool и валидаторы megapool присоединяются.

  • Любой может присоединиться в любое время. Они должны подождать полный интервал вознаграждений (3 дня на Hoodi, 28 дней на Mainnet), прежде чем выйти, чтобы предотвратить манипулирование системой (например, выход из SP сразу после выбора для предложения блока).

    • После выхода они должны подождать еще один полный интервал, чтобы снова присоединиться.
  • Smoothing Pool вычисляет "долю" каждого валидатора (часть ETH пула за интервал), принадлежащую каждой присоединившейся ноде.

    • Доля является функцией производительности вашего валидатора во время интервала (вычисляется путем просмотра того, сколько аттестаций вы отправили в Beacon Chain и сколько пропустили), и ставки комиссии.
  • Общая доля вашей ноды - это сумма долей ваших валидаторов.

  • Общая доля вашей ноды масштабируется в зависимости от времени, в течение которого вы были присоединены.

    • Если вы были присоединены на протяжении всего интервала, вы получаете свою полную долю.
    • Если вы были присоединены на 30% интервала, вы получаете 30% вашей полной доли.

Если вас интересуют полные технические детали расчета вознаграждений Smoothing Pool, пожалуйста, ознакомьтесь с полной спецификацией здесь.

Присоединение и выход из Smoothing Pool

Чтобы присоединиться к Smoothing Pool, выполните следующую команду:

rocketpool node join-smoothing-pool

Это запишет вас как присоединившегося в контрактах Rocket Pool и автоматически изменит fee recipient вашего клиента Validator с контракта дистрибьютора вашей ноды на контракт Smoothing Pool.

Чтобы покинуть пул, выполните эту команду:

rocketpool node leave-smoothing-pool

Это запишет вас как вышедшего в контрактах Rocket Pool, и после небольшой задержки автоматически изменит fee recipient вашего клиента Validator с контракта Smoothing Pool обратно на контракт Fee Distributor вашей ноды.

Получение вознаграждений из Smoothing Pool

Вознаграждения из Smoothing Pool объединяются вместе с RPL в конце каждого интервала вознаграждений с использованием системы вознаграждений Redstone. Получение их так же просто, как выполнение:

rocketpool node claim-rewards

Если вы присоединились к Smoothing Pool, вы заметите, что количество ETH, которое вы получаете за каждый интервал, больше нуля:

Welcome to the new rewards system!
You no longer need to claim rewards at each interval - you can simply let them accumulate and claim them whenever you want.
Here you can see which intervals you haven't claimed yet, and how many rewards you earned during each one.

Rewards for Interval 0 (2022-08-04 01:35:39 -0400 EDT to 2022-09-01 01:35:39 -0400 EDT):
	Staking:        50.820133 RPL
	Smoothing Pool: 0.000000 ETH

Rewards for Interval 1 (2022-09-01 01:35:39 -0400 EDT to 2022-09-29 01:35:39 -0400 EDT):
	Staking:        40.668885 RPL
	Smoothing Pool: 0.096200 ETH

Total Pending Rewards:
	91.489018 RPL
	0.096200 ETH

Which intervals would you like to claim? Use a comma separated list (such as '1,2,3') or leave it blank to claim all intervals at once.

Обратите внимание, что вознаграждения Smoothing Pool в интервале 1 здесь указывают, что нода была присоединена во время этого интервала и получила вознаграждения соответственно.

Мы рассмотрим более подробно получение вознаграждений RPL и Smoothing Pool позже в руководстве, в разделе Получение вознаграждений.

Следующие шаги

Как только вы решите, хотите ли вы присоединиться к Smoothing Pool, взгляните на следующий раздел о MEV и вознаграждениях MEV.