Web3アプリケーションとチェーンをつなぐ架け橋

初級編9/28/2023, 1:58:37 AM
MetaMaskにネットワークを追加するときにRPCを入力する必要があるのはなぜですか? なぜDapp開発はRPCなしでは成り立たないのですか? RPCをフロントランニング取引に活用するにはどうすればよいでしょうか? RPCサービスを提供するプロバイダーはどれですか? この記事では、RPC に関するすべての質問に回答します。

RPCとは何ですか?

多くの人は、MetaMaskなどのウォレットにネットワークRPCを手動で追加するときにRPCという用語に遭遇します。 しかし、RPCは、Dapps、ウォレット、CEXなどのブロックチェーンアプリケーションに不可欠な基盤技術です。 RPCは「リモートプロシージャコール」の略です。 Web2 では、RPC は、あるコンピューターが別のコンピューターでプログラムを呼び出して実行できるようにする通信技術です。 RPC では、呼び出し元はサービス名とパラメーターを渡すだけで通信できます。 ブロックチェーンのコンテキストでは、RPCはクライアントがブロックチェーンと対話できるようにするプロトコルです。 ユーザーは、ブロックチェーン関連の情報(ブロックの高さ、ブロックの詳細、ノード接続など)を照会し、RPCインターフェイスを介してトランザクションを送信できます。

Metamask Network Additionsページ(出典:Metamask)

RPC の技術原理

RPC の 3 つの主要な役割を理解することが重要です。

  1. サービス プロバイダー (RPC サーバー): サーバー側に配置され、サービス インターフェイス定義とサービス実装の両方を提供します。 ブロックチェーンの領域では、このプロバイダーはブロックチェーンネットワーク内のノードに似ており、トランザクションの保存や検証などの機能を担当します。
  2. サービス コンシューマー (RPC クライアント): これはクライアント側で動作します。 リモート プロキシ オブジェクトを介してリモート サービスを呼び出します。 ブロックチェーンでは、レジストリはノード管理システムのように機能し、どのノードが特定のサービスを提供しているかを記録し、他のノードがこれらのサービスを見つけて利用できるようにします。
  3. レジストリ: これもサーバー側で、ローカルサービスをリモートサービスとして登録して管理し、サービスコンシューマーが利用できるようにします。 ブロックチェーンのシナリオでは、サービス コンシューマーは、ブロックチェーン上の情報を必要とするアプリやユーザーに似ています。 チーム内のタスク要求と同様に、RPC を介して特定の機能やデータを要求します。

RPCコールグラフ(出典:Google)

詳細な技術アーキテクチャを上の図に示します。 より明確に説明するために、プロジェクトマネージャがレポートを完成させるプロセスを例にとり、詳細な呼び出しプロセスを説明します。

簡単な例えで説明すると、あなたが複雑なレポートを必要とするプロジェクトマネージャーだとします。 技術的に熟達していないかもしれないので、データアナリストに依頼します。 あなたが:

  • 委任: タスクの要件を書き留め、メッセンジャーを介してデータアナリストに伝えます。 これは、RPC クライアントがサービスを検索する方法を反映していますが、サービス自体は実行できません。
  • 登録: メッセンジャーはタスクの詳細をコーディネーターに渡し、コーディネーターは記録して関連するアナリストに通知します。 メッセンジャーは、ここではレジストリのように機能します。
  • サービス: アナリストは、リモート機能の実行と同様に、タスクを引き受けてデータを分析します。
  • 実行: アナリストは、仕様に従ってデータを処理します。
  • 記録:結果は文書化のためにコーディネーターに渡されます。
  • フィードバック: メッセンジャーは分析されたデータを返し、完全なレポートを受け取ります。

なぜRPCが必要なのですか?

ブロックチェーンの分散型と分散型の性質を考えると、データは多数のノードに保存されています。 特に、ノードを実行し、ブロック検証に参加するには、コンピューターが特定のハードウェアおよびソフトウェアの基準を満たす必要があります。 ETHやADAのようなネットワークでは、実行中のノードも一定量のトークンをステーキングする必要があります。

