SPO JAPAN GUILD
ステークプール運用

プール運用マニュアル

このマニュアルは、Cardanoステークプールの運用に必要なパラメーター、鍵ファイルの役割、日々の運用タスク、重要な注意点を体系的にまとめたものです。
実践的で安全な運用ができるように構成されています。

パラメーターの理解

主要なパラメーター一覧:

項目用途
stakeAddressDeposit2 ADAステークキー登録時に必要な保証金
stakePoolDeposit500 ADAプール登録時に必要な保証金
stakePoolTargetNum(K)500飽和閾値設定用(理想的なプール数)
poolPledgeInfluence(a0)0.3誓約(pledge)が報酬に与える影響係数
minPoolCost170 ADAプールが設定できる最小固定費
maxTxSize16384トランザクションの最大サイズ
maxBlockBodySize90112ブロック本体の最大サイズ
epochLength4320001エポック内のスロット数
slotLength11スロットの長さ(秒)
activeSlotsCoeff0.05ブロック生成が可能とみなされるアクティブスロット係数
slotsPerKESPeriod1296001回分のKES有効期間(スロット数)
maxKESEvolutions62KESを進化(evolve)できる回数の上限

スロットの理解

  • スロット(Slot) = ジェネシスからの通算スロット番号
  • スロットエポック(Slot epoch) = エポック内でのスロット番号
  • 1スロット=1秒(slotLength)
  • 1エポック=432,000スロット(epochLength)
    → 432,000 / 60 = 7200分 / 60 = 120時間 / 24 = 5日

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

スロットリーダーは、委任量(ステーク量)に応じた確率で、各スロットごとにランダムに決定されます。
1エポック内で、ブロック生成が可能なスロットは約5%です。(432,000 * 0.05 = 21,600スロット)

1エポックで「1ブロック」期待値を得るための委任量の目安:

※実際には乱数により前後します。

  • 1M ADA: 約60%
  • 2M ADA: 約85%
  • 3M ADA: 約95%

スロットリーダーはプール間で調整されず、複数プールが同じスロットに選ばれることがあるため、以下のバトルが発生します。

バトル

通称:スロットバトル(SlotBattle / Stolen)

スロットバトルとは、複数のプールに同じスロットが割り当てられた時に発生する現象です。
Cardanoでは、1スロットにつき1ブロックしか採用されないため、どのプールのブロックが選ばれるかをVRFのランダム値で決定します。
各プールが生成するVRF値を比較し、最も値が小さいプールのブロックが採用されます。
VRFの比較は完全にランダムであるため、ステーク量による優位性はなく、運次第で結果が決まります。

通称:ハイトバトル(HeightBattle / Ghosted)

数秒以内に複数のプールがブロックを生成した場合に発生する競合。
伝播のタイミング差により複数のブロックが同時にネットワーク上に現れ、VRF値の比較によって採用ブロックが決定されます。(ランダム性があり、ステーク量の優位はありません)

KES

説明

KESは、Key Evolving Signaturesの略です。

ブロック生成に使用する署名鍵で、過去の署名を後から書き換えられないよう鍵を一定期間ごとに進化(evolve)させる仕組みになっています。
メインネットでは、 129,600スロット(slotsPerKESPeriod) × 62回(maxKESEvolutions) = 8,035,200秒(約93日)が1つのKES鍵の有効期間であり、期限前に新しいKESを作成して更新する必要があります。

VRF

説明

VRFは、Verifiable Random Functionの略です。

Ouroboros Praosでは、VRFキーを使って 各スロットでプールがスロットリーダーに選ばれるかどうかをランダムかつ検証可能な方法で判定します。
Praosではスロットリーダーのスケジュールが非公開で、ノードはVRFキー(オペレーショナル証明書に含まれる検証鍵)を使って、そのスロットで正当にブロック生成権を得たことを証明します。

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

証明書および鍵ファイルの詳細

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

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

