コンテンツへスキップ

Lido CSMの設定方法

公式ドキュメント設定ガイドに更新があるかもしれないので見比べながら実施する。
※サーバーをソロステーキングと併用する想定。
※Holeskyテストネットでの手順です。

(最終更新2024年7月6日)

目次

Lido CSMとは

Lido CSM (Community Staking Module)とはソロステーカー達がバリデーター役を担うLidoの新しいリキッドステーキングサービスです。

従来のLidoのリキッドステーキングは許可型(permissioned)で、Lido DAOが選んだ”プロ”の団体しかバリデーターになれませんでした。Lido CSMでは、チェーンアクティビティの特徴からソロステーカーと認定されているアドレスの所有者であれば、追加のスクリーニングなく自由に参加できます(permissionless)。自分が参加対象になっているかはここで確認できます。

Lido CSMのバリデーターになるには、バリデーター1つあたり1.5~2 ETHを担保にする必要があります。担保はETH, stETH, wstETHから選ぶことができ、通常のstETHと同様に、担保にもステーキング報酬が発生します(stETH以外を担保にした場合、stETHに変換するのに若干の取引手数料が上乗せされます)。バリデーター運用の報酬と合わせると、stETHを裸で保有しているのに比べ、利回りが2倍くらいになります。

Lido CSMの設定手順

バリデーターのkeystoreを作成する際に、withdrawal addressとfee recipientをLidoの指定するアドレスにします。Deposit dataは通常のステーキングローンチパッドにアップロードせず、Lido CSM Widgetにアップロードします。担保をLido CSM Widgetに送付すると、Lidoが代理で32ETHをデポジットしてくれ、バリデーターが稼働されます。

バリデーターkeyの作成

  • keystoreを生成する前に、ソロステーキングのkeystoreとdeposit dataが残っていたら削除する。
cd ~/staking-deposit-cli/validator_keys

sudo rm
  • keystoreとdeposit dataを生成する。Lido CSM指定のwithdrawalアドレスにする。
./deposit new-mnemonic --num_validators バリデーター数 --chain holesky --eth1_withdrawal_address 0xF0179dEC45a37423EAD4FaD5fCb136197872EAd9

バリデーターサービスの設定

サーバーをソロステーキングと併用する場合、validator_definitions.ymlでバリデーターごとに異なるfee-recipientを指定することができますが、keystoreのバックアップフレーズまで併用したくないし、管理上シンプルにするためにソロステーキングと完全にサービスを分けます。

  • Lido CSM用のkeystoreを保存するディレクトリを作成し、keystoreを取り込む。
sudo mkdir -p /var/lib/lighthouselido/validators

cd /usr/local/bin

sudo lighthouse account validator import --network holesky --datadir /var/lib/lighthouselido --directory=$HOME/staking-deposit-cli/validator_keys
  • 新しいユーザーを作成し、keystoreを取り込んだディレクトリの権限を付与する。
sudo useradd --no-create-home --shell /bin/false lighthouselidovalidator

sudo chown -R lighthouselidovalidator:lighthouselidovalidator /var/lib/lighthouselido/validators
  • サーバー起動時にバリデーターが自動的に実行されるためのserviceファイルを作成する。Lido CSM指定のfee recipientアドレスにする。
sudo nano /etc/systemd/system/lighthouselidovalidator.service
[Unit]
Description=Lighthouse Lido Validator
Wants=network-online.target
After=network-online.target

[Service]
User=lighthouselidovalidator
Group=lighthouselidovalidator
Type=simple
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/lighthouse vc \
  --network holesky \
  --datadir /var/lib/lighthouselido \
  --suggested-fee-recipient 0xE73a3602b99f1f913e72F8bdcBC235e206794Ac8 \
  --builder-proposals

[Install]
WantedBy=multi-user.target
  • バリデーターを起動し、ログに問題がなければ、サーバー起動時にバリデーターが自動的に実行されるようにする。
sudo systemctl daemon-reload

sudo systemctl start lighthouselidovalidator

sudo journalctl -fu lighthouselidovalidator

sudo systemctl enable lighthouselidovalidator

Lido CSM Widgetの設定

  • SFTPを使用してdeposit dataをブラウザ操作するパソコンに送付する。
sftp -P xxxxx ethereum@192.168.0.xx

get staking-deposit-cli/validator_keys/deposit_data-1720243315.json deposit_data_lido.json
  • ソロステーキングの設定に干渉しないように、用済みのkeystoreとdeposit dataは削除する。
cd ~/staking-deposit-cli/validator_keys

sudo rm
  • 担保と送金手数料をソロステーカー認定されているウォレットに用意する。
  • Lido CSM Widgetを開き、ソロステーカー認定されているウォレットを「Connect wallet」ボタンでつなげる。
  • 「Create Node Operator」ボタンをクリックする。
  • 担保をETH, stETH, wstETHから選択し、deposit dataの中身をコピペし、Submitをクリックする。