Solanaネットワークでは、多くの異なる人々や組織がバリデーターと呼ばれる特殊なコンピューター上でプログラムを実行しています。バリデーターは、Solanaブロックチェーンの維持とセキュリティ確保において重要な役割を果たしています。バリデーターは、ネットワーク上の新しい受信トランザクションの処理、および新しいブロックへの投票とブロックチェーンへの追加を担当しています。
世界中の異なるバリデーターが異なる時間に異なる情報を受け取る可能性があるため、どのトランザクションとデータがブロックチェーンに継続的に追加されるかについて、ネットワークが合意に達することが不可欠です。バリデーターとネットワーク全体がこの合意に達する戦略は、コンセンサスメカニズムとして知られており、成功する分散型ブロックチェーンネットワークを構築する上での中核的な課題です。多くの異なるプロジェクトが、高速かつコスト効率的な方法でコンセンサスに達する方法について、さまざまなソリューションを試みてきました。
Solanaネットワークは、プルーフ・オブ・ステーク(PoS)コンセンサスメカニズムを使用しています。ネットワーク上のすべてのバリデーターは、どのブロックがブロックチェーンに追加されるべきかに投票することでコンセンサスに参加する機会があり、それによってそれらの特定のブロックに含まれる有効なトランザクションを確認します。ただし、すべてのバリデーターの投票が同等に重み付けされているわけではありません。
バリデーターのコンセンサス投票はステーク加重されており、個々のバリデーターが持つステークが多いほど、そのバリデーターがコンセンサス投票の結果を決定する上で持つ影響力が大きくなります。同様に、ステークが少ないバリデーターは投票結果を決定する上での重みが小さく、ステークを持たないバリデーターはコンセンサス投票の結果に影響を与えることができません。
ステーキングとは、SOLトークン保有者(取引所でSOLトークンを購入した人など)が、自分のトークンの一部または全部を特定のバリデーターに割り当てるプロセスです。これにより、そのバリデーターの投票権重が増加します。バリデーターのステーク権重を増やすためにトークンを割り当てることを、トークンの「委任」と呼びます。バリデーターにトークンを委任しても、バリデーターがあなたのトークンの所有権や管理権を得ることはありません。委任したステーキングトークンは、常にあなたが管理しています。
バリデーターにトークンをステーキングすることで、トークン保有者は委任先として選んだバリデーターに対する一定の信頼を示します。さまざまなトークン保有者からより多くのステーク委任を集めたバリデーターは、そのバリデーターのコンセンサス投票が信頼できるという「証明」としてネットワークに作用し、そのため投票は、バリデーターが集めたステーク量に比例して重み付けされます。すべてのバリデーターからの集合的な投票を、それぞれに委任されたステークの割合に対して重み付けすることで、ネットワークはこのプルーフ・オブ・ステークによってコンセンサスに到達します。
世界中のさまざまなバリデーターが異なる時間に異なる情報を受け取る可能性があるため、どのトランザクションとデータがブロックチェーンに継続的に追加されるかについて、ネットワークが合意に達することが不可欠です。バリデーターとネットワーク全体がこの合意に達する戦略は、コンセンサスメカニズムとして知られており、成功する分散型ブロックチェーンネットワークを構築するための中核的な課題です。多くの異なるプロジェクトが、高速でコスト効率の良い方法でコンセンサスに到達する方法について、さまざまなソリューションを試みてきました。
Solanaネットワークは、プルーフ・オブ・ステーク(PoS)コンセンサスメカニズムを使用しています。ネットワーク上のすべてのバリデーターは、どのブロックがブロックチェーンに追加されるべきかに投票することでコンセンサスに参加する機会があり、それによってそれらの特定のブロックに含まれる有効なトランザクションを確認します。ただし、すべてのバリデーターの投票が同等に重み付けされるわけではありません。
バリデーターのコンセンサス投票はステーク加重されており、個々のバリデーターが持つステークが多いほど、そのバリデーターがコンセンサス投票の結果を決定する際の影響力が大きくなります。同様に、ステークが少ないバリデーターは投票結果を決定する際の重みが小さく、ステークを持たないバリデーターはコンセンサス投票の結果に影響を与えることができません。
Solanaのようなオープンで分散化されたネットワークでは、誰でも選択すればvalidatorを実行できます。悪意のあるvalidatorやその他の悪質な行為者は、ネットワークを攻撃したり、自己の利益のために不正確または詐欺的なトランザクションを送信しようとする可能性があります。上記で説明したプルーフ・オブ・ステークのコンセンサスメカニズムにより、このような不正な方法で単独で行動する単一のエンティティは、提案された活動がコンセンサス投票で考慮される前に、ある程度のステークを集める必要があります。より多くのトークン保有者がネットワーク全体のさまざまなvalidatorに自分のSOLトークンをステーキングすることを選択し、ネットワーク上の総ステーク量が増加するにつれて、協調的で資金力のある攻撃者であっても、自己の利益のためにコンセンサス投票の結果を単独で変更するのに十分なステークを集めることがますます困難になります。つまり、ネットワーク全体の多くの異なるvalidatorに委任されるステークが多いほど、すべてのユーザーにとってネットワークはより安全で安心なものになります。さらに、トークンをステーキングしてネットワークの安全性確保に貢献することを選択したトークン保有者は、1つ以上のvalidatorにトークンを委任すると、ステーキング報酬を受け取る資格があります。ステーキング報酬の詳細については、以下をご覧ください。
多くのプルーフ・オブ・ステークネットワークには、“スラッシング”として知られるメカニズムが存在します。スラッシングとは、validatorが行った悪意のある行動に対する懲罰的措置として、validatorに委任されたステークの一部が破壊されるプロセスです。
このメカニズムは、validatorがそのような行動を取らないようにインセンティブを与えます。なぜなら、validatorに委任されるステークが少なくなると、そのvalidatorが得る報酬も少なくなるからです。スラッシングされることは、現在のステークを維持したり、将来の潜在的なステークを引き付けたりする上での評判リスクとも見なされます。
スラッシングは、スラッシングされたvalidatorに委任した場合、トークンの一部を失う可能性があるトークン保有者にもリスクをもたらします。スラッシングの存在は、トークン保有者が評判が良いと感じるvalidatorにのみトークンを委任し、すべてのトークンを単一または少数のvalidatorに委任しないようにインセンティブを与える可能性があります。
Solanaでは、スラッシングは自動的ではありません。攻撃者がネットワークを停止させた場合、ネットワークの再起動時にスラッシングされる可能性があります。詳細については、Solana Validatorドキュメントをご確認ください。
SOLを保有している人は誰でも、いつでもトークンをステーキングできます。
SOLトークンをステークするには、ステーキングに対応したウォレットが必要です。現時点ではすべてのウォレットがステーキングをサポートしているわけではありません。SolFlare.comはステーキングに対応した使いやすいウォレットの一つです。ステーキング対応ウォレットの一覧については公式ドキュメントをご確認ください。
ウォレット内のSOLトークンは、まずステークアカウントに移動する必要があります。ステークアカウントはいくつでも作成でき、各ステークアカウントに好きなだけSOLを入金できます。新しいステークアカウントにはそれぞれ固有のアドレスがあり、1つのウォレットで複数の異なるステークアカウントを管理・「承認」できます。詳細についてはステークアカウントの構造に関するドキュメントをご覧ください。
ステーキング報酬を獲得するには(メインネットベータでインフレーションが有効な場合)、ステークアカウント内のトークンをvalidatorにデリゲートする必要があります。1つのステークアカウントは同時に1つのvalidatorにのみデリゲートできるため、異なるvalidatorにデリゲートしたい場合は、複数のステークアカウントにトークンを分割する必要があります。
ネットワークに関する情報や個々のvalidatorの特定のパフォーマンス指標を表示できる、コミュニティ運営のさまざまなツールがあります。例えば:
多くのvalidatorは、Solanaフォーラムで自己紹介やサービスの説明を行うことも選択しています:
はい、できます。一部の方は、サービスと引き換えにSolana Foundationから配布された、ロックアップされたトークンを含むステークアカウントを受け取っている場合があります。ロックアップ付きステークアカウント内のトークンは、ロックアップ期限が切れるまで別のウォレットアドレスに引き出すことはできませんが、この期間中もバリデーターに委任してステーキング報酬を獲得できる可能性があります。ロックされたトークンで獲得した報酬は、ロックされたステークアカウントに戻されます。
ステークアカウントを最初に作成する際、入金するSOLトークンの数量を指定します。これらのトークンはメインのウォレットアカウントから引き出され、新しいステークアカウントに入金されます。
また、ウォレットの送金機能を使用してステークアカウントのアドレスを指定することで、既存のステークアカウントにいつでもトークンを送金できます。すでにデリゲート済みのステークアカウントにトークンを送金しても、新しいトークンは自動的にデリゲートされません。
デリゲート済みのステークアカウントがあり、特定のvalidatorへのデリゲーション量を増やしたい場合は、追加のステーク分で新しいステークアカウントを作成し、同じvalidatorにデリゲートするのがベストプラクティスです。
例:1つのvalidatorへのデリゲートを増やす場合
すでにデリゲート済みのステークアカウントにトークンを送金しても、新しいトークンは自動的にデリゲートされません。これらの新しいトークンもデリゲートして報酬を獲得するには、アカウント全体のデリゲートを解除してから再デリゲートする必要があります。デリゲートの解除と再デリゲートは有効になるまで数日かかる場合があるため、この移行期間中は元のステークも報酬を獲得できません。
そのため、SOLをステークアカウントに送金するのは、アカウント作成時またはデリゲートされていない状態のときのみにすることを推奨します。
トークンは、現在デリゲートされていない場合にのみステークアカウントから引き出すことができます。ステークアカウントが最初にデリゲート解除されると、「非アクティブ化中」または「クールダウン中」とみなされます。アカウント内のトークンの一部またはすべての非アクティブ化が完了し、「非アクティブ」とみなされ、ステーキング報酬が発生しなくなるまで、トークンを引き出すことはできません。この移行期間がどれくらいかかるかについては、 タイミングに関する考慮事項をご参照ください。
ステークアカウント内のトークンが非アクティブになると、メインのウォレットアドレスまたは別のアドレスにすぐに引き出すことができます。
例:ステークアカウントからすべてのトークンを引き出す
残高全体を無効化することなく(そのためデリゲーション停止中の潜在的な報酬を逃すことなく)、特定のvalidatorに割り当てられたデリゲートステーク量を削減したい場合は、既存のステークアカウントを2つのアカウントに分割し、一方のデリゲーションを解除しながら、もう一方のアカウントをデリゲートしたまま継続的に報酬を受け取れる状態に維持することができます。
例:特定のvalidatorへのデリゲーションを削減する
ロックアップが設定されているステークアカウント内のトークンは、アカウントのデリゲーション状態に関わらず、ロックアップが期限切れになるまで引き出すことができません。ロックアップが期限切れになると、デリゲート解除されたトークンはすぐに引き出せます。アカウント保有者がアカウントを明示的にアンロックするための操作は不要です。
ステークアカウントを委任または委任解除する際、トークンの状態は即座には変更されません。新たに委任されたトークンは「アクティベート中」または「ウォームアップ中」と見なされ、完全にアクティブ化されるまで報酬を獲得する資格がありません。新たに委任解除されたトークンは「非アクティベート中」または「クールダウン中」と見なされ、非アクティブ化が完了するまで引き出すことができません。
Solanaプロトコルでは、ステークトークンの状態変更は新しいepochの開始時にのみ完了できます。epochは約2日間です。現在のepochの詳細を確認するには、solana epoch-infoを使用してください。
epochの途中でステークアカウントのトークンを委任した場合、現在のepochが終了するまでウォレットに「アクティベート中」として表示され、その時点でアクティブになり報酬を獲得する資格を得ます。現在のepochの開始時近くでステークトークンを委任しても、終了時近くで委任しても、トークンがアクティブになるタイミングには影響せず、次のepoch境界でのみアクティブになります。委任されたステークアカウントの委任解除または非アクティブ化にも同じロジックが適用されます。非アクティブ化中のトークンは、epoch境界で非アクティブ化が完了するまで引き出すことができません。
Solanaネットワーク全体で、1つのepochで状態を変更できる総ステーク量には制限があります。ネットワーク上の総アクティブステークの25%以下しか、1つのepochでアクティブ化または非アクティブ化できません。ネットワーク上の総アクティブステークの25%を超える量が1つのepochでアクティブ化される場合、グローバルな25%制限までのすべてのアクティブ化中/非アクティブ化中のステークの一部が、最初のepoch境界で状態変更を完了します。残りのステークは、次のepoch境界まで少なくとももう1つのepochの間「アクティベート中」または「非アクティベート中」のままになります。
ステークのアクティブ化が複数のepochにわたる場合、最初のepoch境界で完全にアクティブになった部分は報酬の対象となりますが、追加のepochでまだアクティブ化中の残りの部分はまだ報酬の対象ではありません。
同様に、ステークの非アクティブ化が複数のepochにわたる場合、最初のepoch境界で完全に非アクティブになった部分は引き出し可能になりますが、残りの部分は追加のepochでまだ非アクティブ化中であり、その時点で引き出すことができます。
Solana上のすべてのステークアカウント(およびあらゆる種類のすべてのアカウント)は、Solanaのネットワークエクスプローラーで確認できます:
確認したいステークアカウントのアドレスをコピーして、エクスプローラーのメイン検索バーに貼り付けると、アカウントの詳細(アクティベーション/非アクティベーション/委任ステータス、現在の残高、ステークアカウントの権限アドレス(通常はウォレットのメインアドレスと同じ))が表示されます。
ステークアカウントの管理に使用しているウォレットソリューションによっては、ウォレットにログインしてステークアカウントを表示することで、同じ情報を確認できる場合があります。
ステーキング報酬はepochごとに計算・発行されます。1 epochはおよそ2日間です。特定のepochに積み上げられた報酬は、翌epochの最初のブロックですべてのvalidatorとデリゲーターに発行されます。ステーキング利回りは年換算で表示されますが、インフレ率とアクティブなステーク総量が常に変動するため、この数値はepochごとに異なります。ステーキング利回りおよびインフレ設計の詳細はこちらをご覧ください:

