導入
ここまで見てきた PoH と Tower BFT は、Solana の高速さを支える土台の考え方です。ですが、Solana Labs はこの土台の上に、さらにいくつもの高速化の工夫を積み重ねています。ここで一度、全体像を俯瞰しておきましょう。
説明
以下で紹介する4つの仕組みは、いずれも Solana のホワイトペーパー(PoH のアイデア)を土台にしつつ、その後の開発の中で発展してきた Solana 独自の技術です。それぞれ、取引が処理されるまでの流れの中で、異なるボトルネックを解消しています。
flowchart TD
T["取引の送信"] --> GS["Gulf Stream<br/>メモプールレスな転送"]
GS --> TB["Turbine<br/>ブロックの高速伝播"]
TB --> PL["Pipelining<br/>検証作業の流れ作業化"]
PL --> SL["Sealevel<br/>取引の並列実行"]
SL --> DONE["台帳への確定"]
- Gulf Stream(ガルフストリーム): 多くのブロックチェーンには、取引を一時的に溜めておく「メモプール」という待合室があります。Solana は、次にリーダーを務めるノードのスケジュールが事前にわかっている性質を利用し、取引をメモプールに溜めずに、次期リーダー候補へ直接転送します。待ち時間を減らし、リーダー交代のたびに詰まりが生じるのを防ぎます。
- Turbine(タービン): 生成されたブロックをネットワーク全体に配る仕組みです。ブロックを小さな断片(shred)に分割し、木構造(ツリー)状にノードからノードへ伝播させることで、1つのノードに配信の負荷が集中するのを避け、ネットワーク全体への伝播を高速化します。
- Sealevel(シーレベル): 取引を並列に実行するエンジンです。Solana では、各取引が「どのアカウントを読み書きするか」を事前に宣言する必要があります(この点は第3章で詳しく扱います)。読み書きするアカウントが重ならない取引どうしは、互いに干渉しないとわかるため、同時に並列実行できます。
- Pipelining(パイプライン化): 取引の検証には「署名の確認」「実行」「台帳への書き込み」など複数の工程があります。Solana はこれらの工程を、工場の流れ作業(パイプライン)のように分担し、異なるハードウェア(CPU・GPU など)に振り分けることで、全体のスループットを高めています。
これらはいずれも「PoH によって順序と大まかな時間が共有できている」という前提の上に成り立つ工夫です。土台となる時計(PoH)と、その上の合意(Tower BFT)、そして実行・伝播の各段階の高速化(Gulf Stream・Turbine・Sealevel・Pipelining)が組み合わさることで、Solana は高いスループットと低い手数料を実現しています。
演習
4つの仕組み(Gulf Stream・Turbine・Sealevel・Pipelining)のうち、「取引を実行する段階」を高速化しているのはどれでしょうか。また「取引を実行前のノードへ届ける段階」を高速化しているのはどれでしょうか。
ヒント1を見る
Sealevel は「同時に実行してよい取引かどうか」を見分けて並列実行します。
ヒント2を見る
Gulf Stream は取引の転送、Turbine はブロックの配布を担当しています。