• ノード

ソラナでのリアルタイムトラッキング:専用ノードが唯一の深刻な選択肢である理由

  • Felix Rose-Collins
  • 6 min read

はじめに

Solanaは400ミリ秒ごとに新しいブロックを処理します。取引システム、清算エンジン、またはポートフォリオダッシュボードを構築するチームにとって、この速度こそが最大の価値提案です。また、これが共有RPCエンドポイントがリアルタイム追跡に失敗する理由でもあります。 アプリケーションが、すべてのアカウントの変更、トークンの送金、プログラムイベントを発生と同時に把握する必要がある場合、接続の背後にあるインフラストラクチャによって、それをいち早く把握できるか、あるいは最後になって把握することになるかが決まります。RPC Fast(詳細はこちら:https://rpcfast.com/dedicated-solana-nodes)のようなプロバイダーは、まさにこのユースケースのために存在しており、データの鮮度における数ミリ秒の差が、正常に動作するシステムと機能不全に陥ったシステムを分けるのです。

本記事では、Solanaにおけるリアルタイム追跡に必要な要件、共有インフラが不十分な理由、そして専用ノードがそのギャップを埋める仕組みについて解説します。

400msのチェーンにおける「リアルタイム」の意味

イーサリアムでは、12秒のブロック間隔により、アプリケーションは状態の変化をポーリングするための十分な時間的余裕があります。一方、Solanaでは、その余裕は30分の1に縮小されます。ほとんどのHTTPラウンドトリップが完了する前に、ブロックが生成、処理、そして更新されてしまいます。

Solanaにおけるリアルタイム追跡とは、アカウントの更新、トランザクションの確認、スロットの進行状況を、それらが発生したのと同じスロット内で受信することを意味します。次のスロットではありません。2スロット後でもありません。まさにそのスロットそのものです。

これには3つのデータ配信方法があり、それぞれ異なるレイテンシ特性を持っています。

標準的なJSON-RPCポーリングが最も単純です。アプリケーションはループ内でgetAccountInfoや getTransactionを呼び出します問題点は、各呼び出しが個別のHTTPリクエストとなり、レスポンスにはリクエスト時点でのノードのキャッシュ状態が反映されることです。負荷がかかると、共有ノードはチェーンの先端から1~3スロット遅れをとります。つまり、アプリケーションがデータを処理する時点で、その「リアルタイム」データはすでに400~1200ms古いものになっているのです。

WebSocketサブスクリプションは、持続的な接続を維持することでポーリングを改善します。アカウントが変更されたりトランザクションが確定したりすると、ノードがアプリケーションに更新情報をプッシュします。Helius社によると、同社のLaserStreamを活用したWebSocketは、標準的なRPCベースの実装よりも最大200ms高速に更新情報を配信できるとのことです。しかし、WebSocketのパフォーマンスは依然として接続先のノードに依存します。数千の同時サブスクリプションを処理する共有ノードは、負荷がかかるとパフォーマンスが低下します。

Ranktrackerの紹介

効果的なSEOのためのオールインワン・プラットフォーム

ビジネスが成功する背景には、強力なSEOキャンペーンがあります。しかし、数え切れないほどの最適化ツールやテクニックがあるため、どこから手をつければいいのかわからないこともあります。でも、もう心配はありません。効果的なSEOのためのオールインワンプラットフォーム「Ranktracker」を紹介します。

Ranktrackerの登録がついに無料になりました。

無料アカウント作成

または認証情報を使ってサインインする

Yellowstone gRPCは、本番環境向けの選択肢です。Triton OneによってオープンソースのGeyserプラグインとして開発されたこのソリューションは、HTTP/2経由で型付きProtobufメッセージを使用し、バリデーターのメモリから直接、アカウントの更新、トランザクション、スロット、ブロックをストリーミングします。JSONシリアライゼーションのオーバーヘッドも、ポーリングループも不要です。データは、ノードがオンチェーンで処理した瞬間に到着します。

方法 レイテンシ 負荷時の信頼性 最適用途
JSON-RPCポーリング 400~1200ms以上 共有ノードでは性能が低下 ダッシュボード、低頻度の読み取り
WebSocketサブスクリプション 200~600ms ノードの処理能力に依存 フロントエンド UI、ウォレットトラッカー
Yellowstone gRPC 100ms未満 専用ノードでは安定 取引、清算、インデックス作成

専用ノードがもたらす変化

専用のSolanaノードは、単一のテナント専用に確保された独立したハードウェア上で動作します。ノイズの多い隣人(ノイズの多いノード)も、共有接続キューも、黙ったままのレート制限もありません。

リアルタイム追跡において、最も重要な3つの特性があります。

スロットの鮮度。バリデーターと直接ピアリングする専用ノードは、通常条件下でスロット遅延をゼロに保ちます。アプリケーションが認識するのはチェーンの先端であり、キャッシュされた近似値ではありません。gRPC経由でアカウントの変更をサブスクライブすると、更新情報は変更が発生したのと同じスロット内に到着します。

スループットの上限。専用ハードウェアであれば、サブスクリプションの負荷だけが処理対象となります。異なるプログラムアカウントを追跡する50のgRPCサブスクリプションを同時に実行しても、ノードはパフォーマンスの低下なくすべてを処理します。共有ノードでは、同じワークロードが他の数千のテナントのリクエストと競合することになります。

カスタマイズ。専用ノードでは、共有エンドポイントでは利用できない設定の微調整が可能です。アプリケーションサーバーへの物理的な遅延を最小限に抑えるためにリージョンを選択できます。特定のGeyserプラグインを有効化または無効化できます。キャッシュの動作、接続制限、再試行ポリシーを制御できます。

コストの問題

Solanaの専用ノードは安価ではありません。プロバイダーによっては、リージョン、ハードウェアのティア、および含まれる機能に応じて、500~3,000ドルの範囲で価格設定されています。

問題は、専用ノードが共有エンドポイントよりも高価かどうかではありません。確かに高価です。問題は、古いデータによるコストがノードのコストを上回るかどうかです。

Ranktrackerの紹介

効果的なSEOのためのオールインワン・プラットフォーム

ビジネスが成功する背景には、強力なSEOキャンペーンがあります。しかし、数え切れないほどの最適化ツールやテクニックがあるため、どこから手をつければいいのかわからないこともあります。でも、もう心配はありません。効果的なSEOのためのオールインワンプラットフォーム「Ranktracker」を紹介します。

Ranktrackerの登録がついに無料になりました。

無料アカウント作成

または認証情報を使ってサインインする

1日あたり1,000万ドルの取引高を処理する清算エンジンにおいて、2スロットの遅延により清算の5%が失敗した場合、年間50万ドルの収益損失に相当します。この場合、ノードの費用は最初の1週間で回収できます。

Ranktrackerの紹介

効果的なSEOのためのオールインワン・プラットフォーム

ビジネスが成功する背景には、強力なSEOキャンペーンがあります。しかし、数え切れないほどの最適化ツールやテクニックがあるため、どこから手をつければいいのかわからないこともあります。でも、もう心配はありません。効果的なSEOのためのオールインワンプラットフォーム「Ranktracker」を紹介します。

Ranktrackerの登録がついに無料になりました。

無料アカウント作成

または認証情報を使ってサインインする

個人投資家向けのポートフォリオトラッカーであれば、WebSocketサブスクリプションを備えた共有エンドポイントで十分です。データの鮮度要件はミリ秒単位ではなく、秒単位です。

ユースケース データの鮮度が必要 共有エンドポイントで十分 専用ノードが必要
ウォレット残高の表示 2~5秒 はい いいえ
ポートフォリオダッシュボード 1~2秒 ほとんど いいえ
DEXルーティングエンジン サブスロット いいえ はい
清算ボット サブスロット いいえ はい
オンチェーン分析 スロットごと、ギャップなし いいえ はい
コンプライアンス追跡 スロット単位、欠落なし いいえ いいえはい

追跡要件の評価方法

まず2つの質問から始めましょう。データの鮮度はどの程度必要ですか?そして、更新を見逃した場合、何が起こりますか?

最初の質問への答えが「同一スロット内」であり、2つ目の質問への答えが「収益の損失やコンプライアンス違反につながる」場合、専用インフラは必須です。それが最低限必要なアーキテクチャとなります。

もしトラッキングに1~2秒の遅延が許容でき、たまに更新を見逃してもダッシュボードの情報が少し古くなる程度であれば、WebSocketサブスクリプションを備えた共有エンドポイントで十分であり、コストも大幅に抑えられます。

この判断を誤るチームは、通常、共有エンドポイントから始め、本番環境へとスケールアップし、最初のトラフィック急増時にその限界に気づくことになります。その時点では、切り替えコストが最も高くなり、切り替えを怠った場合のコストが即座に発生するからです。

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Ranktrackerを無料で使いましょう。

あなたのWebサイトのランキングを妨げている原因を突き止めます。

無料アカウント作成

または認証情報を使ってサインインする

Different views of Ranktracker app