ブロックチェーン/レベル VIII · ミームコインの時代/8.1 Solanaの物語/レッスン 1
起源:歴史の証明
検証可能なクロックと、それを支えるハードウェア
用意するものSolanaのブロックエクスプローラー(例:SolscanやSolana Explorer)アナトリー・ヤコヴェンコによるSolanaのホワイトペーパー(2017年)Turbine、Gulf Stream、Sealevelに関するSolanaのドキュメント
問い
- 分散型ノードは、継続的な同期なしでイベントの順序についてどのように合意できるのか?
- なぜ決定的リーダースケジュールが並列トランザクションの実行を可能にするのか?
- サブ秒単位のブロックタイムとバリデータのハードウェア要件との関係は何ですか?
探究
- アナトリー・ヤコヴェンコは2017年11月にSolanaのホワイトペーパーを公開し、Proof of History(PoH)を紹介した。PoHは、前のハッシュ値から派生される一連のSHA-256ハッシュ値を生成する。この暗号処理は検証可能な時計として機能し、バリデータは各トランザクションごとに互いにメッセージをやり取りすることなく、時間的順序を確立するためにこれを利用する。この仕組みにより、グローバル同期のために往復遅延に依存するコンセンサスプロトコルと比べて通信負荷が軽減される。
- Solanaは、PoHとTower BFTを用いたステークによる投票方式を組み合わせている。メインネットのベータ版は2020年3月16日にリリースされた。ブロックは、定められたリーダーによって約400ミリ秒ごとに生成される。この決定的なスケジュールにより、バリデータは自分がいつブロックを生成するかを正確に把握できる。トランザクションはグローバルメモプールを経由せず、事前に次のリーダーに転送することが可能だ。完全な最終決定までには約32スロット、つまり13秒程度かかる。
- タービンは、木構造を利用してブロックを小さな断片に分割し、ネットワーク上に並列的に分散させることでブロックの伝播を処理する。伝播が遅れるとスループットが大幅に低下する。ガルフストリームは、トランザクションがブロックに含まれる前に直接次のリーダーに転送することでメンプールの混雑を解消する。これにより、バリデータはできるだけ早くトランザクションデータを受信でき、遅延が削減され、処理量が多い時期のボトルネックも防げる。
- Sealevelは、トランザクションが事前にアカウントの依存関係を宣言するため、スマートコントラクトの並列実行を可能にします。2つのトランザクションがアカウントの依存関係を共有しない場合、Sealevelは複数のCPUコア上で同時にそれらを実行します。これは、論理的な独立性に関わらず各トランザクションが前のトランザクションの完了を待つという順次実行モデルとは対照的です。このアーキテクチャは、ハードウェアの利用効率を最大限に高めることで、1秒あたり数千件のトランザクション処理を目指しています。
- その代償として、検証者用のハードウェアが必要になる。高い処理能力とネットワーク帯域幅が求められ、スロットタイムを維持するためにはそれらが不可欠だ。Jump Crypto社のFiredancerという別の独立したクライアントは、2024年9月からはハイブリッド形式(「Frankendancer」)でメインネット上で動作し始め、2025年12月からは完全な独立型クライアントとして稼働している。これによりネットワーク内のクライアントの多様性が高まり、コンセンサスや実行ロジックにおける単一のコードベースへの依存度が低下する。
- このアーキテクチャを確認するには、Solanaのブロックエクスプローラーを開きます。最近のスロットを任意に選択し、含まれているトランザクションの一覧を確認してください。そのスロットのメタデータに記載されている特定のバリデーターによってブロックが生成されたことに注意してください。また、そのブロックに含まれるトランザクションの数や、連続するスロット間の時間も確認しましょう。通常は約400ミリ秒ですが、リーダーがブロックを生成できない場合にはいくつかのスロットが省略されることがあります。
重要な事実
- Proof of Historyは、SHA-256ハッシュシーケンスを利用して、トランザクションの順序を管理するための検証可能なタイムスタンプを生成します。
- ソラナのメインネットベータ版は2020年3月にリリースされ、スロット時間は約400ミリ秒でした。
- Tower BFTは、Proof of Historyクロックの上にコンセンサスを提供する。
- タービンの破片はブロックに分断され、バリデータネットワークを横断して並行して伝播する。
- ガルフストリームは、グローバルなメンプールをバイパスして、取引を次期リーダーに転送する。
- Sealevelは、事前に宣言されたアカウント間の依存関係を活用することで並列実行を可能にします。
演習 九・六・三・一
9集めるSolanaのアーキテクチャまたはコンセンサスメカニズムに含まれる9つの構成要素を挙げてください。各構成要素について、その主な機能と、スループットやレイテンシーに関して解決する具体的な問題点を記載してください。
6まとめる9つのコンポーネントを、トランザクションライフサイクルにおける段階、すなわちクロック/注文処理、伝播、実行、ストレージ、コンセンサス、またはクライアント実装に基づいて6つのカテゴリーに分類します。
3絞り込むSolanaの高いスループットを実現するため、6つのカテゴリーを3つの核心的な設計原則に絞り込みます。通信にかかるオーバーヘッドをどのように最小限に抑え、並列処理をどのように実現するかに焦点を当てます。
1結晶化するサブ秒単位のブロックタイムを実現するには、ネットワークの分散性とハードウェアの負荷との間でトレードオフが必要だからです。
事実確認
日付、数字、主張は、下記に記載された公表資料と照合して確認しました。