🔒マークが付いたファイルは、プール運営において極めて重要な鍵ファイルです。
これらを紛失・破損するとプール運営を継続できなくなったり、報酬や資金を引き出せなくなります。
必ず複数のUSBメディアなどに冗長化・分散保管し、安全にバックアップしてください。

ファイル用途推奨保管場所重要度
payment.vkeypaymentアドレス公開鍵エアギャップ / USB🔒
payment.skeypaymentアドレス秘密鍵エアギャップ / USB🔒
stake.vkeyステークアドレス公開鍵エアギャップ / USB🔒
stake.skeyステークアドレス秘密鍵エアギャップ / USB🔒
vrf.vkey🔷VRF公開鍵BP / エアギャップ / USB🔒
vrf.skey🔴VRF秘密鍵BP / エアギャップ / USB🔒
node.vkeyコールド公開鍵エアギャップ / USB🔒
node.skeyコールド秘密鍵エアギャップ / USB🔒
myCalidusKey.vkeyCalidus公開鍵エアギャップ / USB🔒
myCalidusKey.skeyCalidus秘密鍵BP / エアギャップ / USB🔒
payment.addrpaymentアドレスファイルBP / エアギャップ / USB🔄
stake.addrステークアドレスファイルBP / エアギャップ / USB🔄
kes.vkeyKES公開鍵エアギャップ / USB🔄
kes.skey🔴KES秘密鍵BP / エアギャップ / USB🔄
node.cert🔴プール運用証明書BP / エアギャップ / USB🔄
pool.certプール登録証明書エアギャップ / USB🔄
node.counterカウンターファイルエアギャップ / USB🔄
Calidus-MnemonicsKey.jsonCalidusニーモニックファイルエアギャップ / USB🔄
myCalidusRegistrationMetadata.jsonCalidus登録メタデータファイルエアギャップ / USB🔄

Calidus関連ファイル(myCalidusKey.vkeymyCalidusKey.skeyCalidus-MnemonicsKey.jsonmyCalidusRegistrationMetadata.json)は、Calidusキー生成を実施した場合に作成されるファイルです。
Calidusを利用しない場合、本ファイル群は存在しません。

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

ファイル用途
mainnet-byron-genesis.jsonByron設定ファイル
mainnet-shelley-genesis.jsonShelley設定ファイル
mainnet-alonzo-genesis.jsonAlonzo設定ファイル
mainnet-conway-genesis.jsonConway設定ファイル
mainnet-config.jsonノード設定ファイル
mainnet-topology.jsonトポロジーファイル

スクリプトファイルおよびその他のファイル

ファイル用途推奨保管場所重要度
startRelayNode1.shリレー用ノード起動スクリプトリレー🔄
startBlockProducingNode.shBP用ノード起動スクリプトBP🔄
gLiveView.shノードGUI用スクリプトリレー/BP🔄
params.jsonパラメーターファイルBP🔄
poolMetaData.jsonプールメタデータファイルBP🔄
poolMetaDataHash.txtpoolMetaData.jsonハッシュ値ファイルBP🔄
fullUtxo.outUTXO出力ファイル使用後削除可-
balance.outウォレット残高出力ファイル使用後削除可-
tx.tmp仮トランザクションファイル使用後削除可-
tx.rawトランザクションファイル使用後削除可-
tx.signedトランザクション署名付きファイル使用後削除可-

運用タスクチェックリスト

各作業

日次作業

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

エポック毎作業

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

3か月毎作業

  • KESの更新(KES鍵の再生成および証明書更新)

不定期作業

  • Ubuntuパッケージアップデート
  • ノードアップデート
  • サードパーティ製アプリ(CNCLI、gLiveView 等)のアップデート
  • サーバー障害対応
  • プール設定変更等

Last updated on

Cookieの使用について

当サイトでは、ドキュメントの効果測定と利用状況の把握のため、Google Analytics を使用しています。

同意すると、分析用 Cookie が有効になります。