すべてのノードがRPCプロトコルを使用できるわけではありません。 通常、RPC ノードとして機能できるのは、ブロックチェーン クライアント ソフトウェアを実行しているコンピューターのみです。 ほとんどのプロジェクトは、膨大な時間、人的資源、リソースが必要なため、ノードを実行するための運用コストとメンテナンスコストに耐えられません。 これにより、専用のRPCノードとサービスプロバイダーが誕生しました。

RPCの用途は何ですか?

前のセクションから、RPC(リモートプロシージャコール)の重要な機能は、端末アプリケーションとブロックチェーン間の接続を確立することであることは明らかです。 したがって、RPCの主な用途は、開発プロセス中に、ユーザーがオンチェーントランザクションとクエリを実行できるようにするために、適切なRPCサービスプロバイダーを選択することです。

平均的なWeb3ユーザーにとって、最も直接的なユースケースは、ネットワーク輻輳時にレイテンシーの低いRPCゲートウェイに切り替えることで、遅延を減らし、トランザクションの実行を高速化することです。 理論的には、RPCはブロックチェーントランザクションや情報クエリを必要とするあらゆるプロジェクトに適用できます。

プライベートRPC

ブロックチェーンの大部分は、アプリケーションテスト用の無料のパブリックRPCを提供しています。 ただし、これらにはレート制限があり、プライベートRPCの出現につながります。 プライベートRPCエンドポイントには一意のURLがあり、その所有者のみがこのURLを使用してパブリックメモリプールにトランザクションを送信できるため、ノードプロバイダーへの直接接続が提供されます。 プライベート RPC を実際に使用する利点には、次のようなものがあります。

  • 先着順のNFTミント期間中のトランザクションディスパッチの高速化
  • 時間的制約のある裁定取引の機会を活用するためのトランザクションの送信
  • エアドロップの迅速な請求

RPC 操作の例

開発におけるRPCの使用については、開発者はドキュメントを参照する必要があります。 この記事では、MetaMaskなどのウォレットのRPCスイッチを例として使用します:設定に移動し、ネットワークを選択し、RPCを変更するネットワーク名をクリックし、右側のRPC URLを変更し、保存して変更を確定します。 高レイテンシーのRPCに切り替えるとトランザクション速度が低下する可能性があるため、ユーザーはレイテンシーレベルを考慮する必要があります。

MetaMaskにはRPC変更ページがあります(出典:MetaMaskウェブ版)。

使用するときは、レイテンシーレベルを比較することが重要です。 レイテンシーの大きいRPCに切り替えると、トランザクション速度が遅くなる可能性があります。

RPCサービスプロバイダーとは何ですか?

ノードの設定や運用が複雑なため、RPC/APIなどのサービスをプロジェクトに提供するために、ノードの運用を専門とするビジネスのカテゴリーが登場しています。 プロジェクトは、インターネット経由でこれらのプロバイダーにリクエストを送信できます。 これらのプロバイダーは、プロジェクトがローカルノードにリクエストを送信するのではなく、完全に同期され、常に更新されるノードを24時間年中無休で実行します。 多くのプロバイダーは、RPCサービス以上のものを提供しています。また、API、SDKなどのさまざまな関連サービスも提供しています。 開発者や個人ユーザーにとって、プロバイダーを選択する際には、トランザクションの速度、コスト、顧客サービス、提供するツールの範囲などの要素を考慮することが不可欠です。

RPC サービス プロバイダーは、前述のプライベート RPC も提供します。 ほとんどのRPCプロバイダーはマルチチェーン操作に対応しており、多くの場合、無料のトライアル版とパブリックバージョンを提供しています。 以下は、いくつかの一般的なRPCサービスプロバイダーです。

フラッシュボット

