[Hybridモード] RedstoneアップデートとMergeのガイド

このガイドでは、Hybridモードを使用している場合に、RedstoneアップデートとMergeに向けてノードを準備するために知っておくべきすべてのことを説明します。

v1.5.0へのアップグレード前にすべきこと

Smartnodeのv1.5.0以降にアップグレードする前に、次のチェックリストを確認して準備ができていることを確認してください。

完全なExecution Clientへの切り替え

Mergeでは独自のExecution Clientを実行する必要があるため、InfuraやPocketなどのリモートプロバイダーを使用できなくなります。

この変更により、現在ライトExecution Clientを使用している場合は、v1.4のままで完全なクライアントに切り替え、同期が完了するまで待ってから、v1.5にアップグレードする必要があります。

ECとCCの両方が外部管理されていることを確認

以前のバージョンのSmartnodeスタックでは、1つのクライアントをローカル管理、もう1つを外部管理することができました。 たとえば、Smartnodeが管理するExecution Clientと、外部で管理するConsensus Clientに接続することができました。

v1.5以降、この構成はサポートされなくなりました。 ローカル管理されるExecution ClientとConsensus Client(Dockerモードとも呼ばれます)のいずれかに切り替えるか、自分で管理するExecution ClientとConsensus Clientの両方をセットアップする必要があります。

ヒント

SmartnodeにそれぞれのExecution ClientとConsensus Clientを維持させたいが、独自のValidator Client(たとえば、独自のソロステーキングバリデータキーが接続されている場合など)を制御し続けたい場合は、まさにそれを実現するReverse Hybridモードを検討することをお勧めします!

Engine APIのセットアップ

Mergeでは、Execution ClientとConsensus Clientの通信方法が変わります。 古いHTTPまたはWebsocketベースのRPCシステムを使用する代わりに、MergeではExecution Clientが公開するEngine APIと呼ばれる新しいシステムが必要です。

これは、Consensus Clientが古いProof-of-WorkマイニングシステムをProof-of-Stakeに置き換えることを可能にする特別な接続です。これがMergeの中核です。 また、シークレットトークンで認証されているため、Consensus ClientのみがExecution Clientに接続でき、他は何も接続できません。

独自のExecution ClientとConsensus Clientを管理しているため、Engine APIを手動でセットアップする必要があります。 その方法は、実行しているクライアントによって完全に異なります。

CoinCashewには、Execution ClientとConsensus ClientでEngine APIをセットアップする方法についての素晴らしく簡潔なガイドがあります。 それを確認し、アップグレード前に新しい構成が依然として適切にアテステーションすることを確認してテストしてください。

いつものように、Rocket Poolは独自のValidator Clientを管理するため、手動で変更する必要はありません。

v1.5.0へのアップグレード

Smartnodeスタックをv1.5.0にアップグレードすることは、他のアップグレードと変わりません。 単にここの通常の手順に従ってください。

Smartnodeが自動的に処理すること

Hybridモードでは、v1.5.0にアップデートすると、Redstoneをサポートするために必要な変更の一部をSmartnodeが自動的に処理しますが、Hybridモードでは他のものを手動で処理する必要があります。

手動で介入することなくSmartnodeが実行することの簡単なリストを以下に示します。

Fee Recipient

fee recipientは、提案するブロックのすべてのpriority feesを受け取るExecution Layer(eth1)チェーン上のアドレスです。 これは、Validator Clientが最初に起動するときに提供される設定です。

Smartnodeは、v1.5にアップグレードしたときに管理するValidator Clientで正しいアドレスに設定することを処理し、誤ってペナルティを受けることがないように、正しいアドレスを使用していることを常に確認します。

Smoothing Poolにオプトインした場合、それがfee recipientになります。 オプトインしなかった場合、fee distributorコントラクトがfee recipientになります。

アップグレード後に実施すべきこと

Smartnodeがほとんどの変更を処理しますが、手動で実施すべきいくつかの追加事項があります。

アップグレードが成功したことを確認

