*本ページはLidoの公式文書である「Lido Docs」に格納されたhttps://docs.lido.fi/staking-modules/csm/join-csmを日本語に翻訳したものです。本モジュールの対象者が個人やアマチュアのETHステーカーである「コミュニティ・ステーカー」や近い将来にEthereumのバリデータとなることを検討している個人である点を考慮し、一部原文にはない補足説明を行っています。

<aside> <img src="/icons/code_blue.svg" alt="/icons/code_blue.svg" width="40px" /> もくじ

</aside>

joincsm1.png

ノードオペレータの作成

CSMでノードオペレータになるか、既存のノードオペレータに新しいバリデータを登録するには、少なくとも1つのバリデータ公開鍵、対応するデポジット署名(deposit signature)、および対応する担保額を預け入れる必要があります。

デポジットデータの準備とアップロード

CSMは、Curatedモジュール同じ形式(バリデータ公開鍵(validator pubkey)+デポジット署名(deposit signature))でデポジットデータを受け付けますが、主な違いはデポジットデータのアップロード前または追加のデポジットデータのアップロード時に担保を提出する必要がある点です。

デポジット署名(deposit signature)は、(deposit_message, domain) 根に署名しなければなりません。domainはチェーンを識別するために使用され、deposit_messageは以下のタプル形式になります:

担保金について

<aside> <img src="/icons/report_blue.svg" alt="/icons/report_blue.svg" width="40px" /> Info

本ぺージでは、用語「担保」は次の意味を持ちます:

担保:ノードオペレータがCSMにバリデータキーをアップロードする前に提出しなければならないセキュリティ担保のことです。この担保は、ノードオペレータの不適切な行為に起因する損失をカバーします。損失が発生している場合、バリデータがビーコンチェーンから退出してバリデータ運用を終了する際に担保金を用いて清算します。発生したすべての損失がカバーされると、この担保を払い戻したり、新しいバリデータキーのアップロードに再利用したりできます。

</aside>

担保は(Ethereumバリデータそれ自体ではなく)Lidoを通してバリデータ業務を行うノードオペレータに通じる特徴です。担保はstETHの形式で保管されます。ノードオペレータは担保のトークンとしてETH、stETH、wstETHのいずれかを預け入れます。預け入れられたETHはLidoを通し直接ステークされる一方で、wstETHは預け入れ時にアンラップされます。従って、バックエンドでは、Lido上にプールされたETHの総数( totalPooledEther)によりLidoのシェアを表すstETHが唯一の担保形式となります。

必要な担保の総額はノードオペレータのバリデータの総数に依存し、曲線の形式をとります(詳細はgetBondAmountByKeysCount(keysCount)を参照してください)。

join csm 2 (3).png

上記グラフはバリデータ数に応じて個人の預け入れ担保の総額がどの様に変容するかを視覚化しています。先述の通り、グラフは直線の形を取っておらず、運用するバリデータ数が少ない際には、担保の額が大きくなることがわかります。

joincsm 3.png

getBondAmountByKeysCount関数が実装されると、担保曲線のパターンは複数個存在することになる可能性があります。上記のグラフは縦軸に1台当たりの担保金額を、横軸に運用するバリデータの数を取っています。デフォルトの曲線はノードオペレータの作成時に全てのノードオペレータに割り当てられます。後からノードオペレータにカスタム曲線を設定することも可能です。