新着:HeliusがLight Protocolを買収
Solanaのスロット、ブロック、エポックを理解する
ブログ/基礎

Solanaのスロット、ブロック、エポックを理解する

共同創業者兼CEOXのMert MumtazLinkedInのMert Mumtaz
読了時間:9分

はじめに

暗号資産の世界が進化し続ける中、Solanaはスケーラビリティ、速度、効率性をめぐる競争で有力な存在となっています。スケーリング、コンセンサス、ネットワーク管理に対する革新的なアプローチによって他のL1と一線を画し、開発者とユーザーの双方にとって優れた選択肢となっています。Solanaの設計が持つ独自の能力を深く理解するには、スロット、ブロック、エポックといった基礎概念を包括的に把握することが役立ちます。

この記事では、これら3つの主要コンポーネントを掘り下げ、Solanaのネットワーク構成の詳細を解説します。最後まで読むと、Solanaのブロックが実際にどのように生成されるのかを理解できます。Solana上での構築を考えている開発者も、ブロックチェーンの知識を深めたい方も、Solanaにおけるスロット、ブロック、エポックの概念を見ていきましょう。

Solanaのコンセンサスメカニズム:プルーフ・オブ・ステーク

プルーフ・オブ・ステーク(PoS)は、ネイティブ暗号資産であるSOLをステーキングするバリデータを利用し、エネルギー効率、セキュリティ、分散性を両立するコンセンサスメカニズムです。プルーフ・オブ・ワークのように計算能力を使用するのではなく、ステーキングされたSOLの量に基づいて、新しいブロックを作成しトランザクションを承認するバリデータが選ばれます。

SolanaのPoSにおける重要な革新は、検証可能で信頼性の高い時刻情報源となるプルーフ・オブ・ヒストリー(PoH)との統合です。PoHはネットワークの時計として機能し、イベントとその順序の追跡に役立ちます。PoHを基盤とすることで、SolanaのPoSシステムは意思決定プロセスを効率化し、安全で分散化されたネットワークを維持しながら、より高速で効率的なトランザクションを実現できます。

バリデータ

Solanaでは、バリデータがネットワークのセキュリティと完全性を維持するうえで重要な役割を担います。バリデータは、トランザクションを含む新しいブロックを提案し、他のバリデータが提案したブロックを検証します。担保としてネイティブトークンのSOLをステーキングすることで、誠実な行動が促され、不正な行為が抑止されます。ネットワークにとって最善となるよう一貫して行動するバリデータにはステーキング報酬が与えられますが、ネットワークを破壊しようとするバリデータは、ステーキングしたトークンを失う可能性があります。

検証可能遅延関数(VDF)によるリーダーローテーション

Solanaでは、プルーフ・オブ・ヒストリー(PoH)を通じて実装された検証可能遅延関数(VDF)が、バリデータ間のリーダーローテーションを支えています。リーダーローテーションは、特定のバリデータがネットワークに対して過度な権力や影響力を持つことを防ぐため、分散化された安全なネットワークを維持するうえで極めて重要です。

PoHメカニズムは、信頼を必要としない確実な時刻情報源として機能し、ネットワーク内のイベントについて検証可能で順序付けされた記録を作成します。PoHが持つこの時刻管理能力は、リーダーローテーションのプロセスを管理するうえで不可欠です。

バリデータがリーダーに選ばれると、新しいブロックを生成してネットワークに提案する責任を負います。PoHに基づく時刻管理により、Solanaネットワークは事前に定められた透明性の高い方法でリーダーを交代できます。この交代は「スロット」と呼ばれる一定の間隔で行われ、参加するすべてのバリデータにリーダーとなる公平な機会が与えられます。⁠

(任意)プルーフ・オブ・ヒストリーとリーダースケジュール