最初に実施することは、ノードが正しく動作していることを確認することです。 次の手順を検討してください。

  • rocketpool service logs validatorrocketpool service logs nodeでログにエラーがないか確認します。
  • ブロックエクスプローラー(Grafanaダッシュボードやhttps://beaconcha.inなど)で、まだ適切にアテステーションしていることを確認します。
    • Doppelganger保護を有効にしている場合、再起動後にいくつかのアテステーションを見逃すことを覚えておいてください。これは正常です!

MEV-Boostのセットアップ

MEV-boostは、Merge後にProof-of-StakeバリデータにMEV報酬を提供するためにFlashbotsが提供するシステムです。

Rocket Poolは、リターンを最大化し、プロトコルを他のステーキングサービスと競争力のあるものに保つために、すべてのノードでそれを使用することを要求しています。

MEV-boostに接続するために、Beacon Node / Consensus Clientにいくつかの調整を行う必要があります。

MEV-boostは現在HoodiまたはMainnetで利用できないため、この時点でセットアップする必要はありません。 もちろん、この移行期間中に使用しなくてもペナルティは受けません。

利用可能になったら、ノードにインストールして接続する必要がある日付を発表します。 Flashbotsがその時点で従うべき手順を提供し、ここにリンクします。

すべてのnode operatorがMEV-boostを有効にする必要があるという発表を行ったら、Beacon Nodeに適切にインストールして構成されていることを確認する必要があります!

これを怠ると、minipoolにペナルティが科せられます

フォールバックノードのセットアップ

Mergeは、InfuraやPocketなどのリモートプロバイダーと互換性がないため、プライマリがオフラインになったときにフォールバックExecution Clientとしてそれらを使用する機能を失います。

Smartnodeには依然としてフォールバックExecution Client(および現在はフォールバックConsensus Clientも)を提供する機能がありますが、自分で制御するExecution ClientとConsensus Clientを使用する必要があります。

フォールバックノードのセットアップの詳細については、フォールバックノードガイドをご覧ください。

Fee Distributorの初期化

Smoothing Poolにオプトインせず、すべてのpriority feesとMEV報酬をfee distributorコントラクトに請求する場合、最終的にそれを初期化(チェーン上にコントラクトインスタンスを作成)して、withdrawal addressに報酬を請求できるようにする必要があります。

これは比較的安価な操作で、一度だけ実行する必要があります。

ヒント

fee distributorの初期化はいつでも実行できます。 初期化するずっと前からそのアドレスに報酬を蓄積させることができ、初期化後も残高は残ります。

オーバーヘッドコストを最小限に抑えるために、ガス価格が低いときに実施することをお勧めします。

報酬を請求するには初期化する必要があります。

Smoothing Poolへのオプトイン

すぐにSmoothing Poolを利用する予定がある場合は、最初のRedstone報酬期間が終了する前にオプトインして、「適格性」量を最大化する必要があります。

オプトインは次のコマンドを実行することで実施できます。

rocketpool node join-smoothing-pool

報酬の請求

Redstoneアップグレードは、高額で問題のある古い報酬システムを、はるかに安価で、RPLの自動再ステーク(部分的および全額の両方)をサポートし、そして最も重要なことにいつでも報酬を請求できる全く新しいシステムに置き換えます。

報酬の請求に時間制限がなくなり、多くの報酬インターバルを一度に請求する方がコスト効率が良いため、Smartnodeの自動報酬請求機能は削除されました。 次のコマンドで報酬を請求できるようになります。

rocketpool node claim-rewards

これにより、Redstoneアップグレード以降のすべての報酬インターバルにわたって蓄積したすべての報酬が表示されます。

v1.4.3への復元

何らかの理由で気に入らないことがあり、以前のSmartnodeリリースに復元したい場合、簡単に実施できます。 Smartnodeはアップグレード時に以前のバージョンの設定を自動的にバックアップするため、単に以前のバージョン(ここではv1.4.3を示します)を取得して、設定をバックアップに置き換えるだけです。

  1. サービスを停止します。
rocketpool service stop
  1. v1.4.3 CLIをダウンロードします。
Linux x64
Linux arm64
Mac x64
Mac arm64
shell wget https://github.com/rocket-pool/smartnode/releases/download/v1.4.3/rocketpool-cli-linux-amd64 -O ~/bin/rocketpool
  1. v1.4.3パッケージをインストールします。
rocketpool service install -d
  1. 古い設定をv1.4.3バックアップ設定に置き換えます。
cp ~/.rocketpool/user-settings-backup.yml ~/.rocketpool/user-settings.yml
  1. すべての古い設定が現在使用されていることを確認します。
rocketpool service config
  1. 問題がなければ、Smartnodeスタックを起動します。
rocketpool service start

準備完了!古いバージョンに戻り、サービスを開始した直後にアテステーションを開始するはずです。

警告

v1.4.3は非推奨であり、Redstoneアップデートがデプロイされた後は使用できなくなります。 復元する必要がある場合は、コントラクトが更新される前にv1.5.0にアップグレードし直す計画を立ててください!