Somnia レイヤー1 ブロックチェーン詳細解説:100万 TPS とサブセカンドのファイナリティ
Somnia は、1,000,000 トランザクション/秒 (TPS) を超えるパフォーマンスとサブセカンドのファイナリティを実現する、究極のパフォーマンスを目指して構築された EVM 互換のレイヤー1 ブロックチェーンです。これを達成するために、Somnia は4つの主要な技術革新によって、コアとなるブロックチェーン設計を再構築しています。
- MultiStream コンセンサス: Somnia のコンセンサスは、各バリデーターがトランザクションの独自の「データチェーン」を維持し、独立してブロックを生成する新しいプルーフ・オブ・ステーク BFT プロトコルです。別のコンセンサスチェーンが、定期的に各バリデーターのデータチェーンの最新ブロックを確認し、それらを1つのグローバルなブロックチェーンに順序付けします。これにより、並列トランザクションの取り込みが可能になります。複数のバリデーターがそれぞれのデータストリーム上で同時にトランザクションを伝播させ、それらが後で単一の順序付けられたログにマージされます。コンセンサスチェーン (Autobahn BFT の研究に触発されたもの) は、グローバルブロックがファイナライズされた後、どのバリデーターも自身のストリームをフォークしたり変更したりすることを防ぐことで、セキュリティを確保します。図1 は、バリデーター固有のチェーンがグローバルなコンセンサスブロックに供給されるこのアーキテクチャを示しています。
- 高速化されたシーケンシャル実行: マルチスレッド実行に頼る代わりに、Somnia は単一コアを極めて高速にすることを選択しました。Somnia クライアントは、EVM スマートコントラクトをネイティブの x86 マシンコードにコンパイルします (ジャストインタイムまたはアヘッドオブタイム)。頻繁に使用されるコントラクトは最適化されたマシン命令に変換され、一般的な解釈のオーバーヘッドを排除し、実行においてネイティブの C++ に近い速度を達成します。ベンチマークでは、これにより ERC-20 転送あたり数百ナノ秒という結果が得られ、1コアで数百万 TX/秒をサポートします。あまり呼び出されないコントラクトは、標準の EVM インタプリタで実行でき、コンパイルコストのバランスを取ります。さらに、Somnia は最新の CPU のアウトオブオーダー実行とパイプライン処理 (「ハードウェアレベルの並列処理」) を活用して、個々のトランザクションを高速化します。ネイティブコードにコンパイルすることで、CPU はチップレベルで命令を並列実行でき (例えば、メモリフェッチと計算をオーバーラップさせる)、トークン転送のようなシーケンシャルなロジックをさらに加速させます。この設計選択は、ソフトウェアの並列処理は、相関性の高いワークロードの急増下ではしばしば失敗する (例えば、すべてのトランザクションが同じコントラクトに集中するホットな NFT ミント) ことを認識しています。Somnia のシングルスレッド最適化は、単純な並列実行が停止してしまうような**「ホット」なコントラクトのシナリオでも高いスループットを達成**することを保証します。
- IceDB (決定論的ストレージエンジン): Somnia には、ステートアクセス性能と予測可能性を最大化するために、IceDB と呼ばれるカスタムのブロックチェーンデータベースが含まれています。一般的な LevelDB/RocksDB バックエンドとは異なり、IceDB は決定論的な読み書きコストを提供します。すべての操作は、アクセスされた RAM キャッシュラインとディスクページの数を正確に示す「パフォーマンスレポート」を返します。これにより、Somnia は非決定性を伴うことなく、一貫したコンセンサス決定論的な方法で実際のリソース使用量に基づいてガス代を請求することができます。例えば、メモリから提供される読み取りは、ディスクにアクセスするコールドリードよりもガス代が安くなる可能性があります。IceDB はまた、読み取りと書き込みの両方に最適化された改良されたキャッシングレイヤーを使用し、非常に低いレイテンシー (平均で操作あたり15〜100ナノ秒) を実現します。さらに、IceDB は組み込みのステートスナップショット機能を備えています。ログ構造化ストレージの内部構造を利用して、アプリケーションレベルで別のマークルツリーを構築する代わりに、グローバルなステートハッシュを効率的に維持お よび更新します。これにより、ステートルートとプルーフの計算にかかるオーバーヘッドが削減されます。全体として、IceDB の設計は予測可能で高速なステートアクセスとガス計測の公平性を保証し、これらは Somnia のスケールにおいて不可欠です。
- 高度な圧縮とネットワーキング: 数百万 TPS を処理するということは、ノードが大量のトランザクションデータ (例:100万 ERC-20 転送/秒 ≈ 1.5 Gbps の生データ) を交換する必要があることを意味します。Somnia は、圧縮とネットワーキングの最適化によってこれに対処します。
- ストリーミング圧縮: 各バリデーターが連続したデータストリームを公開するため、Somnia はブロックをまたいでステートフルなストリーミング圧縮を使用できます。一般的なパターン (繰り返しのアドレス、コントラクトコール、パラメータなど) は、ストリーム内の以前の出現を参照することで圧縮され、独立したブロック圧縮よりもはるかに優れた比率を達成します。これは、ブロックチェーン活動のべき乗則分布を活用しています。アドレスやコールの小さなサブセットがトランザクションの大部分を占めるため、それらを短いシンボルでエンコードすることで大幅な圧縮が実現します (例:TX の10%で使用されるアドレスは、20バイトではなく約3ビットでコード化できます)。従来のチェーンでは、ブロックプロデューサーがローテーションするため、ストリーミング圧縮を簡単には使用できません。Somnia のバリデーターごとの固定ストリームがこの能力を解放します。
- BLS 署名集約: トランザクションの 最も圧縮できない部分 (署名とハッシュ) を排除するために、Somnia はトランザクションに BLS 署名を使用し、多くの署名を1つに集約することをサポートします。これにより、数百のトランザクションを含むブロックが単一の結合された署名を持つことができ、トランザクションごとに64バイトの ECDSA 署名を持つ場合と比較して、データサイズ (および検証コスト) を大幅に削減します。トランザクションハッシュも同様に送信されません (ピアが必要に応じて再計算します)。圧縮と BLS 集約を組み合わせることで、ネットワークを「詰まらせる」ことなく Somnia の高スループットを維持するのに十分な帯域幅要件を削減します。
- 帯域幅の対称性: Somnia のマルチリーダー設計では、1人のリーダーがブロック全体を他のノードに送信するのではなく、各バリデーターが各ブロックで新しいデータの自身の割合を継続的に共有します。その結果、ネットワーク負荷は対称的に分散されます。N 個のバリデーターのそれぞれが、総データの約 1/N を N-1 のピアにアップロードし (そして他の部分をダウンロードする)、単一のリーダーが N-1 のコピーをアップロードするのとは異なります。どのノードも、チェーン全体のスループットよりも高いアウトバウンド帯域幅を必要とすることはなく、単一のリーダーが巨大なアップロードパイプを持たなければならないというボトルネックを回避します。この均等な利用により、Somnia はいくつかのスーパーノードに集中することなく、ノードの物理的な帯域幅の限界に近づくことができます。要するに、Somnia のネットワーキングスタック は、すべてのバリデーターがトランザクションの伝播作業を共有するように設計されており、分散型ネットワーク全体でギガビットレベルに近いスループットを可能にします。
コンセンサスとセキュリティ: コンセンサスチェーンは、部分的同期の仮定を持つ修正 PBFT (Practical Byzantine Fault Tolerance) プルーフ・オブ・ステークプロトコルを使用します。Somnia は、世界中に分散した60〜100のバリデーターでローンチしました (メインネットは約60で開始し、100を目標としています)。バリデーターは、負荷を処理するために強力なハードウェア (性能的には Solana と Aptos のノードの中間程度のスペック) を実行する必要があります。このバリデーター数は、パフォーマンスと十分な分散化のバランスを取っています。チームの哲学は「十分な分散化」です (セキュリティと検閲耐性を確保するのに十分でありながら、パフォーマンスを損なうほど極端ではない)。特筆すべきは、Google Cloud が他のプロのノードオペレーターと共に、ローンチ時にバリデーターとして参加したことです。
Somnia は、悪意のある行動に対するステーキングデポジットとスラッシングのような標準的な PoS セキュリティ対策を実装しています。その斬新な実行エンジンの安全性を強化するために、Somnia は独自の**「Cuthbert」**システムを使用しています。これは、各ノードのメインクライアントと並行して実行される代替のリファレンス実装 (非最適化) です。すべてのトランザクションは両方のエンジンで実行され、最適化されたクライアントの結 果に不一致やバグが検出された場合、バリデーターは停止してファイナライズを拒否し、コンセンサスエラーを防ぎます。この二重実行はリアルタイムの監査として機能し、積極的なパフォーマンス最適化が誤ったステート遷移を生成しないことを保証します。時間が経ち、プライマリクライアントへの信頼が高まるにつれて、Cuthbert は段階的に廃止される可能性がありますが、初期段階では追加のセキュリティ層を提供します。
要約すると、Somnia のアーキテクチャはリアルタイムで大規模ユーザー向けのアプリケーションに特化しています。トランザクションの伝播とファイナライゼーションを分離し (MultiStream)、シングルコアの実行を大幅に強化し (EVM コンパイルと CPU レベルの並列処理)、データレイヤーを最適化し (IceDB)、トランザクションあたりの帯域幅を最小化する (圧縮 + 集約) ことで、Somnia は従来の L1 を桁違いに超えるパフォーマンスを達成します。Improbable の CEO である Herman Narula は、それが「最も先進的なレイヤーワンであり… Ethereum や Solana の数千倍のスループットを処理できる」と主張しており、次世代のゲーム、ソーシャルネットワーク、没入型メタバース体験に必要な速度、スケール、応答性のために特別に構築されています。