Minipoolのシャットダウン
バリデータの終了
minipoolを実行したくなくなり、Beacon Chainにロックされている全残高にアクセスしたい場合は、いくつかのステップを実行する必要があります。
- Beacon ChainからminipoolのバリデータのボランタリーExit要求を送信します。
- バリデータが終了するのを待ちます。
- バリデータの残高がExecution Layer上のminipoolに引き出されるのを待ちます。
- minipoolを閉じて報酬を分配し、資金にアクセスします。
以下で各ステップについて説明します。
Exit要求の送信
minipoolに接続されているバリデータを終了したい場合は、次のコマンドを実行します。
終了できるminipoolのリストが表示されます。
終了を確認すると、ノードはBeacon Chainにボランタリーexit要求を送信します。 これは通常のExecution Layerトランザクションではないため、ガス代を支払う必要はありません。
終了したばかりのminipoolのバリデータ公開鍵が必要な場合は、rocketpool minipool statusを使用して取得できます。
https://beaconcha.in(またはHoodi Testnetの場合はhttps://hoodi.beaconcha.in)などのBeacon Chainエクスプローラーでバリデータの終了ステータスを確認できます。
ステータスが更新されるまでに時間がかかりますが、更新されると「exiting」状態で表示されます。
ここでは、StatusがExitingで、終了するエポック(5224)が強調表示され、「Exited」アイコンが緑色に点滅して操作が進行中であることを示しています。
バリデータが終了するまでに時間がかかることがあります。特に多数のバリデータが同時にBeacon Chainを終了している場合は注意してください。プロトコルはエポックごとに少数のバリデータのみが終了することを許可するように設計されているため、順番を待つ必要がある場合があります。
終了エポックが経過すると、バリデータは正式にチェーンを終了し、アテステーションやブロック提案を行わなくなります。 Validator Clientログまたはエクスプローラーで確認できます。
ステータスがExitedに変更され、その下にwithdrawable epochを示すテキストがあります(終了後256エポック、または約27時間後である必要があります)。
Beaconcha.inは、バリデータが終了する時刻と引き出し可能になる時刻のローカルタイムスタンプも便利に提供しています。
withdrawable状態に入ると、バリデータはBeacon Chainによって報酬分配のためにエンキューされます。 このキューは、現在引き出し中のバリデータの数によって異なります。 順番が来ると、Beacon Chainは自動的に残高をExecution Layer上のminipoolのアドレスに送信します。 この時点で、Smartnode CLIを使用して分配を実行してアクセスできます。
全報酬の分配
このプロセスでは、バリデータがBeacon Chainから終了し、バリデータの残高がminipoolコントラクトに転送されている必要があります。 そのプロセスの復習が必要な場合は、上記のバリデータの終了セクションを参照してください。完了したらここに戻ってください。
Beacon Chainからバリデータを終了し、残高がminipoolコントラクトに入金されている場合は、1つのコマンドで全体を安全に引き出すことができます。 手動分配とは異なり、このプロセスは実際にminipoolをファイナライズし、閉じて非アクティブにします。 Beacon Chainから残高が引き出され、次のプロセスを経て資金にアクセスすると、minipoolの役割は終わります。
資金を取得してminipoolを閉じるには、次のコマンドを実行します。
これにより、閉鎖の対象となるminipoolのリストが表示されます。
ここでは、対象となる各minipoolの総残高、その残高のうちあなたに分配される金額、および払い戻しとして予約されている残高の金額(これは分配をバイパスします)を確認できます。
リストから分配して閉じたいminipoolを選択し、アクションを確認して、トランザクションが検証されるのを待ちます。
完了すると、minipoolの残高のあなたの分(および払い戻し)が引き出しアドレスに送信され、minipoolはfinalized状態になります。
ブロックエクスプローラーでトランザクションを確認することで検証できます。たとえば、上記のminipoolを閉じるトランザクション(Goerli Testnet)を参照してください。
RPLのアンステーキング
この時点で、有効なRPLが更新され、このminipoolが計算から削除されます。 これで、ボンドされたETHの60%しきい値を超える可能性のあるRPLをアンステーキングできます。
ノードに対してRPLをアンステーキングするには、次のコマンドを実行します。
RPL引き出しには2つの制限があります。
RPLはステーキング(または再ステーキング)してから28日以内に引き出すことはできません。minipoolを閉じる前にこれらの報酬を請求する場合は注意してください。RPL報酬の任意の量を再ステーキングすると、最後のステーキングアクションから28日間RPLを引き出すことができません。
RPLは、総ボンドETHの60%まで引き出すことができます。完全な終了の場合、すべてを引き出すことができます。部分的な終了の場合は、この制限を念頭に置いて計画してください。
古いDelegateに関する注意
Rocket Poolの立ち上げからAtlasのデプロイまですべてのminipoolに割り当てられたオリジナルのminipool delegateは、2つの前提を念頭に置いて構築されました。
- minipoolに残高がある唯一の時間は、バリデータがBeacon Chainを終了した後です。
- Oracle DAOは、残高がBeacon Chainからminipoolコントラクトに転送されると、minipoolの状態を「staking」から「withdrawable」に変更します。
最初のポイントは、Ethereumがスキミングをサポートするためにアップグレードされているため、明らかにもはや関連していません。 2番目のポイントももはや真実ではありません。なぜなら、Oracle DAOは「withdrawable」minipoolをフラグしなくなったからです。 これは、Oracle DAOがRocket Poolノードオペレーターに対して持つ権限を減らし、信頼された当事者に対する追加要件なしに報酬にアクセスできるようにするための意図的な設計上の決定でした。
これらの欠陥のため、Smartnode CLIは、オリジナルのminipool delegateでの引き出しまたは資金分配をもはやサポートしていません。 報酬にアクセスしたい場合は、上記の新しい引き出し条件をサポートするAtlas delegateにアップグレードする必要があります。
上級ユーザーで、CLIをバイパスしてサードパーティツールを介してコントラクトで直接分配機能を呼び出す場合は、次の点に注意してください。
- delegateの分配関数は、minipoolの残高が16 ETH未満の場合にリバートします。16 ETH未満の残高はアクセスできません。
- minipoolの残高が16 ETHから32 ETHの間の場合、オリジナルのdelegateによる分配はバリデータがスラッシュされたと想定します。16 ETHをステーキングプールに返し、残りをあなたに与えます。minipoolの残高が32 ETHを超える場合にのみ、適切に機能します。
- Oracle DAOはそれを
withdrawableとしてマークしないため、minipoolはfinalized状態に入ることはありません。したがって、ETHにアクセスできる場合でも、RPLはロックされます。Atlas delegateにアップグレードするまでロックされます。
これらの理由から、最初からAtlas delegateにアップグレードして、これらを完全に回避することを強くお勧めします。