Flashbotsは、MEVがスマートコントラクトブロックチェーンにもたらす負の外部性とリスクを軽減することを目的とした、Miner Extractable Value(MEV)に焦点を当てた研究主導の企業です。 彼らのRPCサービスであるFlashbots Protectは、RPCとAPIの両方で構成されています。 開発者は、APIを使用してアプリケーションに簡単に埋め込むことができます。 一般ユーザーは、そのRPCをウォレットに追加して、トランザクションをFlashbotsに転送できます。 このプロセスでは、パブリックプールではなくマイナーにトランザクションを直接送信し、MEVで蔓延する「サンドイッチ攻撃」を防ぎます。 現在、FlashbotsはMEV研究の業界をリードする存在です。

注:サンドイッチ攻撃とは、ユーザーの取引が確認される直前に取引を完了して価格を上昇させ、ユーザーの取引が完了した後にプレミアムで販売して利益を上げる戦術を指します。

インフラ

Infuraは、開発者とユーザーがイーサリアムデータに簡単にアクセスできるようにするために設計されたIaaS(Infrastructure as a Service)製品です。 完全なイーサリアムノードとして機能し、ローカルのイーサリアムノードを実行することなく、DAppsをイーサリアムプラットフォームに迅速に接続して対話できるようにするAPIインターフェイスを提供します。 その顧客には、Metamask、Uniswap、Compoundなどが含まれます。

錬金術

Alchemyは、マルチチェーンのWeb3 DAppsを構築するためのSDKとAPIを提供し、コミュニティや大学のような取り組みを通じて、これらのツールの使用についてユーザーを教育しています。 Alchemyは、1,000億ドル以上のオンチェーン取引価値をサポートし、1,000万人以上のエンドユーザーを抱え、15億ドル以上のロイヤリティを生み出しています。 主なクライアントには、Opensea、GMX、AAVEなどがあります。

アンクル

Ankrは、パブリックノードやプライベートノードなど、さまざまなノードサービスを提供し、30以上のブロックチェーンをサポートしています。 Ankrは、RPCおよびWebSocketプロトコルに基づくAPIインターフェイス、およびWeb3.jsやTruffleなどのいくつかの開発ツールとSDKも提供し、開発者がブロックチェーンアプリケーションを簡単に構築および展開できるようにします。 彼らの顧客ベースには、Binance、Sushiswap、Meta Apesなどが含まれます。

クイックノード

QuickNode は、専用ノードを介してユーザーに直接 API サービスを提供します。 さまざまなリージョン、複数のテストネット、アーカイブノードをサポートし、開発者にブロックチェーンアクセスのパフォーマンスと安定性の向上を提供します。 機能には、直感的なダッシュボード、分析スイート、リモート プロシージャ コール ライターが含まれ、20 を超えるチェーンをサポートします。 クライアントには、Nansen、Algofi、Dappraderなどがあります。

ブロックPI

BlockPIは、分散型ネットワーク構造を持つRPCであり、分散型Web3環境に参加する分散型マルチチェーンアクセラレーションレイヤーです。 2023 年初頭には、パブリック RPC のアップグレードに成功し、より安定した高速な無料 RPC サービスを提供しました。 理論的には、そのアーキテクチャはRPCリクエストの輻輳の問題に根本的に対処し、無限のスケーラビリティを誇っています。

結論

ブロックチェーン技術の継続的な成熟とWeb3の採用の増加により、RPCサービスは基盤サービスの1つとして、有望な未来を秘めています。 RPC サービスに対する開発者からの需要は、予想どおりに高まると予想されます。 個人の視点から見ると、より速い取引速度を必要とする頻繁なトレーダーは、特にエアドロップやNFTミントなどの活動のために、あまり使用されていないパブリックRPCを選択したり、プライベートRPCに投資したりすることで大きな利益を得ることができます。

著者: Wayne
翻訳者: Piper
レビュアー: Edward、KOWEI、Elisa、Ashley He、Joyce
* 本情報はGate.ioが提供または保証する金融アドバイス、その他のいかなる種類の推奨を意図したものではなく、構成するものではありません。
* 本記事はGate.ioを参照することなく複製/送信/複写することを禁じます。違反した場合は著作権法の侵害となり法的措置の対象となります。

