Обновление Rocket Pool Redstone
Следующее крупное обновление Rocket Pool, названное Redstone, было выпущено для бета-тестирования в тестовых сетях Ropsten и Holesky. Эта страница описывает основные изменения, которые приносит Redstone, включая обновления как стека Smartnode, так и протокола Rocket Pool в целом.
Пожалуйста, внимательно прочитайте эту страницу, чтобы понять все различия между предыдущей версией Rocket Pool и Redstone.
Для получения подробной информации о том, как подготовить вашу ноду к обновлению и что делать после обновления, пожалуйста, ознакомьтесь со следующими руководствами:
Изменения клиентов и The Merge
Ropsten (и вскоре Holesky) успешно прошли The Merge уровней Execution и Consensus. Они больше не используют Proof-of-Work; вместо этого валидаторы на Ropsten теперь ответственны за создание и предложение блоков в обеих цепочках. Хотя это приходит с некоторыми захватывающими финансовыми преимуществами (которые будут обсуждаться позже), это также приходит с некоторыми важными изменениями в способе работы валидаторов.
Ниже приведено краткое резюме изменений в поведении клиентов как части The Merge:
-
Ваш Execution клиент теперь использует три API порта:
- Один для HTTP доступа к его API (по умолчанию 8545)
- Один для Websocket доступа к его API (по умолчанию 8546)
- Один для нового Engine API, используемого Consensus клиентами после The Merge (по умолчанию 8551)
-
Execution клиентам теперь требуется Consensus клиент для функционирования, а Consensus клиентам теперь требуется Execution клиент для функционирования.
- Ни один из них больше не может работать изолированно.
-
Один Execution клиент должен быть связан с одним, и только одним, Consensus клиентом (и наоборот).
- Вы не сможете связать несколько Execution клиентов с одним Consensus клиентом или несколько Consensus клиентов с одним Execution клиентом.
- Из-за этого резервные execution клиенты больше не доступны для операторов нод Rocket Pool.
-
Полные execution клиенты требуются.
- Удаленные провайдеры (такие как Infura и Pocket) больше не могут использоваться никакими валидаторами, Rocket Pool или иными.
Получатели комиссий и ваш дистрибьютор
Поскольку валидаторы теперь ответственны за создание блоков, это означает, что они получают приоритетные комиссии (также известные как чаевые), прикрепленные к каждой транзакции. Эти комиссии выплачиваются в ETH, и они предоставляются непосредственно вам каждый раз, когда один из ваших валидаторов minipool предлагает блок. В отличие от ETH, заблокированного на Beacon Chain, вам не нужно ждать выводов, чтобы получить доступ к вашим приоритетным комиссиям! Они просто присуждаются вам как часть процесса предложения блока.
Чтобы знать, куда отправлять комиссии, вашему Validator клиенту требуется дополнительный параметр, известный как fee recipient.
Это адрес на уровне Execution Layer (ETH1), на который будут отправляться все приоритетные комиссии, заработанные вашей нодой во время предложений блоков.
Rocket Pool разработан для справедливого распределения этих наград, так же как он справедливо распределяет ваши награды Beacon chain: половина любых приоритетных комиссий, которые зарабатывают ваши валидаторы minipool, пойдет вам (плюс средняя комиссия всех ваших minipools), а другая половина пойдет стейкерам пула (минус ваша средняя комиссия).
Для этого Smartnode автоматически установит fee recipient вашего Validator клиента на специальный адрес, известный как дистрибьютор комиссий вашей ноды.
Ваш дистрибьютор комиссий - это уникальный контракт на уровне Execution Layer, который специфичен для вашей ноды.
Он будет хранить все приоритетные комиссии, которые вы заработали со временем, и содержит логику, необходимую для их справедливого разделения и распределения.
Этот процесс распределения контролируется вами (оператором ноды) и может быть выполнен, когда вам угодно.
Он не имеет временных ограничений.
Адрес дистрибьютора комиссий вашей ноды детерминированно основан на адресе вашей ноды. Это означает, что он известен заранее, до того, как дистрибьютор комиссий даже создан. Smartnode будет использовать этот адрес в качестве вашего получателя комиссий.
По умолчанию ваш получатель комиссий будет установлен на адрес rETH, когда вы установите Smartnode v1.5.0 (если обновления контрактов Redstone еще не были развернуты). Smartnode автоматически обновит это на адрес дистрибьютора комиссий вашей ноды после развертывания обновления Redstone.
Одним исключением из этого правила является, если вы подписаны на Smoothing Pool - см. раздел в конце этой страницы для получения дополнительной информации об этом.
Новые ноды Rocket Pool автоматически инициализируют контракт дистрибьютора своей ноды при регистрации. Существующие ноды должны будут выполнить этот процесс вручную. Это нужно сделать только один раз.
Одно интересное последствие этого заключается в том, что адрес вашего дистрибьютора может начать накапливать баланс до того, как вы инициализируете контракт дистрибьютора вашей ноды. Это нормально, потому что ваш дистрибьютор получит доступ ко всему этому существующему балансу, как только вы его инициализируете.
Вы можете просмотреть баланс вашего дистрибьютора комиссий как часть:
Вывод будет выглядеть так:

