ソラナ
ガルフストリーム
Gulf Stream
トランザクションをパブリックなメモリプールにブロードキャストする代わりに、現在および次のリーダー(バリデーター)へ直接転送するプロトコル。ブロードキャストフェーズを省略することで、レイテンシを大幅に削減する。
わかりやすく学ぶポイント
チャプター3:ソラナ(Solana)
概要
ソラナ(Solana)は2020年にメインネットを公開した高性能レイヤー1ブロックチェーンであり、「世界最速のブロックチェーン」を標榜して設計されたプラットフォームです。イーサリアムが直面してきたスケーラビリティ問題、すなわち処理速度の遅さと高い手数料という課題を、根本的なアーキテクチャの革新によって解決することを目指しています。ソラナのアプローチが際立っているのは、単に既存技術を改良するのではなく、並列実行やプルーフ・オブ・ヒストリー(PoH)といった独自のコア技術を組み合わせ、毎秒数万件のトランザクション処理を目標に据えている点です。
本チャプターでは、ソラナをソラナたらしめる7つの核心概念を深く掘り下げます。アーキテクチャレベルの革新である並列実行とプルーフ・オブ・ヒストリー(PoH)を出発点に、セキュリティと開発利便性を高めるプログラム派生アドレス(PDA)、手数料構造を刷新したローカル手数料市場、そしてネットワーク効率を向上させるガルフストリームとターバインまで幅広く取り上げます。さらに、ソラナの未来を左右するアルペングロウアップグレードも含め、ソラナの現在と将来を体系的に理解できるよう構成しています。
ソラナはその卓越したパフォーマンスで注目を集める一方、ネットワーク障害や中央集権化への懸念といった現実的な課題も指摘されてきました。本チャプターを通じて、ソラナ技術の強みとトレードオフをバランスよく把握し、ブロックチェーンのスケーラビリティ問題に対するソラナ独自の解法を批判的な視点で理解することを目指します。
並列実行(Parallel Execution)
定義
並列実行とは、ソラナがトランザクションを処理する方式であり、互いに異なるアカウントにアクセスするトランザクションを、複数のCPUコアで同時並行して実行するメカニズムです。これを可能にする核心的な条件は、「トランザクションが事前に読み書きするアカウントのリストを宣言しなければならない」というルールです。ランタイムはこの宣言をもとにトランザクション間の競合有無を事前に判定し、競合しないトランザクションは並列処理、同一アカウントにアクセスするトランザクションのみ順次処理します。ソラナはこの仕組みをSealevel(シーレベル)と呼ぶ並列ランタイムによって実現しています。
核心ポイント
-
スーパーのレジ対応 vs. 一本の列: イーサリアムはグローバルステートに順次アクセスするシングルキュー方式です。ソラナは大型スーパーマーケットで複数のレジを同時に開けるように、異なるアカウントを処理するトランザクションを独立して並列実行します。それぞれ別の商品(アカウント)を精算する客(トランザクション)は、同じ列に並ぶ必要がありません。
-
事前宣言(Pre-declaration)の重要性: すべてのソラナトランザクションは、実行前にアクセスするアカウントのリストを必ず明示しなければなりません。この要件は並列実行を可能にする前提条件である一方、開発者に追加的な設計負担を課すこともあります。実行時に動的にアクセス先が決定される構造は、ソラナでは実装がより複雑になります。
-
パフォーマンス上のメリット: 並列実行は、ソラナが毎秒数万件のトランザクション処理を主張する最も根本的な理由です。現代のサーバーは数十個のCPUコアを備えているため、理論上はコア数に比例したスループット向上が期待できます。
-
競合時は順次処理: 同一アカウントにアクセスするトランザクションは依然として順次処理されます。人気のDeFiプロトコルやNFTミントのように、大量のトランザクションが同一アカウントに集中する場合は、並列実行のメリットが薄れボトルネックが生じる可能性があります。
-
イーサリアムとの根本的な差異: イーサリアムのEVMはグローバルなステート遷移を基本モデルとしており、順次実行に最適化されています。イーサリアムが並列実行を導入するには、アカウントアクセスの予測や楽観的並列化といった複雑な追加設計が必要ですが、ソラナは当初から並列実行を設計原則として組み込んでいます。
関連概念
並列実行はソラナのあらゆるパフォーマンス関連概念と密接に結びついています。ローカル手数料市場は並列実行と連携して設計されており、特定のアカウントにトランザクションが集中した際も、そのアカウントの手数料のみが上昇し、他の並列実行フローには影響を与えない仕組みになっています。また、ガルフストリームはトランザクションを事前にリーダーへ転送することで、並列実行に必要なアカウント情報を事前に収集・整理することに貢献します。アルペングロウアップグレードは、並列実行アーキテクチャを維持しながらコンセンサスレイヤーを大幅に改善し、相乗効果を最大化する方向で設計されています。
プルーフ・オブ・ヒストリー(PoH)
定義
プルーフ・オブ・ヒストリー(Proof of History、PoH)は、ソラナが考案した暗号学的な時間記録メカニズムです。連続したSHA-256ハッシュシーケンスを生成することで、特定のイベントが特定の順序で、特定のタイミングに発生したことを数学的に証明します。一般的なブロックチェーンでは、ノード間でイベントの順序と時刻に合意するために複雑なメッセージ交換が必要です。PoHはこのプロセスを暗号学的タイムスタンプで置き換えることで、合意に要するオーバーヘッドを削減し処理速度を向上させる役割を担ってきました。ただし、PoHは独立したコンセンサスアルゴリズムではなく、ソラナのPoSベースのコンセンサスメカニズムであるTower BFTを補助する時間記録レイヤーです。
核心ポイント
-
連続ハッシュシーケンス: PoHは前のハッシュの出力を次のハッシュの入力として使う連続ハッシング(sequential hashing)によって実装されます。このシーケンスは計算に時間を要するため、特定のハッシュ値が存在するということは、それ以前のハッシュがすべて先に計算されていることを意味します。つまり、順序を偽造することはできません。
-
信頼できるグローバルクロックとしての役割: 従来の分散システムでは、ノード間の時刻同期は難しい問題です。PoHはブロックチェーンに組み込まれた暗号学的なクロックを提供し、外部のタイムスタンプサーバーなしでも、すべての参加者がイベントの相対的な順序を検証できるようにします。
-
Tower BFTとの関係: PoH自体がコンセンサスを直接達成するわけではありません。実際のコンセンサスはTower BFTが担い、PoHはその基盤となる時間情報を提供します。PoHが生成するスロット(slot)とエポック(epoch)の構造の上で、バリデーターが投票を行います。
-
リーダースケジュールとの連動: ソラナは各スロットでブロックを生成するリーダーバリデーターを事前に指定します。PoHの時間の流れはこのリーダースケジュールと同期されており、各リーダーが自分のスロット内で正確にトランザクションを処理し次のリーダーへ引き継ぐ構造を形成しています。
-
アルペングロウでの廃止: PoHはソラナを象徴する技術でしたが、アルペングロウ(Alpenglow)アップグレードにおいて完全に廃止される予定です。固定スロットスケジューリング(fixed slot scheduling)がPoHに取って代わり、よりシンプルかつ高速なコンセンサスが実現されることが期待されています。PoHが担ってきた時間記録の役割は、新しい方式で引き継がれます。
関連概念
PoHはソラナのコンセンサス構造全体と緊密に結びついています。並列実行はPoHが生み出す時間構造とリーダースケジュールの上で動作します。ガルフストリームはPoHのリーダースケジュール情報を活用して、トランザクションを該当リーダーへ事前に転送します。最も重要な関連概念はアルペングロウです。PoHを完全に置き換えるアップグレードであるため、PoHを理解することはすなわち、アルペングロウが何を改善しようとしているかを理解する鍵となります。
プログラム派生アドレス(PDA)
定義
プログラム派生アドレス(Program Derived Address、PDA)は、ソラナにおいてプログラム(スマートコントラクト)が数学的に生成する特殊なアドレスで、対応する秘密鍵(private key)が存在しません。通常のソラナウォレットアドレスは公開鍵・秘密鍵のペアで構成されており、秘密鍵の保有者がそのアドレスの資産を管理します。一方、PDAは特定のプログラムIDとシード(seed)値を組み合わせ、楕円曲線(elliptic curve)の外側の点(off-curve point)として数学的に導出されるため、いかなる秘密鍵も存在せず、対応するプログラムのみがPDAを「署名(sign)」して制御できます。
核心ポイント
-
エスクローのカストディ問題を解決: DeFiにおけるエスクロー(escrow)機能は、第三者が一時的に資金を保管しなければならない状況を生み出します。従来の方式ではこの資金を管理する鍵を誰か(またはマルチシグ)が保持する必要があり、内部者による横領やハッキングのリスクを内包していました。PDAは秘密鍵を持たないため、いかなる人間もPDAに保管された資金を恣意的に引き出すことができません。資金が移動するのは、所有プログラムのロジックが許容する条件下のみです。
-
プログラムのみがPDAに署名可能: ソラナのランタイムは、特定のプログラムが自身のPDAを代理して署名する行為を許可します。これを「プログラム署名(program signing)」またはCPI(Cross-Program Invocation)with signerと呼びます。このメカニズムがあってこそ、プログラムがPDAアカウントの資産を移動させたりデータを変更したりできます。
-
決定論的なアドレス生成: PDAはプログラムIDとシード値が同一であれば常に同一のアドレスを生成します。この決定論的(deterministic)な特性により、どの参加者も特定のPDAのアドレスを事前に計算・検証でき、透明性と予測可能性が保証されます。
-
多様なユースケース: PDAはエスクロー以外にも、AMM(Automated Market Maker)の流動性プール、NFTメタデータの保存アカウント、ユーザーごとの状態保存アカウント、オンチェーン設定データなど、ソラナのDApp開発における核心パターンとして幅広く活用されています。
-
イーサリアムとの比較: イーサリアムのスマートコントラクトも固有のアドレスを持ち資産を保管できます。しかし、ソラナのPDAはアカウントモデルとプログラム所有構造の特殊性から、より明示的かつきめ細かい方式で資産カストディを実現しています。
関連概念
PDAはソラナのプログラミングモデル全体と結びついています。並列実行との関係では、PDAを含むトランザクションも該当のPDAアカウントを事前宣言する必要があり、これが並列実行スケジューリングに組み込まれます。ローカル手数料市場との関係では、多くのユーザーが同一のPDA(例:人気DEXの流動性プール)にアクセスすると、そのアカウントの手数料が上昇する現象が生じます。PDAはソラナのDAppセキュリティ設計の根幹であり、アルペングロウアップグレード後もプログラミングモデルの中核要素として維持されます。
ローカル手数料市場(Local Fee Markets)
定義
ローカル手数料市場(Local Fee Markets)は、ソラナの手数料決定方式であり、ネットワーク全体の混雑度ではなく個々のアカウント(account)レベルで手数料が決まるメカニズムです。イーサリアムではネットワーク全体の需要に応じて基本手数料(base fee)が決定されるため、あるDAppで混雑が発生すると、まったく無関係な他のトランザクションの手数料まで上昇します。一方、ソラナのローカル手数料市場では、特定のアカウントにトランザクションが集中した際、そのアカウントに関連するトランザクションの優先手数料(priority fee)のみが上昇し、他のアカウントを扱うトランザクションは影響を受けません。
核心ポイント
-
アカウントレベルの手数料決定: ソラナのすべてのトランザクションには基本手数料(base fee)と任意の優先手数料(priority fee)があります。特定のアカウントへのアクセスが集中すると、そのアカウントに対する優先手数料の競争が発生します。人気NFTのミントやDeFiの清算(liquidation)イベントのように、特定アカウントへの需要が集中するときにこの効果が顕著に現れます。
-
イーサリアムのグローバル手数料市場との対比: イーサリアムで人気NFTのミントが発生するとガス代がネットワーク全体で高騰し、単純なトークン送金のような無関係なトランザクションまで高コストになります。ソラナのローカル手数料市場は原理的にこの問題を解決し、混雑の影響を該当アカウントの範囲に限定します。
-
並列実行とのシナジー: ローカル手数料市場は並列実行と組み合わせたときに最大の効果を発揮します。混雑したアカウントのトランザクションが高い手数料を払いながら競い合う間、他のアカウントを処理するトランザクションは低い手数料で並列実行レーンを正常に流れます。
-
現実の限界——スパムへの脆弱性: ローカル手数料市場は理論的には洗練された設計ですが、実際には激しいスパム攻撃やボットトラフィックが発生した場合に不完全な動作を示すという批判があります。スパムトランザクションが複数のアカウントに分散して攻撃する場合や、ネットワークレベルの飽和状態が生じた場合、ローカル手数料メカニズムだけではネットワーク品質の保証が難しくなります。これはソラナが過去に複数回のネットワーク性能低下を経験した原因の一つです。
-
QUICアップグレードとの連携: ソラナはスパム問題を改善するため、トランザクション送信プロトコルをUDPからQUICへ移行し、ステーク加重サービス品質(stake-weighted QoS)を導入するなどの補完措置を講じました。これはローカル手数料市場だけでは十分でないことを認めた現実的な対応です。
関連概念
ローカル手数料市場は並列実行のアーキテクチャ的な前提の上に設計された手数料メカニズムです。PDAを含むアカウントもローカル手数料市場の影響を受け、人気プログラムのPDAは手数料競争の対象となります。ガルフストリームはトランザクションをリーダーへ事前転送する際に優先手数料情報も一緒に届け、リーダーが収益性の高いトランザクションを優先処理できるようにします。アルペングロウはコンセンサス速度を大幅に向上させることで、手数料競争の時間的プレッシャーを軽減するという間接的な効果も期待されています。
ガルフストリーム(Gulf Stream)
定義
ガルフストリーム(Gulf Stream)は、ソラナのトランザクション転送(transaction forwarding)プロトコルです。ビットコインやイーサリアムなど多くのブロックチェーンでは、トランザクションが公開メモリプール(mempool)にブロードキャストされ、全ノードが保持した上でリーダー(マイナーまたはバリデーター)が選択します。ガルフストリームはこの方式の代わりに、トランザクションを現在のリーダーおよび今後予定されているリーダーたちへ直接転送します。ソラナはPoHベースのリーダースケジュールによって将来のリーダーを事前に把握できるため、この方式が実現可能です。
核心ポイント
-
メモリプールレスなアーキテクチャ: ソラナは公開メモリプールを運用しません。代わりにガルフストリームを通じて、トランザクションはネットワーク全体にブロードキャストされることなく、必要なリーダーへ直接転送されます。これによりブロードキャスト段階で発生するネットワークオーバーヘッドとレイテンシを削減します。
-
リーダースケジュールの活用: PoHが生成するリーダースケジュールにより、ソラナの全ノードは今後複数のスロットにわたって誰がリーダーになるかを事前に知っています。ガルフストリームはこの情報を活用し、トランザクションを現在のリーダーだけでなく次の順番のリーダーたちへも事前に転送することで、リーダーがブロック生成を開始する前から処理すべきトランザクションを保持できるようにします。
-
レイテンシ削減効果: 公開メモリプール方式ではトランザクションがネットワーク全体に伝播した後にリーダーが選択するため、伝播遅延が生じます。ガルフストリームはこの伝播経路を短縮し、トランザクションがリーダーへ到達するまでの時間を短縮することで、結果的にコンファメーション速度を向上させます。
-
MEV(最大抽出可能価値)への影響: 公開メモリプールがないため、イーサリアムで一般的なフロントランニング型MEVは困難です。ただしソラナでも、リーダーが自分に転送されたトランザクションを並び替える(reorder)形のMEVは依然として存在しており、この点についての議論は活発に行われています。
-
中央集権化への懸念: トランザクションが少数の予定されたリーダーへ直接転送される構造は、理論上それらのリーダーが特定のトランザクションを検閲(censor)したり優先順位を操作したりする可能性を生み出します。これはソラナのアーキテクチャに対する分散性に関する批判の一つとして提起されています。
関連概念
ガルフストリームは**プルーフ・オブ・ヒストリー(PoH)**のリーダースケジュールなしには機能しません。アルペングロウアップグレードでPoHが廃止されるとリーダースケジュールの方式も変更されるため、ガルフストリームプロトコルもそれに合わせて調整されることが予想されます。ローカル手数料市場との関係では、ガルフストリームを通じて転送されるトランザクションに優先手数料が含まれており、これがリーダーの処理優先度を決定する基準となります。ターバインはガルフストリームと相互補完的に機能しており、ガルフストリームがトランザクションをリーダーへ集約するプロセスであるとすれば、ターバインは完成したブロックを残りのバリデーターへ配布するプロセスです。
ターバイン(Turbine)
定義
ターバイン(Turbine)は、ソラナのブロック伝播(block propagation)プロトコルです。リーダーがブロックを生成したら、それをネットワーク上のすべてのバリデーター(validator)へ届けなければなりません。しかし、数千のバリデーターに大容量のブロックデータを直接送信すると、膨大なネットワーク帯域幅が必要になります。ターバインはこの問題を解決するために、ブロックを「シュレッド(shred)」と呼ばれる小さなデータの断片に分割し、バリデーターのツリー構造(階層)を通じて段階的に伝播させます。各バリデーターは受け取ったシュレッドを隣接するバリデーターへ転送するため、リーダーが単独でネットワーク全体を担う必要がなくなります。また、ターバインはリード・ソロモン(Reed-Solomon)などの冗長性エンコーディングを用いており、一部のシュレッドが欠損してもブロック全体を復元できる耐障害性を備えています。
核心ポイント
-
シュレッドへの分割: リーダーはブロック全体を一度に送信するのではなく、固定サイズのシュレッドに分割して送信します。各シュレッドは独立して転送・検証できるため、ネットワーク効率が大幅に向上します。
-
ツリー構造による伝播: バリデーターはランダムに選ばれたツリー構造に配置され、各ノードが受け取ったシュレッドを子ノードへと転送します。これにより、リーダーの送信負荷がネットワーク全体に分散されます。ただし、ツリーの上位に位置するバリデーターは相対的に大きな帯域幅負担を負うという側面もあります。
-
冗長性エンコーディング: ターバインは冗長性コードを付与したシュレッドを生成するため、一定数のシュレッドが失われても元のブロックを完全に復元できます。これはネットワークパケットロスへの耐性を高め、ブロック伝播の信頼性を向上させます。
-
高スループットとの両立: ソラナは高いトランザクション処理速度を誇るため、生成されるブロックデータも大きくなりがちです。ターバインはこの大容量データを効率的にネットワーク全体へ届けるための不可欠な仕組みであり、並列実行による高スループットとネットワーク伝播の両立を支えています。
-
セキュリティ上の考慮事項: ツリー構造での伝播は効率的である一方、ツリー上位ノードによるシュレッドの選択的な保留や改ざんへの懸念もあります。ソラナはバリデーターのランダム選択や署名検証などによってこのリスクを軽減しています。
関連概念
ターバインはガルフストリームと対になる概念です。ガルフストリームがトランザクションをリーダーへ集約する「インバウンド」の流れであるとすれば、ターバインはリーダーが生成したブロックをネットワーク全体へ届ける「アウトバウンド」の流れです。並列実行によって処理されたトランザクション群を含む大容量ブロックを効率的に伝播するうえで、ターバインの役割は不可欠です。アルペングロウアップグレードでは、PoHの廃止とともにブロック伝播レイヤーにもRotorと呼ばれる新しいコンポーネントが導入される予定であり、ターバインの役割がどのように再編されるかが注目されています。
アルペングロウ(Alpenglow)
定義
アルペングロウ(Alpenglow)は、ソラナの次世代コンセンサスアップグレード計画です。現行のプルーフ・オブ・ヒストリー(PoH)を廃止し、固定スロットスケジューリング(fixed slot scheduling)、新しい投票プロトコルであるVotor(ヴォター)、およびブロック伝播コンポーネントであるRotor(ローター)を導入することで、コンセンサスの速度と単純性を根本から刷新することを目指しています。現行システムでは約12.8秒かかるファイナリティを、アルペングロウでは100〜150ミリ秒にまで短縮することを目標としており、実現すれば従来比で約80〜128倍の高速化となります。
核心ポイント
- PoHの廃止: アルペングロウ最大の変更点はPoHの廃止です。PoHはソラナを象徴する技術でしたが、複雑さと制約も抱えていました。固定スロットスケジューリングへの移行により、暗号学的な逐次ハッシュ計算
ChartMentor
이 개념을 포함한 30일 코스
ガルフストリーム 포함 · 핵심 개념을 순서대로 익히고 실전 차트에 적용해보세요.
chartmentor.co.kr/briefguard