Web3アプリケーションとチェーンをつなぐ架け橋

初級編9/28/2023, 1:58:37 AM
MetaMaskにネットワークを追加するときにRPCを入力する必要があるのはなぜですか? なぜDapp開発はRPCなしでは成り立たないのですか? RPCをフロントランニング取引に活用するにはどうすればよいでしょうか? RPCサービスを提供するプロバイダーはどれですか? この記事では、RPC に関するすべての質問に回答します。

RPCとは何ですか?

多くの人は、MetaMaskなどのウォレットにネットワークRPCを手動で追加するときにRPCという用語に遭遇します。 しかし、RPCは、Dapps、ウォレット、CEXなどのブロックチェーンアプリケーションに不可欠な基盤技術です。 RPCは「リモートプロシージャコール」の略です。 Web2 では、RPC は、あるコンピューターが別のコンピューターでプログラムを呼び出して実行できるようにする通信技術です。 RPC では、呼び出し元はサービス名とパラメーターを渡すだけで通信できます。 ブロックチェーンのコンテキストでは、RPCはクライアントがブロックチェーンと対話できるようにするプロトコルです。 ユーザーは、ブロックチェーン関連の情報(ブロックの高さ、ブロックの詳細、ノード接続など)を照会し、RPCインターフェイスを介してトランザクションを送信できます。

Metamask Network Additionsページ(出典:Metamask)

RPC の技術原理

RPC の 3 つの主要な役割を理解することが重要です。

  1. サービス プロバイダー (RPC サーバー): サーバー側に配置され、サービス インターフェイス定義とサービス実装の両方を提供します。 ブロックチェーンの領域では、このプロバイダーはブロックチェーンネットワーク内のノードに似ており、トランザクションの保存や検証などの機能を担当します。
  2. サービス コンシューマー (RPC クライアント): これはクライアント側で動作します。 リモート プロキシ オブジェクトを介してリモート サービスを呼び出します。 ブロックチェーンでは、レジストリはノード管理システムのように機能し、どのノードが特定のサービスを提供しているかを記録し、他のノードがこれらのサービスを見つけて利用できるようにします。
  3. レジストリ: これもサーバー側で、ローカルサービスをリモートサービスとして登録して管理し、サービスコンシューマーが利用できるようにします。 ブロックチェーンのシナリオでは、サービス コンシューマーは、ブロックチェーン上の情報を必要とするアプリやユーザーに似ています。 チーム内のタスク要求と同様に、RPC を介して特定の機能やデータを要求します。

RPCコールグラフ(出典:Google)

詳細な技術アーキテクチャを上の図に示します。 より明確に説明するために、プロジェクトマネージャがレポートを完成させるプロセスを例にとり、詳細な呼び出しプロセスを説明します。

簡単な例えで説明すると、あなたが複雑なレポートを必要とするプロジェクトマネージャーだとします。 技術的に熟達していないかもしれないので、データアナリストに依頼します。 あなたが:

  • 委任: タスクの要件を書き留め、メッセンジャーを介してデータアナリストに伝えます。 これは、RPC クライアントがサービスを検索する方法を反映していますが、サービス自体は実行できません。
  • 登録: メッセンジャーはタスクの詳細をコーディネーターに渡し、コーディネーターは記録して関連するアナリストに通知します。 メッセンジャーは、ここではレジストリのように機能します。
  • サービス: アナリストは、リモート機能の実行と同様に、タスクを引き受けてデータを分析します。
  • 実行: アナリストは、仕様に従ってデータを処理します。
  • 記録:結果は文書化のためにコーディネーターに渡されます。
  • フィードバック: メッセンジャーは分析されたデータを返し、完全なレポートを受け取ります。

なぜRPCが必要なのですか?

ブロックチェーンの分散型と分散型の性質を考えると、データは多数のノードに保存されています。 特に、ノードを実行し、ブロック検証に参加するには、コンピューターが特定のハードウェアおよびソフトウェアの基準を満たす必要があります。 ETHやADAのようなネットワークでは、実行中のノードも一定量のトークンをステーキングする必要があります。