Чтобы инициализировать дистрибьютор вашей ноды, просто выполните эту новую команду:
После обновления Redstone вы должны вызвать эту функцию, прежде чем сможете создать какие-либо новые minipools с помощью rocketpool node deposit.
Когда ваш дистрибьютор был инициализирован, вы можете потребовать и распределить его полный баланс с помощью следующей команды:
Это отправит вашу долю наград на ваш адрес вывода.
Изменения протокола Rocket Pool
В дополнение к изменениям клиентов Execution и Consensus и новым приоритетным комиссиям, сам протокол Rocket Pool претерпел некоторые важные изменения, о которых вы должны знать.
Новая система наград
Одним из наиболее значительных изменений, введенных с обновлением Redstone, является новая система наград. Это полная переделка способа получения наград RPL операторами нод (и ETH из Smoothing Pool - обсуждается позже).
Старая система наград имела следующие недостатки:
- Требование стоило примерно 400k газа, что довольно дорого.
- Операторы нод должны были требовать награды в каждом интервале (каждые 28 дней), или они теряли их. Это означало, что затраты на газ могли стать запретительно дорогими для операторов нод с небольшими суммами RPL.
- Награды определялись во время требования, а не во время контрольной точки. Если пользователь застейкал значительную сумму RPL между контрольной точкой и вашим требованием, ваши награды могли быть разбавлены, и вы получили бы меньше RPL, чем ожидали.
Новая система требований решает все эти проблемы.
В каждом интервале Oracle DAO коллективно создаст истинный снимок состояния операторов нод в сети Rocket Pool, включая все их эффективные суммы ставок. Эта информация компилируется в дерево Меркла - чрезвычайно эффективный способ сделать все детали доступными для смарт-контрактов. Дерево Меркла встроено в JSON файл и размещено в InterPlanetary File System (IPFS), а корень дерева Меркла отправляется в контракты.
Эта новая система имеет следующие особенности:
- Теперь вы можете позволить наградам накапливаться столько, сколько хотите. Больше нет временных ограничений на то, когда вам нужно требовать.
- Вы можете требовать несколько интервалов одновременно.
- Ваша первая транзакция требования использует около 85k газа. Каждая последующая транзакция требования стоит около 55k газа.
- Если вы требуете несколько интервалов одновременно, каждый дополнительный интервал стоит 6k газа, поэтому наиболее экономически эффективно требовать как можно больше из них одновременно.
- Ваши награды RPL больше не разбавляются - ваши награды RPL фиксируются во время снимка, и вы всегда имеете право на эту сумму.
- Вы можете пере-стейкать некоторые (или все) ваши награды RPL как часть транзакции требования, что дополнительно сокращает требования к газу по сравнению с сегодняшним днем.
- В настоящее время все ваши требования должны быть на Mainnet, но у нас есть инфраструктура, чтобы построить возможность требовать в сетях Layer 2 на более позднюю дату.
Когда ваша нода обнаруживает новую контрольную точку наград, она автоматически загрузит JSON файл для этого интервала. Затем вы можете просмотреть свои награды с помощью следующей команды:
По мере того, как проходят интервалы и вы накапливаете награды, вывод будет выглядеть так:

Здесь вы можете быстро увидеть, сколько наград вы заработали в каждом интервале, и можете решить, какие из них вы хотите требовать. Обратите внимание, что время интервала Ropsten установлено на 1 день для облегчения тестирования.
Вы также можете указать сумму, которую хотите пере-стейкать во время этого требования:

Это позволит вам складывать ваши награды RPL в одной транзакции, используя значительно меньше газа, чем вам нужно использовать сегодня.
Если вы предпочитаете создавать контрольную точку наград вручную вместо загрузки той, которая создана Oracle DAO, вы можете изменить эту настройку с Download на Generate в TUI:

