Solana(ソラナ)のハイパフォーマンスなブロックチェーンは、8つの主要なイノベーションによって構成されています。ソラナは、レイヤー2やシャーディングを必要とせずに秒間で5万トランザクションを実行できる点でゲームチェンジャーだと期待されます。詳しくは下記の記事をご覧ください。
【関連】
・Solanaとは?秒間5万トランザクションを処理できるブロックチェーン
ソラナの8つのイノベーション
ソラナの8つのイノベーションは下記の通りです。
- Proof of History(PoH)
- Tower Byzantine Fault Tolerance:PoHに最適化されたPBFT
- Turbine:ブロック伝搬プロトコル
- Gulfstream:Mempool-lessトランザクション転送プロトコル
- Sealevel:世界初の並列スマートコントラクトのランタイム
- Pipelining:検証用のトランザクション処理装置
- Cloudbreak:水平スケールのアカウントデータベース
- Archivers:分散型台帳ストレージ
今回は上記のうち「Pipelining」と「Cloudbreak」、「Archiver」について解説します。これまでにご紹介した「Sealevel」と「Tower BFT」、「Turbine」については下記の記事をご覧ください。
【関連】
・Solana(ソラナ)8つのイノベーション、「Tower BFT」+「Turbine」解説
・Solana(ソラナ)8つのイノベーション「Sealevel」を解説
Pipelining
Pipeliningはソラナネットワーク上のトランザクション検証プロセスで利用されるメカニズムです。一連のステップで処理しなければならない入力データのストリームがあり、かつそれぞれのステップを担当するハードウェアが異なる場合でもPipelineの仕組みにより常に効率的に動作するようになります。
ソラナネットワーク上では、トランザクション処理ユニット(TPU)はカーネルレベルでのデータフェッチ、GPUレベルでの署名検証、CPUレベルでのバンキング、カーネル空間での書き込みを経て進行し、TPUがバリデータにブロックを送信し始める頃には、次のパケットセットをフェッチし、署名を検証し、トークンのクレジットを開始しています。
Cloudbreak
分散型システムでは、メモリを使って勘定科目を管理しているため、メモリサイズの不足やアクセス速度の制限により、パフォーマンスの維持が難しくなることがあります。
Cloudbreakは、SSDのRAID 0構成での同時読み取りと同時書き込みに最適化するように設計されています。各ディスクを追加すると、オンチェーンプログラムで利用可能なストレージ容量が追加され、プログラム実行時に実行できる同時読み取りと同時書き込みの数を増やすことができます。
Archivers
SolanaのデータストレージはバリデータからArchiversと呼ばれるノードのネットワークにオフロードされています。※ただしArchiversはコンセンサスには参加しません。
ステートの記録は細分化されてArchiversで保存されており、ネットワークはArchiversに対して本来あるべきデータを保存していることを証明するように都度確認しています。ArchiversはソラナのProof of History(PoH)を使用してPoRep(FilecoinのProof of Replication)の生成方法を最適化することで、大規模なバッチとして検証可能にしています。