すべてのノードがRPCプロトコルを使用できるわけではありません。 通常、RPC ノードとして機能できるのは、ブロックチェーン クライアント ソフトウェアを実行しているコンピューターのみです。 ほとんどのプロジェクトは、膨大な時間、人的資源、リソースが必要なため、ノードを実行するための運用コストとメンテナンスコストに耐えられません。 これにより、専用のRPCノードとサービスプロバイダーが誕生しました。

RPCの用途は何ですか?

前のセクションから、RPC(リモートプロシージャコール)の重要な機能は、端末アプリケーションとブロックチェーン間の接続を確立することであることは明らかです。 したがって、RPCの主な用途は、開発プロセス中に、ユーザーがオンチェーントランザクションとクエリを実行できるようにするために、適切なRPCサービスプロバイダーを選択することです。

平均的なWeb3ユーザーにとって、最も直接的なユースケースは、ネットワーク輻輳時にレイテンシーの低いRPCゲートウェイに切り替えることで、遅延を減らし、トランザクションの実行を高速化することです。 理論的には、RPCはブロックチェーントランザクションや情報クエリを必要とするあらゆるプロジェクトに適用できます。

プライベートRPC

ブロックチェーンの大部分は、アプリケーションテスト用の無料のパブリックRPCを提供しています。 ただし、これらにはレート制限があり、プライベートRPCの出現につながります。 プライベートRPCエンドポイントには一意のURLがあり、その所有者のみがこのURLを使用してパブリックメモリプールにトランザクションを送信できるため、ノードプロバイダーへの直接接続が提供されます。 プライベート RPC を実際に使用する利点には、次のようなものがあります。

  • 先着順のNFTミント期間中のトランザクションディスパッチの高速化
  • 時間的制約のある裁定取引の機会を活用するためのトランザクションの送信
  • エアドロップの迅速な請求

RPC 操作の例

開発におけるRPCの使用については、開発者はドキュメントを参照する必要があります。 この記事では、MetaMaskなどのウォレットのRPCスイッチを例として使用します:設定に移動し、ネットワークを選択し、RPCを変更するネットワーク名をクリックし、右側のRPC URLを変更し、保存して変更を確定します。 高レイテンシーのRPCに切り替えるとトランザクション速度が低下する可能性があるため、ユーザーはレイテンシーレベルを考慮する必要があります。

MetaMaskにはRPC変更ページがあります(出典:MetaMaskウェブ版)。

使用するときは、レイテンシーレベルを比較することが重要です。 レイテンシーの大きいRPCに切り替えると、トランザクション速度が遅くなる可能性があります。

RPCサービスプロバイダーとは何ですか?

ノードの設定や運用が複雑なため、RPC/APIなどのサービスをプロジェクトに提供するために、ノードの運用を専門とするビジネスのカテゴリーが登場しています。 プロジェクトは、インターネット経由でこれらのプロバイダーにリクエストを送信できます。 これらのプロバイダーは、プロジェクトがローカルノードにリクエストを送信するのではなく、完全に同期され、常に更新されるノードを24時間年中無休で実行します。 多くのプロバイダーは、RPCサービス以上のものを提供しています。また、API、SDKなどのさまざまな関連サービスも提供しています。 開発者や個人ユーザーにとって、プロバイダーを選択する際には、トランザクションの速度、コスト、顧客サービス、提供するツールの範囲などの要素を考慮することが不可欠です。

RPC サービス プロバイダーは、前述のプライベート RPC も提供します。 ほとんどのRPCプロバイダーはマルチチェーン操作に対応しており、多くの場合、無料のトライアル版とパブリックバージョンを提供しています。 以下は、いくつかの一般的なRPCサービスプロバイダーです。

フラッシュボット

