コンテンツにスキップ

カルダノステークプール運用ガイド

サポート

サポートが必要な場合は、SPO JAPAN GUILDコミュニティで現役のSPOに質問できます

パラメーターを理解する

項目 用途
optimal_pool_count(K) 500 飽和閾値設定用
a0 0.3 誓約報酬係数 
max_tx_size 16384 最大トランザクションサイズ 
max_block_size 90112 最大ブロックサイズ 
epochLength 432000 1エポックのスロット数 
slotsPerKESPeriod 129600 1KES当たりのスロット数 
maxKESEvolutions 62 KES有効期間 
activeSlotsCoeff 0.05 1エポック内の有効スロット率 

スロットを理解する

  • Slot = ジェネシススロットからのスロット
  • Slot epoch = エポック内のスロット

  • 1スロット=1秒

  • 1エポック=432000スロット(epochLength)
    (432000 / 60 = 7200分 / 60 = 120時間 / 24 = 5日)

ブロック生成スロットリーダー

1エポック内のブロック生成有効スロットは5%(432000スロット × 5% = 約21600スロット)
委任量に応じて、スロットリーダーがランダムに決定されます。

1エポックで1ブロック割り当てられるために必要な委任量の目安は以下の通りです。

  • 1M 60%
  • 2M 85%
  • 3M 95%

スロットリーダーの割り当ては、プール間同士で調整されないため以下のタイプのバトルが発生します。

スロットバトル(stolen)

他プールと同じスロットに割り当てられた際に発生
vrf値によるサイコロゲームが行われ出た目の小さいプールのブロックが採用されます。(ステーク量による優位性はなくランダム)

ハイトバトル(Ghosted / missed)

他プールと5秒以内に割り当てられた場合や、前ブロック生成プールのサーバー設定・環境によりブロック伝播遅延が発生することで引き起こる現象。地理的優位性を無くすため、vrf値によるサイコロゲームが行われ出た目の小さいプールのブロックが採用されます。(ステーク量による優位性はなくランダム)

KESとは?

KES=Key-Evolving Signatures

ブロック生成署名用鍵ファイル。過去のブロック署名を書き換えることが出来ないよう90日ごとに更新が必要。

VRFとは?

VRF=Verifiable Random Function

Ouroboros Praosは、VRF(Verifiable Random Function)キーによって、ブロック生成にさらなるセキュリティ層を追加しています。 Ouroboros Praosのスロットリーダーのスケジュールは非公開となっており、VRFキーを使ってスロットリーダーの検証を行っております。

各ファイルの役割と保管場所

証明書とペアキー

🔒・・・ロック必須・再作成不可・紛失不可
🔃・・・更新時書き換え・再作成可能
🔴・・・BP起動で使用
🔷・・・ブロックログで使用

鍵ファイルバックアップについて

🔒マークが付いたファイルはプール運営にとても重要なファイルです。紛失・削除するとプール運営が継続できなくなったり、資金を引き出せなくなります。そのため同一ファイルを複数のUSBなどへ分散保管するようにしましょう。

ファイル 用途 推奨保管場所 重要度
payment.vkey paymentアドレス公開鍵 エアギャップ / USB 🔒
payment.skey paymentアドレス秘密鍵 エアギャップ / USB 🔒
stake.vkey ステークアドレス公開鍵 エアギャップ / USB 🔒
stake.skey ステークアドレス秘密鍵 エアギャップ / USB 🔒
vrf.vkey🔷 VRF公開鍵 BP / エアギャップ / USB 🔒
vrf.skey🔴 VRF秘密鍵 BP / エアギャップ / USB 🔒
node.vkey コールド公開鍵 エアギャップ / USB 🔒
node.skey コールド秘密鍵 エアギャップ / USB 🔒
payment.addr paymentアドレスファイル BP / エアギャップ / USB 🔃
stake.addr ステークアドレス秘密鍵 BP / エアギャップ / USB 🔃
kes.vkey KES公開鍵 エアギャップ / USB 🔃
kes.skey🔴 KES秘密鍵 BP / エアギャップ / USB 🔃
node.cert🔴 プール運用証明書 BP / エアギャップ / USB 🔃
pool.cert プール登録証明書 エアギャップ / USB 🔃
node.counter カウンターファイル エアギャップ / USB 🔃

ノード起動用設定ファイル

ファイル 用途
mainnet-byron-genesis.json Byron設定ファイル
mainnet-shelley-genesis.json Shelley設定ファイル
mainnet-alonzo-genesis.json Alonzo設定ファイル
mainnet-conway-genesis.json Conway設定ファイル
mainnet-config.json ノード設定ファイル
mainnet-topology.json トポロジーファイル

スクリプトファイルやその他

ファイル 用途 推奨保管場所 重要度
startRelayNode1.sh リレー用ノード起動スクリプト リレー 🔃
startBlockProducingNode.sh BP用ノード起動スクリプト BP 🔃
gLiveView.sh ノードGUI用スクリプト リレー/BP 🔃
params.json パラメーターファイル BP 🔃
poolMetaData.json プール情報JSON BP 🔃
poolMetaDataHash.txt poolMetaData.jsonハッシュ値ファイル BP 🔃
topologyUpdater.sh トポロジーフェッチ登録スクリプト リレー 🔃
relay-topology_pull.sh トポロジーファイル生成スクリプト リレー 🔃
fullUtxo.out UTXO出力ファイル 使用後削除可 -
balance.out ウォレット残高出力ファイル 使用後削除可 -
tx.tmp 仮トランザクションファイル 使用後削除可 -
tx.raw トランザクションファイル 使用後削除可 -
tx.signed トランザクション署名付きファイル 使用後削除可 -

作業内容チェックリスト

日次作業

  • ノード稼働状況チェック(Grafana等)
  • ブロック生成ステータス

エポック毎作業

  • 次エポックのブロック生成スケジュール確認
    (320000スロットを超えてからエポック終了までに)

  • リレーノードトポロジーファイルの更新(隠しリレーのみ)

3か月毎作業

不定期作業

  • Ubuntuパッケージアップデート
  • ノードアップデート
  • サードパーティ製アプリアップデート
  • サーバー障害対応
  • プール設定変更など