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は、ステーキングに対応したユーザーフレンドリーなウォレットの1つです。ステーキングに対応しているウォレットのリストについては、公式ドキュメントをご確認ください。
ウォレット内のSOLトークンは、まずステークアカウントに移動する必要があります。ステークアカウントは好きなだけ作成でき、各ステークアカウントに好きなだけSOLを入金できます。新しいステークアカウントにはそれぞれ固有のアドレスがあり、1つのウォレットで多数の異なるステークアカウントを管理または“承認”できます。詳細については、ステークアカウント構造に関するドキュメントをご確認ください。
ステーキング報酬を獲得するには(メインネットベータでインフレーションが有効になっている場合)、ステークアカウント内のトークンをvalidatorに委任する必要があります。1つのステークアカウントは、常に1つのvalidatorにのみ委任できるため、異なるvalidatorに委任したい場合は、複数のステークアカウント間でトークンを分割する必要があります。
ネットワークに関する情報や個々のvalidatorの特定のパフォーマンス指標を表示できる、コミュニティ運営のさまざまなツールがあります。例えば:
多くのvalidatorは、Solanaフォーラムで自己紹介やサービスの説明を行うことも選択しています:
はい、できます。一部の方は、サービスと引き換えにSolana Foundationから配布された、ロックアップされたトークンを含むステークアカウントを受け取っている場合があります。ロックアップ付きステークアカウント内のトークンは、ロックアップ期限が切れるまで別のウォレットアドレスに引き出すことはできませんが、この期間中もバリデーターに委任してステーキング報酬を獲得できる可能性があります。ロックされたトークンで獲得した報酬は、ロックされたステークアカウントに戻されます。
ステークアカウントを初めて作成する際、資金として投入するSOLトークンの数を指定します。これらのトークンはメインウォレットアカウントから引き出され、新しいステークアカウントに入金されます。
既存のステークアカウントには、ウォレットの送金または送信機能を使用し、ステークアカウントのアドレスを指定することで、いつでもトークンを転送できます。既に委任されているステークアカウントにトークンを転送した場合、これらの新しいトークンは自動的には委任されません。
委任済みのステークアカウントがあり、特定のバリデーターへの委任を増やしたい場合、ベストプラクティスは追加のステーク量で新しいステークアカウントを作成し、そのアカウントを同じバリデーターに委任することです。
例:単一のバリデーターに委任されたステークを増やす
既に委任されているステークアカウントにトークンを転送した場合、これらの新しいトークンは自動的には委任されません。これらの新しいトークンも委任して報酬を獲得するには、アカウント全体の委任を解除してから、同じアカウントを再委任する必要があります。委任解除と再委任は有効になるまで数日かかる場合があるため、この移行期間中は元のステークが報酬を獲得できません。
したがって、ステークアカウントへの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ごとに計算され、発行されます。epochは約2日間です。特定のepochで発生した報酬は、次のepochの最初のブロックですべてのvalidatorと委任者に発行されます。ステーキング利回りは年率換算で表示されますが、この数値はインフレ率と総アクティブステークが継続的に変化するため、epochごとに変動します。ステーキング利回りとインフレ設計の詳細については、こちらをご覧ください:

総SOLのステーキング割合に応じたステーキング利回りの見積もりは、こちらで確認できます:
委任者が単一のステークアカウントで1つの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の割合は時間とともに変化し、それによってステーキング利回りも時間とともに変化することが予想されることを無視しています。これは、予想されるステーキング利回りの大まかな推定値として使用されることのみを目的として提示されています。