Как подразумевает подсказка, вам понадобится доступ к архивной ноде для этого.
Если ваш локальный Execution клиент не является архивной нодой, вы можете указать отдельную (например, Infura или Alchemy) в поле Archive-Mode EC URL ниже.
Этот URL будет использоваться только при генерации деревьев Меркла; он не будет использоваться для обязанностей валидации.
Если вы ниже 10% залога RPL во время снимка, вы не будете иметь право на награды для этого снимка. В отличие от текущей системы, где вы можете просто "пополнить" перед тем, как требовать, чтобы снова стать приемлемым, это будет зафиксировано в этом снимке навсегда, и вы никогда не получите награды за этот период. Вы должны быть выше 10% залога во время снимка, чтобы получить награды за этот период.
Smoothing Pool
Еще одна финальная захватывающая новая функция обновления Redstone - это Smoothing Pool. Smoothing Pool - это опциональная функция, которая будет коллективно объединять приоритетные комиссии каждого члена, подписанного на нее. Во время контрольной точки наград общий баланс ETH пула делится на часть стейкера пула и часть оператора ноды. Все награды в части оператора ноды справедливо распределяются каждому члену пула.
По сути, Smoothing Pool - это способ эффективно устранить случайность, связанную с предложениями блоков на Beacon Chain. Если у вас когда-либо была полоса неудач и вы прошли месяцы без предложения, вы можете найти Smoothing Pool довольно захватывающим.
Награды Smoothing Pool встроены в дерево Меркла, используемое для наград RPL, поэтому вы требуете их одновременно с требованием RPL, используя rocketpool node claim-rewards.
Чтобы помочь прояснить детали, Smoothing Pool использует следующие правила:
-
Подписка на Smoothing Pool выполняется на уровне ноды. Если вы подписываетесь, все ваши minipools подписаны.
-
Общая доля оператора ноды определяется средней комиссией каждого minipool в каждой ноде, подписанной на Smoothing Pool.
-
Любой может подписаться в любое время. Они должны подождать полный интервал наград (1 день на Ropsten, 28 дней на Mainnet) перед отпиской, чтобы предотвратить игру в систему.
- После отписки вы должны подождать еще один полный интервал, чтобы снова подписаться.
-
Smoothing Pool рассчитывает "долю" каждого minipool (часть ETH пула для интервала), принадлежащую каждой ноде, подписанной.
- Доля является функцией производительности вашего minipool в течение интервала (рассчитывается путем просмотра того, сколько аттестаций вы отправили на Beacon Chain и сколько вы пропустили), и ставки комиссии вашего minipool.
-
Общая доля вашей ноды - это сумма долей ваших minipools.
-
Общая доля вашей ноды масштабируется в зависимости от времени, в течение которого вы были подписаны.
- Если вы были подписаны на полный интервал, вы получаете свою полную долю.
- Если вы были подписаны на 30% интервала, вы получаете 30% своей полной доли.
Чтобы подписаться на Smoothing Pool, выполните следующую команду:
Это запишет вас как подписанного в контрактах Rocket Pool и автоматически изменит fee recipient вашего Validator клиента с контракта дистрибьютора вашей ноды на контракт Smoothing Pool.
Чтобы покинуть пул, выполните эту команду:
Система штрафов
Чтобы гарантировать, что операторы нод не "обманывают", вручную изменяя получателя комиссий, используемого в их Validator клиенте, Rocket Pool использует систему штрафов.
Oracle DAO постоянно отслеживает каждый блок, произведенный операторами нод Rocket Pool. Любой блок, имеющий получателя комиссий, отличного от одного из следующих адресов, считается недействительным:
- Адрес rETH
- Адрес Smoothing Pool
- Контракт дистрибьютора комиссий ноды (если отписан от Smoothing Pool)
Minipool, который предложил блок с недействительным получателем комиссий, получит предупреждение. При третьем предупреждении minipool начнет получать нарушения - каждое нарушение будет вычитать 10% от его общего баланса Beacon Chain, включая заработки ETH, и отправлять их стейкерам пула rETH при выводе средств из minipool.
Нарушения находятся на уровне minipool, а не на уровне ноды.
Программное обеспечение Smartnode разработано для обеспечения того, чтобы честные пользователи никогда не были оштрафованы, даже если ему придется отключить Validator клиент для этого. Если это произойдет, вы прекратите аттестацию и увидите сообщения об ошибках в ваших лог-файлах о том, почему Smartnode не может правильно установить вашего получателя комиссий.
Руководства для до- и после обновления
Для получения подробной информации о том, как подготовить вашу ноду к обновлению и что делать после обновления, пожалуйста, ознакомьтесь со следующими руководствами: