Solanaのエポックタイム:期間、報酬、メカニズム
Learn how Solana epochs work: 432,000 slots every 2-3 days. Understand staking rewards distribution, validator schedules, and epoch boundaries.
Solanaのエポックタイムとは、ネットワークが固定のスケジュールされたスロットを完了するまでにかかる時間を表します。この完了後に、バリデータのスケジュール、ステーキング報酬、およびステーク状態の変更が処理されます。
この記事の内容: Solanaエポックとは? | Solanaエポックの長さは? | バリデータスケジュールとメカニズム | ステーキング報酬 | ステークのアクティブ化とクールダウン | Solana vs. Ethereum エポック | エポック境界チェックリスト | インフレとトークノミクス | 現在のエポックを確認する方法 | 開発者向け | よくある質問 | ステーキングの判断
はじめに:なぜSolanaエポックはすべてのSOL保有者にとって重要なのか
PhantomやSolflareを通じてSOLをステーキングし、ステーキングダッシュボードに「エポック(epoch)」という言葉が表示されているのに気づいたなら、それが何を意味するのか疑問に思っているのはあなただけではありません。その数字は、あなたが直接関心を持つ2つのことに影響します:新しく委任したSOLがいつステーキング報酬を獲得し始めるか、そしていつその報酬がアカウントに反映されるかです。
Solana (SOL) は、ノードのネットワークによって保護された分散型デジタル台帳である、高性能なブロックチェーンであり、毎秒数千件のトランザクションを処理します。何百ものバリデータの間でその活動を調整するには、構造化された時間の枠組みが必要です。その枠組みがエポックです。中央集権型取引所(CoinbaseやBinanceなど)で保有されているSOLは、ネイティブにステーキングすることはできず、エポックの報酬サイクルにも参加しません。直接ステーキングするには、自身で管理するウォレットにSOLを保管する必要があります。
主要統計: 各Solanaエポックには正確に432,000スロットが含まれており、これは現実世界の時間で約2〜3日に相当します。
この記事では、定義、期間とそれが変動する理由、ステーキング報酬のタイミング、各エポックの境界で何が起こるか、現在のエポックを確認する方法、開発者がプログラムでエポックデータにアクセスする方法など、この用語について知っておくべきすべてのことを網羅しています。
Solanaのエポックタイムとは?
Solanaのエポックとは、正確に432,000の連続したスロットからなる固定期間であり、ネットワークがバリデータの任務の割り当て、ステーキング報酬の分配、インフレ調整の適用を行う構造を定義するものです。現実の条件下では、1つのエポックは約2〜3日間続きます。
「エポック(epoch)」という用語は、一般的なコンピューティングでは異なる意味を持ちます。Unixシステムでは、エポックは固定されたタイムスタンプの基準点(1970年1月1日)を指します。Solanaのプロトコルにおいては、エポックはカレンダー上の時間ではなく、スロット数によって定義される定期的で個別の期間を指します。この2つの概念は名前が共通しているだけで、それ以外に関係はありません。
スロットとブロックがどのようにエポックを構成するか
スロットは、Solanaのアーキテクチャにおける最小の単位を形成します。各スロットの期間中、1つの指定されたバリデータがブロックを生成する機会を持ちます。スロットあたりの目標期間は約400ミリ秒ですが、これは保証されていません。割り当てられたバリデータがオフラインであったり、ネットワークが混雑していたりすると、ブロックが生成されずにスロットが経過します。これらはスキップされたスロットと呼ばれます。
ブロックは、スロット内で生成されるデータです。スロットは時間の枠であり、ブロックはその枠を満たす内容です。一部のスロットはブロックを生成しますが、スキップされたスロットは何も生成しません。
階層構造は次のようになります:1つのスロット(約400ミリ秒が目標)で1つのブロックが生成される可能性があり、432,000の連続したスロットで1つのエポックが完了します。
スロット1からスロット2、...、スロット432,000まで = 1つのエポックが終了。
Proof of History (PoH) は、このスロットのシーケンス(順序付け)を可能にし、検証可能にする暗号学的メカニズムです。PoHは計時メカニズムであり、コンセンサスメカニズムではありません。Proof of WorkやProof of Stakeと混同しないようにしてください。PoHは、すべてのバリデータがリアルタイムで時間に同意する必要なく、イベントが特定の順序で特定の時間に発生したことを証明する検証可能な履歴記録を作成します。各スロットはPoHシーケンスの中に暗号学的に固定されており、これがSolanaがネットワーク全体の時間の合意を待たずに約400ミリ秒の間隔でスロットを処理できる理由です。
ブロック伝搬のためのTurbine、メンプールを使用しないトランザクション転送のためのGulf Stream、スマートコントラクトの並列実行のためのSealevelを含むSolanaのアーキテクチャは、そのエポック構造を可能にする高いスロットスループットを実現しています。Solanaの公式エポック用語ドキュメント,)によれば、1エポックあたり432,000スロットはプロトコル上の定数です。
Solanaのエポックはどのくらいの長さか?
Solanaのエポックは正確に432,000スロットで構成されています。スロットあたり約400ミリ秒という目標スロット期間では、理論上の最小期間は約2.0日(172,800秒)になります。現実世界のエポックは通常2〜3日の間となります。
計算式:432,000スロット × スロットあたり0.400秒 = 172,800秒。これを1日の86,400秒で割ると、理論上の下限値で2.0日となります。
実際のスロット速度による実時間の変化:
- 平均スロット時間が400msの場合:172,800秒(約48時間)
- 平均スロット時間が450msの場合:194,400秒(約54時間)
- 平均スロット時間が500msの場合:216,000秒(約60時間)
注意: エポックあたりの432,000スロットという数はプロトコルで固定されており、変更されません。現実世界の時間は、ネットワークの状態に応じて約2〜3日の間で変動します。
なぜエポックの期間は毎回全く同じではないのか
現実のエポック期間が理論上の最小値から変動する原因には、主に3つの要因があります。
スキップされたスロット: バリデータが割り当てられたリーダースロットを逃すと、そのスロットはスキップされ、ネットワークは進行します。PoHシーケンスは継続しますが、そのスロットではブロックは生成されません。スキップされたスロットが増えると、432,000スロットを完了するために必要な実時間が長くなります。
ネットワークの混雑: トランザクション量が多い期間は、スロットの処理が遅くなり、多くのスロットにわたってわずかな遅延が積み重なることがあります。
ネットワークの停止: Solanaメインネットは過去に停止を経験しています。停止中はスロットの処理が一時停止するため、その期間を含むエポックの実時間は長くなります。
実用的な要点:エポックの期間は固定の間隔ではなく、約2〜3日として考えてください。現在の平均エポック期間については、Solana Beach またはSolana Foundationのドキュメントを参照してください。Solanaのプロトコルパラメータは変更される可能性があります。
Solanaエポックの仕組み:バリデータスケジュールとネットワークメカニズム
各エポックの開始時に、Solanaネットワークは完全なリーダースケジュールを計算し、次に来るエポックのすべてのスロットを特定のバリデータにあらかじめ割り当てます。この割り当ては、エポック境界のスナップショット時点における各バリデータのステークの重みによって決定されます。
バリデータは、トランザクションを処理し、ブロックを生成し、台帳の状態に投票するSolanaネットワーク上のノードです。**デリゲーター(委任者)**は、自分でノードを運営するのではなく、バリデータに自分のトークンをステーキングするSOL保有者です。これらの役割は明確に分かれています:バリデータはインフラを運営し、デリゲーターは経済的な重みを提供します。
**プルーフ・オブ・ステーク(PoS)**は、PoHと連携して機能するコンセンサスレイヤーです。SolanaはTower BFT(ビザンチン耐性)を通じてPoSを実装しており、これはPoHをクロックとして利用します。エポック中に蓄積されたステーク量が、次のエポックのリーダー選出スケジュールにおける各バリデーターのスロット割り当て確率を決定します。PoSは、エポックを純粋な時間管理以上の経済的に意味のあるものにします。SolanaのTower BFT実装を、構造的に異なるシステムであるEthereumのPoSと混同しないでください。
Solanaのステーキングモデルは、委任ステーキング(デリゲーテッド・プルーフ・オブ・ステーク、またはDPoSとも呼ばれる)に似ています。このモデルでは、トークン保有者は、自身でインフラを運用するのではなく、バリデーターにステークを委任します。SOL保有者はどのバリデーターにも委任できます。委任は、ウォームアップ期間後に次のエポック境界で有効になります。委任者は、バリデーターのステーキング報酬からバリデーターの手数料率を差し引いたものを共有します。委任への変更(新規割り当て、切り替え、または引き出し)は、即時ではなく、エポック境界で有効になります。これが、ステークの変更にウォームアップまたはクールダウン期間が必要なプロトコルレベルの理由です。Solanaのメカニズムは、純粋なDPoSではなく、技術的にはPoHとTower BFTを組み合わせています。主要な記述子として「委任ステーキング」を使用してください。
各エポック境界でリーダー選出スケジュールがどのように計算されるか
リーダー選出スケジュールは、エポック内の特定のスロットへのバリデーターの決定的で事前に計算された割り当てです。「決定的」とは、ネットワーク上のどのノードでも、他のノードと通信することなく、同じ入力から完全なスケジュールを独立して計算できることを意味します。この設計により、スケジュールは検証可能で効率的になります。
計算では、エポック境界のスナップショットにおける各バリデーターのステーク量が使用されます。総ステークSOLの1%を保有するバリデーターは、次のエポックのリーダー選出スケジュールの432,000スロットのうち約1%を受け取ります。スケジュールは、更新されたステーク量を使用して、すべてのエポック境界でゼロから再計算されます。エポック途中で委任されたステークは、現在のエポックのリーダー選出スケジュールには影響しません。次のエポックのスケジュールにのみ影響します。
リーダー選出スケジュールの完全なメカニズムは、Solanaのリーダーローテーションドキュメント.)に記載されています。
Solana上に構築された多くのDeFiプロトコルはエポックを認識しており、エポック境界に合わせて流動性イベント、ガバナンス投票、または報酬配布のタイミングを計ります。
ヒント: エポック境界におけるバリデーターのステーク量は、次のエポックで割り当てられるスロット数を決定します。エポック途中で委任されたステークは、現在のエポックのスケジュールには影響しません。
エポック内で投票クレジットがどのように蓄積されるか
各バリデーターは投票アカウントを維持します。これは、各スロットにおける台帳の状態に関するバリデーターの投票を記録する、特別なオンチェーンアカウントです。投票アカウントはガバナンスシステムではありません。Solanaでは、「投票」とは、バリデーターがブロックの有効性を暗号学的に証明することを指します。これはコンセンサスメカニズムのアクションです。
各投票の成功により、バリデーターは1つの投票クレジットを獲得します。エポック境界で、プロトコルはそのエポック中に蓄積されたすべての投票クレジットを集計します。バリデーターのエポックステーキング報酬のシェアは、そのエポックの最大可能クレジットに対する投票クレジットスコアの割合に比例します。
投票を missed したバリデーターは比例して報酬が少なくなり、その結果、委任者も少なく受け取ります。PhantomやSolflareなどのウォレットUIでは、このメトリックは「アップタイム」または「投票成功率」として表示されます。投票クレジットスコアが高いバリデーターは、エポックごとに委任者に多くのステーキング報酬を提供します。
Solanaのエポックとステーキング報酬:いつ、どのように支払われるか
Solanaのステーキング報酬は、約2~3日ごとに行われる各エポックの終わりに自動的に配布され、お客様の操作なしに直接ステークアカウントにクレジットされます。
ステークアカウントは、オンチェーンで委任されたSOLを保持し、通常のSolanaウォレットアカウントとは別です。これらは、非アクティブ、アクティブ化中、アクティブ、非アクティブ化の4つの状態を循環します。状態遷移はエポック境界で発生します。ほとんどのウォレットインターフェイス(Phantom、Solflare)は、ユーザーからステークアカウントを抽象化していますが、基盤となるメカニズムはダッシュボードで表示されるタイミングの動作を説明しています。完全なステークアカウント仕様については、Solanaのステーキングドキュメント.)を参照してください。
重要: ステーキング報酬は、約2~3日ごとに行われるエポック境界で自動的に配布されます。手動での操作は必要ありません。報酬はステークアカウントの元本に直接追加され、次のエポックのために自動的に再ステーキングされます。
報酬シェアがどのように計算されるか
特定の期間のエポックに対するステーキング報酬は、次の関係に従います。
- プロトコルは、ネットワーク全体のステークに対するステークの比例シェア(ネットワーク上の全ステークSOLに対するステークの割合)を計算します。
- そのシェアに、エポックの総インフレ発行量(現在のインフレスケジュールに従ってエポック境界で新規発行されるSOL)を掛けます。
- バリデーターの手数料率が、バリデーターの総報酬配分から差し引かれ、残りが委任者に流れます。
例として:ネットワークが特定の期間のエポックで100 SOLのインフレ報酬を発行し、あなたのステークが総ステークSOLの0.01%を占める場合、手数料控除前のシェアは0.01 SOLです。その後、バリデーターの手数料率がバリデーターの取り分から差し引かれ、あなたの正味金額がクレジットされます。
ステーキングAPYの場合、関係は(年間インフレ発行額を総ステークSOLで割ったもの)に(1マイナス手数料率)を掛けたもの、とおおよそ等しくなります。インフレ率と総ステークSOLは両方とも時間とともに変化するため、ハードコードされたAPYの数値は、1エポック以上正確ではありません。現在の推定値については、ウォレットのステーキングインターフェイスまたはSolanaステーキング計算機を使用してください。
Solanaのインフレモデルは次のように機能します。プロトコルはプログラム可能なインフレスケジュールを持っており、メインネットローンチ時に年間8%以上で開始され、年間15%ずつ減少し、長期目標の1.5%に向かいます。各エポック境界で、現在のインフレ率に従って新しいSOLが発行され、ステーク量に比例してステーキング報酬として配布されます。このインフレは、マクロ経済的な消費者物価インフレではなく、プロトコルレベルのトークン発行を指します。現在のレートについては、Solana Foundationのインフレドキュメント.)を参照してください。
手数料率とは、バリデーターが委任者に残りを配布する前に保持するステーキング報酬の割合です。これは委任者が支払うトランザクション手数料ではありません。手数料率の変更はエポック境界でのみ有効になります。バリデーターがエポック途中でレートの引き上げを発表した場合、変更は次のエポック境界まで報酬に影響しないため、必要であれば再委任する時間があります。
バリデーターは、エポックごとに2つのカテゴリの報酬を獲得します。主要なカテゴリは、プロトコルの発行スケジュールからのインフレ報酬です。二次的なカテゴリは、割り当てられたスロット中に収集されたトランザクション手数料の50%です。残りの50%の手数料はバーンされ、SOLの総供給量が削減されます。委任者は、ステーキング報酬の大部分をインフレコンポーネントから受け取ります。手数料報酬は、より小さな貢献です。
エポック報酬が変動する理由
ステーキング報酬は、次の4つの理由でエポックごとに異なる場合があります。
- バリデーターの投票クレジットスコアが変更された(投票のmissはバリデーターの報酬シェアを減らし、委任者が比例して少なく受け取る)。
- バリデーターの手数料率がエポック境界で変更された。
- ネットワーク全体のステーク量が変更された(より大きな総ステークプールは、同じインフレ発行量に対するあなたの比例シェアを減らす)。
- 年間スケジュールマイルストーンでインフレ率が低下した。
報酬はステークアカウントの元本に追加され、自動的に再ステーキングされるため、次のエポックで compounding され、操作は必要ありません。
ステーキングが新しく委任され、まだ報酬が表示されていない場合、その理由はステーキのウォームアップ期間で説明されます。これは次のセクションで扱います。
ステーキングの有効化とクールダウン:エポックがステーキングの意思決定を制限する仕組み
ステーキングがウォレットで「有効化中」と表示され、まだ報酬が発生していない場合、これは想定通りの動作です。新しい委任はエポックの途中で有効になることはありません。それらはウォームアップ状態に入り、次のエポックの境界で有効化されます。これはエラーではなく、設計によるものです。
ステークアカウントの状態遷移:
非アクティブ(ステークが委任されていない)は有効化中(現在のエポック中に委任され、まだ報酬なし)に繋がり、アクティブ(次のエポックの境界以降、報酬が発生)に繋がり、無効化中(払い戻しリクエスト後、新しい報酬なし)に繋がり、非アクティブ(クールダウンエポックの境界が完了した後に引き出し可能)に戻ります。
重要: ステーキングと払い戻しの両方がエポックによって制限されます。ステーキングの変更を行う際は、各方向で最大1回分のフルエポック(2〜3日)を見込んで計画を立ててください。プロトコルの詳細な仕様については、Solanaのステークアカウントドキュメント)を参照してください。
エポックのどのタイミングで委任するかは重要ですか?
ウォームアップルールは次のように機能します:
- 現在のエポックの任意の時点でSOLを委任します。
- ステークアカウントは、そのエポックの残りの期間「有効化中」状態になります。
- 次のエポックの境界で、ステークは「アクティブ」に移行し、報酬の獲得を開始します。
- 最初の報酬は、その最初の有効なエポックの終了時に到着します。
エポックのどの時点で委任したかに関わらず、ステークは次のエポックの境界の開始時に有効化されます。エポックの開始直後に委任すると、有効化までほぼ丸1エポック待つことになります。エポック終了間際に委任すると、残りのスロット(おそらく数時間)だけ待つことになります。待機時間は常に「次のエポックの境界まで」であり、固定された暦上の期間ではありません。
委任するためにエポック内の特定のポイントを待つことに、意味のあるメリットはありません。
払い戻しにはどのくらいの時間がかかりますか?
払い戻しも同様のプロセスに従います:
- 現在のエポックの任意の時点で払い戻し(無効化)リクエストを送信します。
- ステークアカウントは「無効化中」状態に入ります。
- 次のエポックの境界で、無効化が処理されます。
- そのエポックの終了後、SOLは流動的になり、引き出し可能になります。
払い戻しを開始してからSOLがアクセス可能になるまで、丸1エポック(2〜3日)を見込んでおいてください。
リキッドステーキングプロトコル(mSOLやjitoSOLなど)は、ウォームアップとクールダウンを異なる方法で処理し、即座にリキッドトークンを提供します。この記事ではネイティブステーキングのみを扱っています。
バリデーターの切り替え: バリデーターを切り替える場合、古いステークは1エポックのクールダウンを完了し、新しいステークは1エポックのウォームアップを完了する必要があります。この移行により、丸1エポック分の報酬を逃す可能性があります。手数料率の変更はエポックの境界で有効になるため、現在のバリデーターが手数料を引き上げた場合、新しいレートが報酬に影響する前に再委任するための猶予が次のエポックの境界まであります。
3つのステーキングの意思決定のまとめ:
- 委任のタイミング: いつでも委任できます。現在のエポックのどこにいても、次のエポックの境界までの待機時間は同じです。
- バリデーターの切り替え: 移行中に報酬の1エポックのギャップが生じる可能性があることを考慮してください。切り替える前に、新しいバリデーターの投票クレジットスコアを確認してください。
- 委任解除(払い戻し): SOLが流動的になるまで丸1エポックを見込んでください。2〜3日以内にアクセスが必要になる可能性のあるSOLをステーキングしないでください。
Solanaのエポック vs. Ethereumのエポック:主な違い
名前は同じですが、SolanaとEthereumのエポックは目的が異なり、完全に異なるタイムスケールで作動します。この比較は、Ethereumのマージ後(2022年9月)のプルーフ・オブ・ステーク(PoS)アーキテクチャを参照しています。マージ前のEthereumはエポックのメカニズムが異なっていたため、除外しています。
| 特徴 | Solana | Ethereum (マージ後) |
|---|---|---|
| エポックあたりのスロット数 | 432,000 | 32 |
| スロット時間 | 約400ミリ秒 | 約12秒 |
| エポック期間 (実時間) | 2〜3日 | 約6.4分 |
| コンセンスメカニズム | Proof of History + Tower BFT (PoSの派生) | Proof of Stake (Gasper/Casper FFG) |
| 報酬分配のタイミング | 各エポックの境界ごと (約2〜3日) | 毎日 (エポックの周期とは別) |
| ブロック生成者の割り当て | エポックごとの決定論的リーダースケジュール | スロットごとの委員会ベースのバリデーター選出 |
Ethereumのエポック(約6.4分)は、主にCasper FFGによるファイナリティのチェックポイント設定とバリデーター委員会のローテーションに役立っています。Ethereumはステーキング報酬を毎日分配しており、その周期はエポックの構造とは無関係です。
Solanaのエポック(約2〜3日)は、リーダースケジュールの割り当て、ステーキング報酬の分配、インフレによる新規発行、ステークアカウントの状態遷移、および手数料率の更新に役立っています。これらの機能はすべてエポックによって制限されています。
Solanaのスロット期間が短いこと(Ethereumの約12秒に対して約400ミリ秒)により、432,000のスロットを数日間のエポックウィンドウに収めることができます。Ethereumは約6.4分で32のスロットを完了します。2つのアーキテクチャは、スループットとファイナリティの周期に関する異なる設計優先順位を反映しています。Ethereumのエポック仕様については、Ethereumのマージ後コンセンサスドキュメント.)を参照してください。
エポック境界で起こること:完全チェックリスト
各エポックの境界において、Solanaプロトコルは一連の状態遷移と経済的イベントを自動的に実行します。
- 次のエポックのリーダースケジュールが、現在のバリデーターのステークウェイトから計算されます
- 「有効化中」状態のステークアカウントが完全にアクティブに移行し、報酬の獲得を開始します
- 「無効化中」状態のステークアカウントが完全に流動的になり、引き出し可能になります
- すべてのアクティブなステークに対してステーキング報酬が計算され、ステークアカウントに分配されます
- 現在のインフレスケジュールに従って新しいSOLが発行され、報酬として分配されます
- バリデーターによって事前にキューに入れられていた手数料率の変更が、新しいエポックで有効になります
- 完了したエポック中に蓄積された投票クレジットが集計され、次のエポックに向けてリセットされます
注: イベント2から5、およびイベント7は自動的に発生します。バリデーターや委任者がこれらに対してアクションを起こす必要はありません。イベント6のみが、事前のバリデーターによる入力(新しい手数料率の設定)を必要とします。
委任者にとって最も重要なのは項目2と3です。これは、新しく委任されたステークが有効になり、払い戻されたSOLが引き出し可能になる瞬間です。
バリデーター運用者にとって最も重要なのは項目1です。次のエポックのスロット割り当ては、境界のスナップショット時点でのステークウェイトに基づいて、この瞬間に確定されます。
項目4と5は連携しています。インフレスケジュールによって新しいSOLが発行され、その新しく発行されたSOLが、ステークウェイトと投票クレジットスコアに比例してステーキング報酬として分配されます。
項目6は、ほとんどのステーキング関連コンテンツで省略されているルールを記録したものです。バリデーターはエポックの途中で手数料率を変更することはできません。エポック中に発表された変更はすべて、このエポックの境界で有効になり、委任者はその前のエポック期間中に変更を確認し、必要に応じて再委任を選択できる猶予が与えられます。
Solanaのインフレモデルとエポックベースのトークノミクス
Solanaのステーキング報酬は、固定されたプールから支払われるわけではありません。それらは、プロトコルに組み込まれたプログラム的なインフレスケジュールを通じて、各エポックごとに生成されます。
ここでの「インフレ」とは、マクロ経済の消費者物価インフレではなく、具体的にはプロトコルレベルでの新しいSOLトークンの発行を指します。この2つの概念は明確に異なり、混同すべきではありません。
インフレスケジュール:Solanaは8%を超える初期年間インフレ率でローンチされました。このレートはディスインフレ型モデルの下で年間15%ずつ減少し、長期的には1.5%の目標に向かいます。各エポックの境界で、現在のインフレ率に従って新しいSOLが発行され、ステークウェイトに比例してバリデーターとその委任者に分配されます。これがステーキング報酬の源泉であり、各委任者はそのエポックの新しいSOL発行分から分配を受け取ります。
Validators earn two categories of epoch rewards. The primary category is inflation rewards from the minting schedule. The secondary category is 50% of transaction fees collected during their assigned slots; the remaining 50% is burned, reducing the total SOL supply. The inflation component is the larger driver of delegator staking rewards.
The inflation rate decreases on an annual basis. For the current rate, see the Solana Foundation's inflation documentation.) Any specific rate cited in an article becomes outdated as the schedule advances.
現在のSolanaエポックを確認する方法
3つのブロックエクスプローラーがリアルタイムのSolanaエポックデータを提供しており、それぞれスロットが処理されると自動的に更新されます。
注意: エポック番号は約2〜3日ごとに変更されます。記事で引用された特定のエポック番号は、読者が目にする頃には古くなっています。現在のデータについては、以下のツールを使用してください。
ステップ1: Solana Beachにアクセスします。ホームページのエポックウィジェットには、現在のエポック番号、現在のエポックで経過したスロット、残りのスロット、および次のエポック境界までの推定時間が表示されます。
ステップ2: Solscan (solscan.io)にアクセスします。ネットワーク統計パネルの「Epoch」タブには、現在のエポック番号と、エポックごとに内訳されたバリデーターのパフォーマンスデータが表示されます。
ステップ3: Solana Explorer (explorer.solana.com)にアクセスします。クラスター統計パネルには、スロットの高さとトランザクション数とともにエポック情報が表示されます。
開発者はコマンドラインからエポックデータをクエリすることもできます。
solana epoch-infoこのコマンドは、現在のエポック番号、エポック内のスロットインデックス、および残りのスロットを返します。
プログラムによるエポックデータへのアクセス(オンチェーンプログラムでのエポック設定の読み取りやJSON-RPC経由でのアクセスを含む)については、以下の開発者セクションを参照してください。EpochSchedule sysvarは、エポック設定データのオンチェーンソースです。
開発者向け:EpochSchedule SysvarとRPC経由でのエポックデータへのアクセス
このセクションでは、Solana上でエポックを認識するアプリケーションを開発する開発者向けに、エポックデータへのプログラムによるアクセスについて説明します。技術系以外の読者は、FAQセクションにスキップできます。
エポックを認識するロジックは、エポックで制限されたトークン vesting、ガバナンス投票ウィンドウ、定期的なプロトコル再バランス、バリデーターパフォーマンス追跡を実装するアプリケーションに必要です。
A sysvar is a special read-only Solana system account that exposes network configuration data to on-chain programs. The EpochSchedule sysvar exposes the epoch schedule configuration, which includes:
slots_per_epoch: 432,000 (メインネットのプロトコル定数)leader_schedule_slot_offset: 432,000 (リーダー選出スケジュール計算時に使用されるオフセット)warmup: bool (初期エポックのウォームアップ期間がアクティブかどうか)first_normal_epoch: フル スロット数を持つ最初のエポックfirst_normal_slot: 最初のエポックの最初 のスロット
EpochScheduleは、いくつかのSolana sysvarの1つです。その他(Clock, Rent, StakeHistory, SlotHashes)についてはここでは説明しません。完全なフィールド定義は、EpochSchedule sysvarドキュメント.)で入手できます。
The slots_per_epoch value (432,000) is the fixed protocol constant underlying all epoch duration calculations. PoH slot timing is the basis for EpochSchedule calculations: the sysvar exposes the schedule structure, while actual wall-clock timing depends on real-world slot processing speed.
Reading epoch data via the getEpochInfo RPC method
The getEpochInfo JSON-RPC method returns the current epoch state. Call it with an empty params array:
{
"jsonrpc": "2.0",
"id": 1,
"method": "getEpochInfo",
"params": []
}The response:
{
"jsonrpc": "2.0",
"result": {
"absoluteSlot": 166598,
"blockHeight": 166500,
"epoch": 27,
"slotIndex": 2790,
"slotsInEpoch": 432000,
"transactionCount": 22661093
},
"id": 1
}Field explanations:
absoluteSlot: チェーン履歴全体の現在のスロット番号blockHeight: 現在のブロックの高さepoch: 現在のエポック番号slotIndex: 現在のエポック内のスロットインデックス(0から431,999の範囲)slotsInEpoch: メインネットでは常に432,000(プロトコル定数)transactionCount: これまでに処理されたトランザクションの総数
The slotIndex value tells you how far into the current epoch you are. Subtract slotIndex from slotsInEpoch (432,000) to calculate slots remaining in the current epoch.
The key distinction: EpochSchedule exposes fixed schedule configuration data; getEpochInfo returns dynamic current state. Use EpochSchedule to read schedule parameters; use getEpochInfo or the Clock sysvar to read the current epoch number at runtime.
Accessing the current epoch number in an on-chain program
To read the current epoch number inside an on-chain program, access the Clock sysvar. The epoch field returns the current epoch number as a u64.
use solana_program::sysvar::clock::Clock;
use solana_program::sysvar::Sysvar;
// Inside your instruction handler:
let clock = Clock::get()?;
let current_epoch: u64 = clock.epoch;
// current_epoch now holds the current Solana epoch numberThis pattern suits any on-chain program that needs to gate logic by epoch: releasing vested tokens at a specific epoch number, restricting governance votes to within a defined epoch window, or tracking validator performance by epoch.
Solana Epoch Timeに関するよくある質問
以下の質問は、5つの「よくある質問」クラスター全体でSolanaエポックに関する最も一般的な検索に対応しています。
Solanaのエポックは、正確に432,000スロットの固定された周期的な期間であり、実質的な条件では約2〜3日間続きます。各エポックは、Solanaネットワークがブロック生成責任をバリデーターにどのように割り当てるか、投票クレジットを蓄積するか、ステーキング報酬を分配するか、インフレを通じて新しいSOLをミントするか、ステーキングアカウントの状態変更を処理するかを構造化します。これらのイベントはすべて、エポックの境界で自動的に発生します。
A Solana epoch contains exactly 432,000 slots. At the protocol's target slot duration of ~400 milliseconds per slot, the theoretical minimum is approximately 2.0 days (48 hours). In practice, skipped slots and network conditions push real-world epoch duration to between 2 and 3 days. The slot count per epoch is a fixed protocol constant; the wall-clock duration is variable.
Solanaのステーキング報酬は、各エポックの終わりに自動的に分配され、約2〜3日ごとに処理されます。手動での操作は必要ありません。エポックの境界で、プロトコルは各委任者の報酬を、総ステーキングされたSOLに対するステーキングの比例シェア、そのエポックのバリデーターの投票クレジットスコア、および現在のインフレ率に基づいて計算します。報酬は委任者のステーキングアカウントに直接入金され、自動的に再ステーキングされます。
When you delegate SOL, your stake enters an "activating" state and does not earn rewards until the next epoch boundary. This warmup period can take anywhere from a few hours (if you delegate near the end of an epoch) to nearly 2 to 3 days (if you delegate at the start of an epoch). The activation timing is determined by the next epoch boundary, not by how long it has been since you delegated.
各エポックの境界において、Solanaプロトコルは自動的に7つのイベントを実行します: (1) 次のエポックのリーダー・スケジュールが現在のステーキングウェイトから計算されます。 (2) 有効化中のステークアカウントが完全にアクティブになります。 (3) 無効化中のステークアカウントが引き出し可能になります。 (4) ステーキング報酬が計算され、配布されます。 (5) インフレ・スケジュールに従って新しいSOLがミント(鋳造)されます。 (6) キューに入れられたバリデーター手数料率の変更が反映されます。 (7) 投票クレジットが集計され、リセットされます。
Solanaのリーダー・スケジュールはどのように機能しますか?
リーダー・スケジュールとは、エポック内の特定のスロットに対するバリデーターの割り当てを、決定論的に事前計算したものです。各エポックの境界で、ネットワークはその時点の各バリデーターのステーキングウェイトに基づいて、次の方のエポック全体でどのバリデーターがどのスロットに割り当てられるかを計算します。どのノードも、同じ入力データから独立して同じスケジュールを計算できます。ステーキングウェイトが大きいバリデーターには、比例してより多くのスロットが割り当てられます。
SolanaのエポックはEthereumのエポックとどう違いますか?
Solanaのエポックは432,000スロットで構成され、約2〜3日間続きます。Ethereumのエポック(マージ後)は32スロットで構成され、約6.4分間続きます。この2つは目的が異なります。Solanaのエポックはリーダー・スケジュールの割り当て、報酬の配布、およびインフレによるミントを管理します。Ethereumのエポックは、Casper FFGによるファイナリティのチェックポイント設定とバリデーター委員会のローテーションを処理します。Ethereumはステーキング報酬を毎日配布しており、これはエポック構造とは別の周期で行われます。
現在のSolanaエポックを確認するにはどうすればよいですか?
3つのツールがライブのエポックデータを提供しています。Solana Beachは、現在のエポック番号、経過スロット数、および残り時間をホームページに表示します。Solscan (solscan.io) は、ネットワーク統計パネルでエポックデータを提供しています。Solana Explorer (explorer.solana.com) は、クラスター統計パネルでエポック情報を表示します。開発者は、Solana CLIを介して solana epoch-info を実行することもできます。エポック番号は約2〜3日ごとに変わります。
間違ったタイミングで委任すると、報酬サイクルを逃すことはありますか?
いつ委任しても、報酬サイクルが永久に失われることはありません。エポックのどの時点で委任しても、ステークは次のエポックの境界の開始時にアクティブになり、その時点から報酬が発生します。エポックの終わり近くに委任すれば、ウォームアップ(有効化)の待機時間は短くなります。エポックの開始時に委任した場合は、ほぼ丸1エポック待つことになります。報酬を逃すのではなく、最初の報酬発生エポックの開始が遅れるだけです。
年間にいくつのSolanaエポックが発生しますか?
理論上の最小値である1エポック2.0日の場合、年間で約182エポック(365日 ÷ 2.0日)となります。より一般的な実環境の期間である1エポック2.5日の場合、年間で約146エポックとなります。正確な数は、年間のネットワークパフォーマンスによって異なります。
Solanaのエポック APY とは何ですか?
Solanaのステーキング APY は固定されておらず、単一の数値で示すことはできません。その関係はおおよそ次の通りです:(年間インフレ発行量 ÷ 総ステーキング済みSOL) × (1 - バリデーターの手数料率)。インフレ率と総ステーキング済みSOLはどちらも時間の経過とともに変化するため、 APY は各エポックごとに変化します。現在の見積もりについては、ウォレットのステーキングインターフェースやSolanaステーキング計算機を使用するか、Solana Foundationのインフレに関するドキュメントを参照してください。
エポックの知識を活用して、より良いステーキング判断を行う
Solanaのエポックは、ネットワークの基本的な調整期間です。432,000スロット(約2〜3日間)で構成され、すべての経済的イベントは各エポックの境界で自動的にトリガーされます。
この記事を読むことで、以下の4つのことを自信を持って行えるようになります:
- Solanaエポックの定義:バリデーターのスケジュール、報酬の配布、およびインフレを構造化する、正確に432,000の連続したスロットで構成される固定期間。
- 期間の把握:実環境では約2〜3日間持続し、スロットの処理速度に基づいて変動する。
- 期間が変動する理由の説明:スキップされたスロット、ネットワークの混雑、および過去の停止により、実時間が理論上の最小値である2.0日を超えることがある。
- 報酬の受け取りとステークの有効化タイミングの把握:どちらもエポックの境界で自動的に発生し、アクションは不要。
Solana (SOL) のステーキング活動における3つの実用的なポイント:
- ステーキング報酬は約2〜3日ごとに届き、ステークアカウントに自動的に入金される。
- 新しく委任したSOLがアクティブになり最初の報酬が発生するまで、2〜3日の期間を見込んでおく。
- バリデーターを切り替える場合は、移行中に報酬が1エポック分途切れる可能性があることを考慮し、新しいバリデーターの投票クレジットスコアを確認する。
Solana BeachやSolscanをブックマークして、現在のエポックや、報酬サイクル間のバリデーターの投票クレジットスコアを追跡しましょう。
この記事は情報提供および教育目的のみを目的としています。財務的または投資的なアドバイスを構成するものではありません。暗号資産のステーキングには、損失のリスクを含むリスクが伴います。ステーキングや投資の決定を行う前に、必ずご自身で調査を行ってください。インフレ率や平均エポック期間を含むSolanaプロトコルのパラメータやネットワーク統計は、変更される可能性があります。最新の数値については、Solana Foundationの公式ドキュメントまたはSolanaブロックエクスプローラーを参照してください。
関連するSolanaテクニカルガイド
ステーキング関連の商品を調査している読者は、SOL Earn) および SOL価格ページ) を別途確認できます。商品の利用可能性、規約、およびリスクは地域によって異なり、時間の経過とともに変更される場合があります。