ブロックチェーン データストリーミングの活用事例解説 |Quicknode🤖 新着:Quicknode AIクックブック AIプログラミングの10の実証済みレシピ エージェント.
レシピを見る 回答>ブロックチェーン のデータストリーミングについて学ぶ>ブロックチェーン ストリーミングの一般的なユースケース // Tags
ブロックチェーン ストリーミングの活用事例
要約: ブロックチェーン のデータストリーミング機能は、リアルタイムのウォレット監視やDeFiダッシュボードから、コンプライアンスシステム、カスタムインデクサー、分析プラットフォームに至るまで、幅広い本番環境アプリケーションを支えています。 オンチェーン のイベント発生時に即座に対応する必要があるアプリケーション、ブロックチェーン データの同期化されたデータベースを維持する必要があるアプリケーション、あるいは大量の履歴レコードを処理する必要があるアプリケーションは、プッシュ型ストリーミングアーキテクチャの恩恵を受けることができます。最も一般的なユースケースは、リアルタイムモニタリング、データインデックス作成、分析およびビジネスインテリジェンス、コンプライアンスとセキュリティ、アプリケーションバックエンドの5つのカテゴリーに分類されます。
わかりやすい説明
ストリーミングは単なる製品カテゴリーではありません。それはインフラストラクチャのパターンです。ストリーミングデータパイプラインは、ブロックチェーン のデータを生成された時点で自動的にシステムに配信し、RPCエンドポイントをポーリングしたり、複数のソースからのデータを統合したりといった手動で繰り返される作業を不要にします。ストリーミングの価値は、それが実現するアプリケーションや、それぞれのアプリケーションにおいて解決する課題を見れば明らかになります。
以下に説明するすべてのユースケースには、共通の要件があります。それは、アプリケーションがブロックチェーン のデータを、確実に、順序通りに、欠落なく、かつ遅延を最小限に抑えて受け取る必要があるということです。どのようなデータが必要か、どのようにフィルタリングされるか、どこに送信されるかといった詳細はby ユースケースによって異なりますが、その基盤となるインフラストラクチャのパターンは同じです。
ブロックチェーン のデータストリーミングとは何ですか?
ブロックチェーン データストリーミングとは、オンチェーン のデータを、ユーザーが繰り返し取得するのではなく、生成された時点でシステムにプッシュするインフラストラクチャパターンです。ストリーミングパイプラインは、ブロック、トランザクション、ログ、トレースを順序通りに、かつ欠落なく配信するため、アプリケーションは数秒以内にイベントに対応することができます。より詳細な定義については、以下を参照してください。 ブロックチェーン のデータストリーミングとは そして、それが何と比較されるか
SOC 2 タイプ II 認証取得・ISO 27001
.
ブロックチェーン のデータ収集において、ストリーミングはポーリングよりも優れているのでしょうか?
ポーリングでは、RPCに対して繰り返し エンドポイント に変更があったかどうかを繰り返し問い合わせるのに対し、ストリーミングでは変更が発生した瞬間にその情報がプッシュされます。信頼性 と低遅延が求められるほとんどの本番環境でのユースケースにおいて、ストリーミングの方が優れています。以下の表では、これら2つのアプローチを比較しています。
因子 | 世論調査 | ストリーミング |
|---|
データflow | 予定を詰め込む | プロバイダーは各イベントごとに処理を実行する |
レイテンシー | by の投票間隔の制限 | Near リアルタイム |
見逃したイベント | 障害発生時やレート制限時に発生する可能性があります | 確実な配送、抜けなし |
RPCの負荷 | 高音で、繰り返しが目立つ | 低域カットおよびフィルタ処理済み |
こんな方に最適 | 簡便な低頻度の点検 | 大規模なモニタリング、インデックス作成、および分析 |
リアルタイム監視とアラート通知
ストリーミングの最も身近な活用例は、ブロックチェーン を監視して特定のイベントを検知し、リアルタイムで対応することです。あるウォレットプロバイダーstreams は、ユーザー' アドレスにフィルタリングされた取引データを活用し、ユーザー への入金や保留中の取引が確定した際に、即座にプッシュ通知を送信しています。また、ある DeFi プロトコルstreams は、自身のコントラクトイベントを監視して、ポジションが清算閾値に近づいたことを検知し、数秒以内に自動キーパーボットやユーザー アラートをトリガーしています。さらに、あるブリッジ運営者streams は、ソースチェーンでの入金イベントを監視し、遅延を最小限に抑えながら、宛先チェーンで対応するミントを開始しています。
これらのモニタリングのユースケースには、「イベントの見逃しゼロ」という重要な要件が共通しています。システムがたった1つの預入イベントを見逃した場合、ユーザー への通知が行われません。また、清算閾値イベントを見逃した場合、ポジションは清算されず、プロトコルは不良債権を抱えることになります。ポーリングベースのアーキテクチャでは、接続障害、レートリミットへの到達、または処理の遅延が発生した際に、イベントを見逃すリスクがあります。配信保証付きのストリーミングであれば、関連するすべてのイベントが確実に1回だけ宛先に届くことが保証されます。
トークンの追跡も、一般的なモニタリング用途の一つです。取引所やマーケットメーカーは、ERC-20コントラクトからの「Transfer」イベントをストリーミングして、ウォレット間のトークンの移動を追跡し、大規模な送金(ホエールアラート)を検知し、内部の会計システムを更新しています。NFTプラットフォームは、ERC-721およびERC-1155コントラクトからの「Transfer」イベントをストリーミングして、所有権記録を更新し、「マーケットプレイス 」への掲載をトリガーし、来歴履歴を維持しています。 いずれの場合も、ストリーミングフィルターにより、データ量が「チェーン上のすべてのトランザクション」から「関心のあるコントラクトやアドレスが関与するイベントのみ」に絞り込まれるため、下流の処理が管理しやすくなります。
カスタムインデックス作成とデータベースの同期
ストリーミングは、現代のあらゆるブロックチェーン インデクサーの基盤となっています。インデクサーには、構造化されたデータベースレコードへと処理できる、信頼性が高く順序付けられたブロックデータのフィードが必要です。 ストリーミングパイプラインがデータの抽出と配信を担当し、インデクサーが変換とロードを担当します。この役割分担により、インデクサーの開発者は、インフラストラクチャに関する課題(ノードへの接続方法、リトライの処理、再編成の検出、レート制限の管理など)ではなく、ビジネスロジック(イベントのデコード方法、書き込み先のテーブル、計算すべき派生メトリクスなど)に専念することができます。
ポートフォリオ追跡サービスは、ストリーミング技術を活用して、各ユーザー について、複数のチェーンにわたるトークン残高、取引履歴、ポジション価値のデータベースを常に同期した状態に保ちます。ユーザー がアプリを開いた際に、その都度ブロックチェーン にクエリを送信する(これは処理に時間がかかり、コストもかかる)のではなく、このサービスはストリーミングを通じて関連するすべてのデータを事前にインデックス化しているため、アプリは独自のデータベースからクエリを処理し、1秒未満の応答時間で応答することができます。
ブロックエクスプローラーは、おそらく最も包括的なインデックス作成のユースケースと言えるでしょう。Etherscanのようなサービスは、サポートされているすべてのチェーン上のすべてのブロックを処理し、すべてのトランザクションをデコードし、すべてのイベントログをインデックス化し、それらすべてをクエリ可能なデータベースに格納しています。ブロックエクスプローラーをゼロから構築するには、チェーンの全データをリアルタイムで処理しつつ、完全な履歴を遡及的に取り込むことができるデータパイプラインが必要です。ストリーミングは、単一のインターフェースを通じて、この両方の機能を提供します。
分析とビジネスインテリジェンス
アナリティクスプラットフォームは、ストリーミング技術を活用して、ビジネスインテリジェンス(BI)向けのリアルタイムおよび履歴データセットを構築します。あるDeFiプロトコルの成長状況equipe では、DEXコントラクトからのすべてのスワップイベントをデータウェアハウスにストリーミングし、取引 の取引高by ペア、1日あたりのユニークトレーダー数、手数料収益の推移、流動性利用率などを表示するダッシュボードを構築しています。これらのダッシュボードでは、リアルタイムデータ(本日のこれまでの取引高)と履歴データ(過去90日間の推移)が統合されたビューとして表示されます。
調査会社は、ブロックチェーン のデータをストリーミング配信し、定量分析に活用しています。その対象となるのは、MEV抽出パターン、ガス価格の変動、バリデーターの挙動、クロスチェーンの資金フロー、プロトコルの採用指標などです。このストリーミングパイプラインは、生データを調査インフラに配信し、そこでデータサイエンティストがSQL、Python、BIプラットフォームなどの使い慣れたツールを用いて、データの変換、分析、モデリングを行います。By がフィルタリング済みのデータ(調査課題に関連するイベントおよびトランザクションタイプのみ)をストリーミング配信することで、パイプラインはストレージおよび処理コストを最小限に抑えています。
オンチェーン アトリビューションは、アナリティクスの活用事例としてますます重要性を増しています。暗号資産プロジェクトのマーケティング担当者(チーム )は、トランザクションデータをストリーミング配信し、オンチェーン での活動(スワップ、ミント、入金)を特定の獲得チャネルやキャンペーンに紐づけています。By ウォレットアドレスをキャンペーンのタッチポイントと照合することで、チーム 成長に向けた取り組みのROIを、オンチェーン 高い精度で測定できるようになります。
コンプライアンス、セキュリティ、およびリスク
取引所、カストディアン、金融機関のコンプライアンス担当チーム は、ストリーミング技術を活用してウォレットの取引状況をリアルタイムで監視し、不審なパターンを検知しています。マネーロンダリング防止(AML)システムは、取引データをストリーミング処理し、ルールベースまたは機械学習(ML)駆動型の検知モデルを適用することで、既知のリスクパターン(ミキシングサービスへの多額の送金、複数のウォレット間での資金の急速な移動、制裁対象アドレスとのやり取り、あるいは異常な取引タイミングなど)に一致する取引をフラグ付けします。
セキュリティ監視もこれと密接に関連しています。スマートコントラクトの監査担当者やプロトコルセキュリティ担当者チーム は、コントラクトのイベントやトレースデータをストリーミング配信し、エクスプロイトの試みを発生と同時に検知します。攻撃者がプールの資金を流出させ始めたり、再入脆弱性を悪用し始めたりした場合、リアルタイムのストリーミング配信により、セキュリティ担当者equipe は数ブロック以内に攻撃を検知し、被害が拡大する前に(by コントラクトを一時停止させたり、攻撃者の残りのトランザクションに先回りして実行したりするなど)介入することが可能になります。
保険プロトコルは、保険金請求に関連するデータをストリーミング配信し、保険契約の評価を自動化します。DeFi保険商品の場合、価格オラクルの更新情報やプロトコルのTVLの変化をストリーミング配信することで、補償対象となる事象が発生したタイミングを判断し、手動による審査を必要とせずに自動的に保険金請求手続きを開始することが可能です。
アプリケーションのバックエンドとマイクロサービス
多くのWeb3アプリケーションでは、バックエンドアーキテクチャの基盤としてストリーミングが採用されています。各マイクロサービスが個別にブロックチェーン にクエリを送信する(RPC呼び出しが重複し、データの不整合が生じるリスクがある)のではなく、中央のストリーミングパイプラインが共有のイベントバスやメッセージキューにデータを供給します。個々のサービスは、関心のあるイベントを購読し、それらを独立して処理します。このイベント駆動型アーキテクチャは、スケーラビリティに優れ、データの整合性を維持し、RPCの使用量を全体的に削減します。
ゲームアプリケーションは、ゲームに関連する契約イベント(アイテムの発行、取引、戦闘結果など)をストリーミングし、near 上でゲームの状態をリアルタイムに更新します。ソーシャルプロトコルは、コンテンツ投稿イベントをストリーミングしてフィードを更新します。決済インフラストラクチャは、streams 決済取引をストリーミングし、台帳の残高を更新します。いずれの場合も、このストリーミングパイプラインにより、本来なら不安定になりがちなポーリングループやWebSocket接続の複雑なネットワークが、単一の信頼性の高いデータソースに置き換えられます。
ブロックチェーン のストリーミングにおける最も一般的な利用例にはどのようなものがありますか?
カテゴリ | 必要なもの | 例 |
|---|
リアルタイム監視 | フィルタリングされたイベントとログ | ウォレットへの入金通知 |
カスタムインデックス作成 | 整理されたブロックと領収書 | ポートフォリオ追跡データベース |
アナリティクスとBI | ウェアハウスへのイベントのフィルタリング | DEXの取引高ダッシュボード |
コンプライアンスとセキュリティ | トランザクションおよびトレースデータ | AMLおよびエクスプロイトの検出 |
アプリケーションのバックエンド | Webhookイベントの配信 | イベント駆動型マイクロサービス |
ストリーミングでは、リアルタイムデータと履歴データの両方を配信できますか?
はい。streams が新しいブロックをリアルタイムで処理するのとまったく同じパイプラインを使用して、過去の履歴データを遡って取り込むことも可能です。そのため、ツールを切り替えることなく、データベースに過去のデータを取り込み、その後も常に最新の状態に保つことができます。これが、チーム がストリーミングと1回限りのバックフィルを組み合わせて使用することが多い理由です。この違いについては、「リアルタイムデータと履歴データ(ブロックチェーン )」および「履歴データへのアクセス方法(ブロックチェーン )」で説明されています。
Quicknode (Streams )が、これらのユースケースをどのように支えているか
Quicknode Streams 設定可能なプッシュ型データパイプラインを通じて、上記のすべてのユースケースに対応しています。JavaScriptフィルターを使用することで、特定のアドレス、イベントシグネチャ、関数セレクタ、またはその他のトランザクションプロパティに基づいてマッチングを行うことができ、ユースケースに関連するデータのみが宛先に確実に届くようになります。 複数のデータセットタイプ(ブロック、トランザクション、レシート、ログ、トレース)により、軽量なイベント監視から包括的なフルチェーンインデックス作成まで、幅広いニーズに対応します。webhooks への配信によりリアルタイムのアプリケーションバックエンドを実現できるほか、PostgreSQL、Snowflake、Amazon S3、Azure Storageへの配信により、分析、インデックス作成、コンプライアンス対応のワークフローをサポートします。
Streams Quicknode Functionsと連携し、ストリーミングデータに基づくサーバーレス処理を実現することで、追加のインフラをデプロイすることなく、データのエンリッチメント、集計、通知の配信、その他のビジネスロジックを実行できます。キーバリューストアにより、 は処理中に外部の状態(監視対象アドレスリストなど)を参照・更新することができ、時間の経過とともに変化する動的なモニタリングのユースケースに対応します。過去のデータのバックフィルとリアルタイムストリーミングは同一のパイプラインを通じて処理されるため、あらゆるユースケースにおいて、過去と現在のデータの両方を扱う統一されたアーキテクチャの恩恵を受けることができます。streams
参考資料
よくある質問
ストリーミングとRPCの違いは何ですか エンドポイント?
RPCは エンドポイント は、リクエストがあった際に個々の要求に応答します。ストリーミングは、フィルタリングされた新しいデータのフィードを宛先へ継続的に送信します。多くのアプリケーションでは、オンデマンドのクエリにはRPCを、継続的なデータ処理にはストリーミングを併用しています。RPCリクエストの仕組みをご覧ください。
インデクサーを構築するには、ストリーミングが必要ですか?
信頼性が高く、順序付けられたブロックデータの供給が必要ですが、ストリーミングはまさにそれを実現します。ストリーミングは、データの抽出、順序付け、再試行、再編成の処理をすべて担当するため、インデクサーはイベントのデコードとレコードの書き込みに専念できます。
ブロックチェーン からはどのようなデータをストリーミングできますか?
一般的なデータセットには、ブロック、トランザクション、レシート、イベントログ、トレースなどがあります。フィルターを使用すると、フィードを特定のアドレス、イベントシグネチャ、または関数セレクタに絞り込み、必要な情報のみを受け取ることができます。
ストリーミングによってMEVやエクスプロイトを検知することは可能か?
はい。セキュリティチーム(チーム )は、ブロック内の悪用試みを検出するために、契約イベントやトレースデータをストリーミング配信しており、研究者たちはMEVなどのパターンを調査するためにデータをストリーミング配信しています。MEVとは何かについては、ブロックチェーン をご覧ください。
ストリーミングデータはどこに配信できますか?
代表的な利用先としては、アプリケーションのバックエンドやデータベースにはwebhooks が、分析、インデックス作成、コンプライアンス対応のためのストレージにはPostgreSQL、Snowflake、Amazon S3、Azure Storageなどが挙げられます。