パフォーマンスレポート
5月17日に発表されたCoinGeckoの最速チェーンレポートによると、ソラナは大規模ブロックチェーンで最速であり、1日の最大実TPSは1,504(ポーリングトランザクションは削除されています)、スイは2番目に速いブロックチェーンです。Solanaは大規模ブロックチェーンの中で最速で、1日の最大実TPSは1,504(ポーリング取引は削除されています)、Suiは2番目に速いブロックチェーンで、1日の最大実TPSは854、BSCは3位ですが、実TPSはSuiの半分以下です。
このレポートから、最高のパフォーマンスを誇るソラナとスイは、どちらも非EVブロックチェーンであることが明らかです。SolanaとSuiはどちらも非EVM互換ブロックチェーンであり、さらに、8つの非EVM互換ブロックチェーンの平均真のTPSは284であり、17のEVM互換ブロックチェーンとEther Layer2の平均TPSは74に過ぎず、非EVM互換ブロックチェーンのパフォーマンスよりも約4倍高い。
この記事では、EVM互換ブロックチェーンのパフォーマンスのボトルネックを調べ、Solanaのパフォーマンスを明らかにします。
EVM互換ブロックチェーンのパフォーマンスボトルネック
まず、EVMブロックチェーンを一般的なブロックチェーンに一般化します。一般的にTPSを高めるには、いくつかのアプローチがあります:
ノードのパフォーマンスを高める:ハードウェアリソースを積み上げることでノードのパフォーマンスを高めますが、これはイーサリアムなどの分散化の度合いに影響します。例えば、イーサネットの推奨構成は、Cpu 4コア、メモリ16G、ネットワーク帯域幅25Mbps、一般的なユーザーレベルの機器で到達することができ、集中化の程度は高いです。style="text-align: "left;">基礎プロトコルの改善:ネットワークプロトコル、暗号、ストレージなどを含む、ブロックチェーンの基礎プロトコルを改善することは、ブロックチェーン自身の特性を変更するものではなく、ブロックチェーンの動作ルールに影響を与えるものでもありません。
ブロックの拡張:ブロックのサイズを大きくすると、より多くのトランザクションを含むことができ、その結果、ブロックチェーンのトランザクションスループットが向上します。たとえば、ビットコインキャッシュ(BCH)はブロックを1MBから8MBに拡張し、さらに32MBに拡張します。しかし、ブロックの拡張は伝播遅延を増加させ、フォークやDDoS攻撃の可能性の増加といったセキュリティ上の脅威にもつながります。
コンセンサスプロトコル:コンセンサスプロトコルは、ブロックチェーンの各ノードがブロックチェーンの状態更新に同意することを保証します。コンセンサス・プロトコルは、ブロックチェーンの全ノードがブロックチェーンの状態更新に合意することを保証するもので、ブロックチェーンの最も重要なセキュリティ・ゲートである。ブロックチェーンで使用されてきたコンセンサス・メカニズムには、PoW、PoS、PBFTなどがある。スケーラビリティの需要に応えるため、一般的に高性能なパブリックチェーンはコンセンサスプロトコルを改良し、PoHに基づくSolanaのコンセンサスメカニズムやavalancheに基づくAvalancheのコンセンサスメカニズムなど、独自の特別なメカニズムと組み合わせる。
Transaction Execution:トランザクションの実行は、最も重要なセキュリティゲートであるトランザクションの実行にのみ使用される。/イーサリアムのようなブロックチェーンは、スマートコントラクトのトランザクションをブロック単位で実行するためにシリアルアプローチを使用しています。 シリアル実行におけるCPUのパフォーマンスボトルネックは非常に明白であり、ブロックチェーンのスループットを著しく制限します。一般的に、高性能なパブリックチェーンは並列実行を使用しており、Sui Moveのように、スマートコントラクトを構築するためにより並列に適した言語モデルを提案するものもあります
EVMブロックチェーンにとって、最大の課題はVMにあり、トランザクションが実行される環境である仮想マシンをVMに限定しているからです。strong>最大の課題はトランザクションの実行です。 EVMには主に2つのパフォーマンス上の問題があります:
256-bit: EVMは、イーサネットのハッシュアルゴリズムを処理しやすくするため、256ビットのVMとして設計されています。イーサネットのハッシュアルゴリズムは、明示的に256ビットの出力を生成します。しかし、EVMを実行している実際のコンピューターは、256ビットバイトをローカルアーキテクチャにマッピングして実行する必要があり、1つのEVMオペコードが複数のローカルオペコードに対応するため、システム全体が非常に非効率的で実用的ではありません。
標準ライブラリの欠如:Solidityには標準ライブラリがありません。strong>Solidityには標準ライブラリがありません。OpenZeppelinはSolidity実装の標準ライブラリを提供することで(コードをコントラクトに含めるか、デプロイされたコントラクトをデリゲートコールで呼び出すことで)状況を多少改善しましたが、Solidityコードで自分で実装する必要があります。EVMバイトコードはコンパイル済みライブラリほど高速には実行されません。
また、実行最適化の観点から、EVMには2つの大きな欠点があります:
静的解析の難しさ:ブロックチェーンでの並列実行は、チェーンでの同時実行を意味し、静的解析がないことを意味します。チェーンにおける並列実行とは、無関係なトランザクションを同時に処理し、無関係なトランザクションを互いに影響しないイベントとして扱うことを意味します。並列実行を実装する際の主な課題は、どのトランザクションが無関係で、どのトランザクションが独立しているかを判断することです。 現在、一部の高性能なパブリック・チェーンでは、トランザクションを静的にプリエンプティブに解析しており、EVMのダイナミック・ジャンプ・メカニズムでは、コードを静的に解析することは困難です。
JITコンパイラーは静的解析を行うほど成熟していません。strong>JITコンパイラーは未熟である: JITコンパイラー(Just In Time Compiler)は、最新の仮想マシンで使用される一般的な最適化ツールです。 JITの主な目的は、解釈された実行をコンパイルされた実行に変えることです。実行時に、VMはホットコードをローカルプラットフォームに関連するマシンコードにコンパイルし、さまざまなレベルの最適化を実行します。EVMのJITプロジェクトはありますが、まだ実験段階であり、十分に成熟していません。
そのため、仮想マシンの選択という点では、高性能なパブリックチェーンは、EVMよりもWASM、eBPFバイトコード、またはMoveバイトコードをベースにした仮想マシンを使用する傾向があります。
最速チェーン:Solana
PoH(履歴証明)メカニズムや低レイテンシー・高スループットで知られるSolanaは、「イーサリアムの殺し屋」の1つとして有名です。イーサリアム・キラー」の1つである。
PoHの中核にあるのは、検証可能遅延関数(VDF)に似た単純なハッシュアルゴリズムです。Solanaはこれを、1つの反復の出力を次の反復の入力として使用して継続的に実行される、逐次的な前画像耐性ハッシュ関数(SHA-256)を使用して実装しています。この計算は、認証者ごとにシングルコアで実行されます。
シーケンス生成は逐次的かつシングルスレッドですが、検証は並列的に実行できます。検証は並列に実行できるため、マルチコアシステム上で効率的な検証が可能である。ハッシュ速度には上限がありますが、ハードウェアの改良により、さらに性能が向上する可能性があります。
ソラナコンセンサスプロセス
PoHメカニズムは、信頼できる、信頼できない時間のソースとして機能し、ネットワーク内のイベントの検証可能で順序付けられた記録を作成します。PoHベースのタイミングは、Solanaネットワークがスケジュールされた透明な方法でリーダーを交代させることを可能にする。このローテーションは、現在400ミリ秒に設定されている4スロットの固定間隔で行われる。このリーダー・ローテーションの仕組みは、参加する各検証者がリーダーになる公平な機会を保証し、Solanaネットワークの分散化とセキュリティを維持するための重要なメカニズムであり、単一の検証者がネットワーク上で大きな力を得ることを防ぎます。
スロットされた期間ごとに、リーダーはユーザーから受け取った取引を含む新しいブロックを提示します。を提示する。リーダーはこれらのトランザクションを検証し、ブロックにまとめ、ネットワーク内の残りのバリデータにブロックをブロードキャストする。このブロックの提案とブロードキャストのプロセスをブロックプロダクションと呼び、ネットワーク内の他のバリデータはブロックの有効性に投票しなければならない。バリデータはブロックの内容をチェックし、トランザクションが有効であり、ネットワークのルールに準拠していることを確認する。ブロックが圧倒的多数のエクイティウェイト票を獲得した場合、そのブロックは確認されたとみなされる。この検証プロセスは、Solanaネットワークのセキュリティを維持し、二重消費を防止するために非常に重要です。
現在のリーダーのタイムスロットが終了すると、ネットワークはブロックを停止したり、確認されるのを待つのではなく、次のタイムスロットに移動し、後続のリーダーにブロックを生成する機会を提供し、再びプロセスを開始する。このアプローチにより、Solanaネットワークは高いスループットを維持し、一部のバリデーターが技術的な問題を経験したり、オフラインになったとしても、回復力を保つことができる。
パフォーマンスに対するSolanaの方法
Solanaネットワークは事前にリーダーを検証できるため、Solanaはユーザーのトランザクションを保持するためのパブリックなメモリプールを必要としません。のトランザクションを保持するためのパブリックなメモリプールを必要としない。ユーザーがトランザクションを送信すると、RPCサーバーはそれをQUICパケットに変換し、直ちにリーダーの認証者に転送する。Gulf Streamと呼ばれるこのアプローチは、リーダーの高速変換とトランザクションの事前実行を可能にし、他のバリデータのメモリ負荷を軽減する。
Solanaのブロックデータはカーネル空間に持ち込まれ、並列署名検証のためにGPUに渡されます。GPUで署名が検証されると、データはトランザクション実行のためにCPUに渡され、最後にデータ永続化のためにカーネル空間に戻されます。パイプライン技術と呼ばれる、異なるハードウェアコンポーネント上の複数のプロセスへのデータのこの分割は、ハードウェアの利用を最大化し、ブロックの検証と転送を高速化します。
Solanaのトランザクションは、アクセスするアカウントを明示的に指定するため、Solanaのトランザクションスケジューラは、読み書きロックメカニズムを使用してトランザクションを並列実行できます。を試み、トランザクションを実行し、競合するアカウントは後で実行される。このマルチスレッド並列実行技術はSealevelと呼ばれる。
リーダーによってブロックを伝播し、QUICパケット(オプションでCode of Correctionを使用)をより小さなパケットに分割し、階層構造を持つバリデータに配布するプロセス。Turbineと呼ばれるこの技術は、リーダーによる帯域幅の使用を減らすことに重点を置いている。
バリデータは、投票プロセス中にフォークされた票のコンセンサスメカニズムを使用する。バリデーターはブロック生成を続けるために投票を待つ必要はありません。代わりに、ブロック生成者は有効な新しい投票を継続的に監視し、リアルタイムで現在のブロックに組み込みます。このコンセンサスメカニズムはTowerBFTと呼ばれ、フォーク投票をリアルタイムでマージすることで、Solanaはより効率的で合理的なコンセンサスプロセスを保証し、全体的なパフォーマンスを向上させます。
ブロック永続化プロセスのために、SolanaはCloudbreakデータベースを開発しました。これは、シーケンシャル操作の速度の恩恵を受けるために特定の方法でアカウントデータ構造を分割し、メモリマップファイルを採用することで、SSDの効率を最大化します。SSDの効率を最大限に引き出します。
検証者の負担を減らすため、Solanaはデータストレージを検証者からアーカイバーと呼ばれるノードのネットワークに移行しました。アーキバーは状態の断片を保存するために使われるが、コンセンサスには参加しない。
概要
Solanaのビジョンは、ソフトウェアがハードウェアのスピードに合わせてスケールするブロックチェーンになることです。
Solanaの高いパフォーマンスとスケーラビリティこそが、年初のDePIN/AIトラックであろうと、高頻度の取引や複雑なスマートコントラクトの処理に選ばれるブロックチェーンプラットフォームなのだ。Solanaは、年初のDePIN/AIトラックと最近開始されたMemeトラックの両方で大きな可能性を示しています。
イーサETFのローンチ後、ソラナは次のETFを求める声が最も大きい暗号通貨となりました。SECはまだソラナを証券として分類しており、すぐに他の暗号通貨ETFを承認することはないでしょうが、暗号市場ではコンセンサスが価値であり、ソラナのコンセンサスはおそらくビットコインやイーサと同じくらい強くなりつつあります。ソラーナのコンセンサスは、ビットコインやイーサと同じくらい不可解なものになりつつあるのかもしれない。