Solana(ソラナ)のハイパフォーマンスなブロックチェーンは、以下の8つの主要なイノベーションによって構成されています。
ソラナの8つのイノベーション
- Proof of History(PoH)
- Tower Byzantine Fault Tolerance:PoHに最適化されたPBFT
- Turbine:ブロック伝搬プロトコル
- Gulfstream:Mempool-lessトランザクション転送プロトコル
- Sealevel:世界初の並列スマートコントラクトのランタイム
- Pipelining:検証用のトランザクション処理装置
- Cloudbreak:水平スケールのアカウントデータベース
- Archivers:分散型台帳ストレージ
今回は上記のうち「Sealevel」について解説します。ソラナはスマートコントラクトを実行できる2020年にローンチ予定の汎用ブロックチェーンです。ソラナは、レイヤー2やシャーディングを必要とせずに秒間で5万トランザクションを実行できる点でゲームチェンジャーだと期待されます。詳しくは下記の記事をご覧ください。
【関連】
・Solanaとは?秒間5万トランザクションを処理できるブロックチェーン
超並列トランザクション処理エンジンSealevel
Sealevelは、GPUやSSDをまたいで水平方向にスケールするように設計された超並列トランザクション処理エンジンです。多くのブロックチェーンがシングルスレッドコンピュータであるのに対して、ソラナのブロックチェーンは単一のシャードでトランザクションの並列実行(署名検証だけでなく)をサポートしています。
Sealevelのソリューションは、パスマスター転送やDMA転送時に、不連続のメモリーブロックを連続転送するスキャッタギャザーと呼ばれるオペレーティングシステムドライバに依存しています。トランザクションは実行中にどのような状態で読み書きするかを前もって指定し、ブロック内で発生しているすべての非重複トランザクションを見つけ、並列実行を行うことができます。
Sealevel自体はトランザクションをスケジュールするバーチャルマシンですが、Sealevelは実際にバーチャルマシン内でトランザクションを実行しません。その代わりにSealevelは、高性能パケットフィルタ用に設計されたBerkeley Packet Filter (BPF)と呼ばれるバイトコードを使用して、ハードウェア上でネイティブに実行されるトランザクションを渡します。このバイトコードは90年代初頭から最適化されており、世界中の何百万台ものスイッチに導入されており、シングルスイッチで40ギガビットのネットワーク上で毎秒6,000万パケットを処理しています。