厳密には、リーダースケジュールはバリデータのステーク量で重み付けされた乱数生成器によって決定され、公平性が確保されます。バリデータは、各エポックの終了時に利用可能なデータから、それぞれ独立してリーダースケジュールを計算できます。PoHは、人間の時間尺度の代わりに、反復的なSHA-256ハッシュ関数を「時計」として使用することで、リーダースケジュールを適用する際の課題を解決します。バリデータはCPU上でこの「時計」を動かし、1秒未満の短い時間を近似する「tick」で時間を計測します。プルーフ・オブ・ヒストリーのデータはブロックに含まれるため、正しいリーダーが正しい時刻にブロックを発行したことを保証でき、Solanaネットワークの高速性、安全性、検閲耐性が実現されます。

スロット:Solanaの時刻管理を構成する基礎単位

スロットはネットワーク内の基本的な時間単位として機能し、Solanaの高速なパフォーマンスを支える中心的な役割を担っています。スロットの概念と機能を理解すると、Solanaが分散性やセキュリティを損なうことなく、比類のないトランザクション処理速度を実現する仕組みが分かります。

Solanaにおけるスロットの定義

Solanaのスロットとは、現在400ミリ秒に設定されている一定の時間枠で、その間にバリデータがブロックを生成できます。スロットは連続しており、直線的に次々と進行します。この予測可能なスロットの進行によって、一貫性のある秩序立ったブロック生成プロセスが確保され、Solana全体の効率性が高まります。

バリデータとスロットにおける役割

各スロットには特定のバリデータが割り当てられます。リーダーと呼ばれる割り当て済みのバリデータは、指定されたスロット内でトランザクションを含む新しいブロックを提案します。ブロックが提案されると、ネットワーク内の他のバリデータがその有効性に投票し、最終的にブロックが承認され、ブロックチェーンに追加されます。

欠落したスロットへの対応とネットワークの耐障害性

バリデータが割り当てられたスロット内にブロックを生成できなくても、ネットワークが停止したり、バリデータの復帰を待ったりすることはありません。代わりに次のスロットへ進み、後続のバリデータに新しいブロックを提案する機会を与えます。このアプローチにより、一部のバリデータで技術的な問題が発生したり、オフラインになったりしても、Solanaネットワークは高いスループットと耐障害性を維持できます。

ブロック:トランザクションの承認とネットワークの完全性の確保

他のブロックチェーンと同様に、その名前が示すとおり、ブロックはトランザクションを処理して保存するための安全で体系的な手段を提供し、ネットワークの基盤として機能します。ブロックの構造と機能を確認することで、ネットワークの完全性を維持し、高速なパフォーマンスを実現するうえでブロックが果たす役割をより深く理解できます。

Solanaのブロック構造

Solanaのブロックは、複数のトランザクションと重要なメタデータを格納するデータ構造です。このメタデータには、ブロックのハッシュ、直前のブロックのハッシュ、その他の関連情報が含まれます。トランザクションデータとメタデータを組み合わせることで各ブロックの一意性が保たれ、直前のブロックと安全に連結されて、変更不可能な記録のチェーンが形成されます。

ブロックの作成と伝播

割り当てられたスロットの間に、バリデータ(リーダー)はユーザーから受信したトランザクションを含む新しいブロックを提案します。リーダーはこれらのトランザクションを検証してブロックにまとめ、そのブロックをネットワーク全体へブロードキャストします。このブロックの提案とブロードキャストのプロセスを、ブロック生成と呼びます。

投票とブロックの承認

ブロックが提案されると、ネットワーク内の他のバリデータがその有効性に投票する必要があります。バリデータはブロックの内容を確認し、トランザクションが有効でネットワークのルールに準拠していることを検証します。必要な票数を獲得したブロックは承認済みと見なされ、ブロックチェーンに追加されます。この承認プロセスは、ネットワークのセキュリティを維持し、二重支払いやその他の不正行為を防ぐうえで不可欠です。

台帳上の投票で圧倒的多数を獲得したブロックは「承認済み」と見なされます。これまで、承認後にロールバックされたSolanaのブロックはありません。