ステークされたSOL総量のさまざまな割合モデルに基づくステーキング利回りの試算はこちらで確認できます:
単一のepoch内で単一のステークアカウントにおいてデリゲーターが期待できるSOL量を試算するには:

validatorの稼働時間は、validatorのコンセンサス投票動作によって定義されます。validatorが最終的にブロックチェーンに追加されるブロックに投票するたびに、そのvalidatorは1つの投票クレジットを獲得します。
epochの終わりに報酬が集計される際、すべてのvalidatorが獲得したステーク加重投票クレジットを使用して、各validatorとその委任者に発行されるSOLの総額が決定されます。
バリデーターは、ブロックチェーンの保護とトランザクション処理のサービスの対価として、委任されたステークアカウントが獲得したインフレ報酬に対して手数料を請求します。この手数料はコミッション率として知られています。報酬が発行されるたびに、コミッションはバリデーターのアカウントに入金され、残りの報酬は、そのバリデーターに委任されているすべてのステークアカウントに、各アカウントのアクティブに委任されたステーク量に比例して入金されます。バリデーターのコミッションとステーキング報酬は常に同時に発行されます。
報酬はepochごとに1回発行され、それを獲得したステークアカウントに入金されます。ステーク報酬は自動的にアクティブステークとして再委任されます。
特定のepochにおいて、バリデーターまたはそのステークのいずれかに支払われる報酬が1 lamport未満の場合、両方が少なくとも1 lamportを受け取る次のepochまで報酬の発行は延期されます。
当初提案されたインフレスケジュールの詳細はこちらで説明されています。インフレスケジュールを決定する具体的なパラメータは以下の通りです:
上記のパラメータは以下のように定義されます:
インフレ率はステーキング利回り(つまり、トークンをステーキングすることで得られる利息)と同じではないことに注意してください。ステーキング利回りについては以下で説明します。
インフレーション発行の100%は、委任されたステークアカウントとバリデーターに配布されることが提案されています。
ステーキング利回りは、バリデーター手数料率に応じて委任されたステーキングアカウントとバリデーター投票アカウントに分配されるインフレーション発行から得られます。この設計により、ステーキング利回りは主にネットワーク上でステーキングされているSOLの割合の関数となります。この設計とステーキング利回りへの影響に関する詳細な議論は、こちらでご覧いただけます:
ステーキングされるSOLの総量は不明であるため、正確なステーキング利回りを推定することしかできません。以下では、ネットワーク上で観測される可能性のあるステーキングされたSOLの割合の異なる値(60〜90%の間)によって区分された、時間経過に伴うステーキング利回りを示しています。インフレーションスケジュールのパラメータは、上記のように設定されています。

シンプルなインタラクティブダッシュボードがこちらに用意されており、ステーキングされたSOLの異なる割合を選択して、予想されるステーキング利回りへの影響を確認できます。
これは理想化されたステーキング利回りであり、報酬に対するバリデーターの稼働時間の影響、バリデーター手数料、潜在的な利回り抑制、潜在的なスラッシングインシデントを考慮していないことにご注意ください。さらに、ステーキングされたSOLの割合は設計上動的であること、つまりステーキングされたSOLの割合は時間とともに変化し、それによってステーキング利回りも時間とともに変化することが予想されることを無視しています。これは、予想されるステーキング利回りの大まかな推定値として使用されることのみを目的として提示されています。