Flashbotsは、MEVがスマートコントラクトブロックチェーンにもたらす負の外部性とリスクを軽減することを目的とした、Miner Extractable Value(MEV)に焦点を当てた研究主導の企業です。 彼らのRPCサービスであるFlashbots Protectは、RPCとAPIの両方で構成されています。 開発者は、APIを使用してアプリケーションに簡単に埋め込むことができます。 一般ユーザーは、そのRPCをウォレットに追加して、トランザクションをFlashbotsに転送できます。 このプロセスでは、パブリックプールではなくマイナーにトランザクションを直接送信し、MEVで蔓延する「サンドイッチ攻撃」を防ぎます。 現在、FlashbotsはMEV研究の業界をリードする存在です。

注:サンドイッチ攻撃とは、ユーザーの取引が確認される直前に取引を完了して価格を上昇させ、ユーザーの取引が完了した後にプレミアムで販売して利益を上げる戦術を指します。

インフラ

Infuraは、開発者とユーザーがイーサリアムデータに簡単にアクセスできるようにするために設計されたIaaS(Infrastructure as a Service)製品です。 完全なイーサリアムノードとして機能し、ローカルのイーサリアムノードを実行することなく、DAppsをイーサリアムプラットフォームに迅速に接続して対話できるようにするAPIインターフェイスを提供します。 その顧客には、Metamask、Uniswap、Compoundなどが含まれます。

錬金術

Alchemyは、マルチチェーンのWeb3 DAppsを構築するためのSDKとAPIを提供し、コミュニティや大学のような取り組みを通じて、これらのツールの使用についてユーザーを教育しています。 Alchemyは、1,000億ドル以上のオンチェーン取引価値をサポートし、1,000万人以上のエンドユーザーを抱え、15億ドル以上のロイヤリティを生み出しています。 主なクライアントには、Opensea、GMX、AAVEなどがあります。

アンクル

Ankrは、パブリックノードやプライベートノードなど、さまざまなノードサービスを提供し、30以上のブロックチェーンをサポートしています。 Ankrは、RPCおよびWebSocketプロトコルに基づくAPIインターフェイス、およびWeb3.jsやTruffleなどのいくつかの開発ツールとSDKも提供し、開発者がブロックチェーンアプリケーションを簡単に構築および展開できるようにします。 彼らの顧客ベースには、Binance、Sushiswap、Meta Apesなどが含まれます。

クイックノード

QuickNode は、専用ノードを介してユーザーに直接 API サービスを提供します。 さまざまなリージョン、複数のテストネット、アーカイブノードをサポートし、開発者にブロックチェーンアクセスのパフォーマンスと安定性の向上を提供します。 機能には、直感的なダッシュボード、分析スイート、リモート プロシージャ コール ライターが含まれ、20 を超えるチェーンをサポートします。 クライアントには、Nansen、Algofi、Dappraderなどがあります。

ブロックPI

BlockPIは、分散型ネットワーク構造を持つRPCであり、分散型Web3環境に参加する分散型マルチチェーンアクセラレーションレイヤーです。 2023 年初頭には、パブリック RPC のアップグレードに成功し、より安定した高速な無料 RPC サービスを提供しました。 理論的には、そのアーキテクチャはRPCリクエストの輻輳の問題に根本的に対処し、無限のスケーラビリティを誇っています。

結論

ブロックチェーン技術の継続的な成熟とWeb3の採用の増加により、RPCサービスは基盤サービスの1つとして、有望な未来を秘めています。 RPC サービスに対する開発者からの需要は、予想どおりに高まると予想されます。 個人の視点から見ると、より速い取引速度を必要とする頻繁なトレーダーは、特にエアドロップやNFTミントなどの活動のために、あまり使用されていないパブリックRPCを選択したり、プライベートRPCに投資したりすることで大きな利益を得ることができます。

著者: Wayne
翻訳者: Piper
レビュアー: Edward、KOWEI、Elisa、Ashley He、Joyce
* 本情報はGate.ioが提供または保証する金融アドバイス、その他のいかなる種類の推奨を意図したものではなく、構成するものではありません。
* 本記事はGate.ioを参照することなく複製/送信/複写することを禁じます。違反した場合は著作権法の侵害となり法的措置の対象となります。
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!