この並列処理により、マルチコア CPU リソースがより有効に活用され、スループットが大幅に向上し、待機時間が短縮されます。Cronosチームは、さまざまなトランザクションタイプと環境でのパフォーマンス向上を評価するために、構成可能なベンチマークフレームワークを導入しました。以前の投稿で共有したように、内部テストでは、Cronosチェーンは、ベースラインの~100TPSと比較して、最大60,000TPSのスループットレベルを達成しました。マルチノード構成でも、パフォーマンスの向上は大幅なままでした。
ブロックSTMとMemIAVLによるCronosチェーンのブースト
トランザクション実行の効率性は、ブロックチェーンネットワークのスケーラビリティとユーザーエクスペリエンスにとって非常に重要です。高スループット(the second)あたりのトランザクション数と低遅延の確認(quick times)により、使用頻度が高い場合でもスムーズなdAppエクスペリエンスが可能になります。ユーザーにより良い体験を提供するために、Cronosの開発チームは、増大する需要を満たすためにパフォーマンスの最適化に熱心に取り組んできました。Cronosのトランザクション処理と状態管理を強化する上で主要な役割を果たした2つの主要なイノベーションは、BlockSTMとMemIAVLです。
これらの革新は、広範なCosmosエコシステムの利益のために共同で貢献され設計されており、すでに他の場所での採用を促しています。
BlockSTMの概要
BlockSTM (ブロックレベルのソフトウェアトランザクションMemory)は、Cronosでのトランザクション処理に並行性をもたらす並列実行エンジンです。従来、ブロックチェーンノードはトランザクションを順番に処理するため、パフォーマンスのボトルネックが生じる可能性があります。BlockSTMは、ブロック内で複数のトランザクションを同時に実行できるようにすることで、これを改善します。BlockSTMは、オプティミスティックな並行性制御手法であるSTMを活用することで、競合が自動的に処理され、必要な場合にのみロールバックされるようにします。
この並列処理により、マルチコア CPU リソースがより有効に活用され、スループットが大幅に向上し、待機時間が短縮されます。Cronosチームは、さまざまなトランザクションタイプと環境でのパフォーマンス向上を評価するために、構成可能なベンチマークフレームワークを導入しました。以前の投稿で共有したように、内部テストでは、Cronosチェーンは、ベースラインの~100TPSと比較して、最大60,000TPSのスループットレベルを達成しました。マルチノード構成でも、パフォーマンスの向上は大幅なままでした。
MemIAVL の概要
BlockSTMは実行速度に焦点を当てているのに対し、MemIAVL (はメモリIAVL)の略で、状態ストレージとコミットメントの効率に対処しています。Cosmos SDKベースのチェーンでは、アプリケーションの状態は従来IAVLツリーによって管理されています。しかし、元のIAVL実装は、頻繁なディスク書き込みと深いツリー更新のオーバーヘッドのためにボトルネックになる可能性があります。
MemIAVLは、CosmosチームとCronosチームによって共同開発された代替実装です。作業状態をメモリに格納し、メモリマップドスナップショットを使用し、先行書き込みログ(WAL)を介して変更セットをログに記録することで、パフォーマンスを最適化します。これにより、状態変更のコミットとスナップショットの復元の速度が大幅に向上します。
テストはMemIAVLを使用した結果を示しました:
MemIAVL は、完全な履歴状態を保持しないプルーニングされたノードに特に適しています。これは、履歴データクエリを処理するCronosのVersionDBと連携して動作します。詳細については、MemIAVL のドキュメントとリポジトリを参照してください。
共同作業とインパクト
Cronosチームがこれらのテクノロジーを開始して実装しましたが、モジュール式でオープンになるように設計されています。Cosmos SDK コミュニティは BlockSTM の組み込みに関心を示しており、MemIAVL も同様の取り組みに触発されています。特に、Seiチームは、自分たちのステートコミットメントレイヤーにMemIAVLにインスパイアされたデザインを採用しました。
CronosのBlockSTMとMemIAVLの実装は、BlockSTMコードベース、ベンチマーク結果、MemIAVLドキュメントとしてオープンソースで提供されています。これらの貢献は、Cronosを強化するだけでなく、他のCosmos SDKチェーン全体での性能向上の基盤を築くことを目的としています。
開発者とエコシステムパートナーにとって、その利点は明確です:
これらの強化により、開発者は外部のスケーリングソリューションに依存することなく、Cronos上によりレスポンシブでスケーラブルなアプリケーションを直接構築できるようになります。
まとめ
BlockSTMとMemIAVLは、ブロックチェーンインフラストラクチャのコアパフォーマンスの課題を解決するための重要なステップを表しています。Cronosチームは、オープンなコラボレーションとコミュニティ指向の開発を通じて、Cosmosエコシステムの技術的進歩に貢献できることを誇りに思っています。これらのイノベーションは、プロトコルレベルの大幅な改善が、dAppsの新たな波を可能にし、Web3インフラストラクチャの可能性を広げる方法を実証しています。
Cosmosエコシステムの開発者とチェーンオペレーターには、これらのイニシアチブを調査、テスト、および貢献することをお勧めします。一緒に、私たちはより速く、より効率的な分散型の未来を築くことができます。
BlockSTMとMemIAVLによるCronos Chainのブースティングは、元々Cosmos Ecosystem BlogのMediumに掲載されており、人々はこのストーリーを強調し、応答することで会話を続けています。