Solanaのコンセンサスメカニズムで重要なのは、個々のブロックではなくフォークに対して投票が行われる点です。バリデータは、ブロック生成を続ける前に投票を待つ必要がありません。ブロック生成者は有効な新しい投票を継続的に監視し、確認した時点でリアルタイムに現在のブロックへ取り込みます。このアプローチではブロック生成プロセスに遅延が生じないため、ネットワークはコンセンサスを形成しながら高速性と低レイテンシを維持できます。フォークへの投票をリアルタイムで取り込むことで、Solanaはより効率的で合理化されたコンセンサスプロセスを実現し、全体的なパフォーマンスを高めています。⁠⁠実際、これがSolanaで投票をトランザクションとして扱う主な理由です。投票とトランザクションは到着後すぐにストリーミングされるため、独立したブロックヘッダーを設けることにはあまり意味がありません。

エポック:ステーキング、報酬、ネットワーク管理

エポックは、主要なネットワーク管理処理が行われる長い時間枠として、Solanaネットワークで重要な役割を担います。エポックの重要性を理解すると、Solanaがステーキング、報酬の分配、その他のネットワークガバナンスを効果的に管理する仕組みが分かります。

Solanaにおけるエポックの定義

Solanaのエポックとは、複数のスロットで構成される長い期間です(1エポックあたり約432,000スロット)。エポックはネットワーク内の上位レベルの時間管理単位であり、一定の間隔で実行される重要なネットワーク機能を秩序立てて処理できるようにします。

ステーキングとバリデータセットの管理

エポック中は、バリデータやその他のネットワーク参加者がSOLトークンをステーキングまたはステーキング解除できます。デリゲーター(手数料と引き換えに、別のバリデータへ委任することでトークンをステーキングするユーザー)も同様です。このプロセスにより、バリデータはアクティブなバリデータセットに参加または離脱し、コンセンサスプロセスへの参加状況を調整できます。バリデータセットは、ステーキングされたSOLトークンの量に基づいて各エポックの開始時に決定され、ネットワークの分散性と安全性が確保されます。

報酬の分配とインフレーション

エポックは、ネットワークのセキュリティと安定性に貢献するステーカーやバリデータへ報酬を分配するうえでも重要な役割を担います。各エポックの終了時に、ネットワークはインフレーションを計算し、対象となる参加者へ報酬を分配します。この報酬分配プロセスは積極的な参加を促し、バリデータが高いパフォーマンスと信頼性を維持する動機となります。

まとめると、エポックはSolanaに不可欠な構成単位であり、ステーキング、バリデータセットの管理、報酬の分配といった主要なネットワーク管理機能を支えています。時刻管理とガバナンスのメカニズムにエポックを組み込むことで、Solanaは多様なユーザーのニーズに応える、安全で分散化された効率的なブロックチェーンネットワークを維持できます。

まとめ:Solanaにおけるスロット、ブロック、エポックの相乗効果

Solanaのスロット、ブロック、エポックの詳細を確認したことで、これらの主要コンポーネントの相乗効果と、それぞれが連携してネットワークのパフォーマンスに貢献する仕組みを理解できます。時刻管理、コンセンサス、ネットワーク管理に対するSolana独自のアプローチは、非常に効率的でスケーラブルなブロックチェーンエコシステムを実現し、開発者とユーザーの間で支持を広げ続けています。

スロットはSolanaの高速なトランザクション処理の基盤となり、一貫性のある秩序立ったブロック生成プロセスを確保します。ブロックはネットワークの根幹として機能し、ネットワークの完全性を維持しながらトランザクションを安全に承認して保存します。そしてエポックは、ステーキング、バリデータセットの調整、報酬の分配を可能にし、効果的なネットワーク管理を実現します。

Solanaが革新と拡大を続ける中、この成長著しいエコシステム上で構築する人、利用する人、投資する人の誰にとっても、これらの基本概念を理解することがますます重要になっています。この知識を身につけたことで、Solanaの広大な可能性を探り、世界で最も高速かつスケーラブルなブロックチェーンの1つとして発展を続けるSolanaに貢献する準備が整いました。

‍

Heliusを購読

Solana開発の最新情報や新しい記事の公開通知を受け取れます