← ブログ一覧

ICP <> Ethereum: ICP の EVM RPC キャニスターがネットワークを接続する方法

※この記事はICP <> Ethereum: How ICP’s EVM RPC Canister Connects the Networksの内容を引用しています

ICP <> Ethereum: ICP の EVM RPC キャニスターがネットワークを接続する方法
EVM RPC Canister

私たち DFINITY R&D チームは、EVM RPC キャニスターがリリースされ、ICP 開発者コミュニティで使用できるようになったことをお知らせします。EVMRPC は、オンチェーン API を使用してEthereumやその他のEVM ブロックチェーンと通信するように設計されたインターネット コンピュータ キャニスター スマート コントラクトです。

なぜこれが重要なのか

---

開発者は、Ethereum ネットワークや他の EVM チェーンと通信する ICP スマート コントラクトを作成することを目指しています。ICP はすでに HTTPS アウトコールを通じてこれを容易にしており、Ethereum プロトコルは、 HTTP ベースの RPC (リモート プロシージャ コール) インターフェイスを介して任意の Ethereum ノードと対話するためのソフトウェア アプリケーションの仕様を定義しています。

EVM 互換のレイヤー 2 チェーンの登場により、開発者はこのインターフェイスを利用して、生のトランザクションに署名して送信するなどの機能を使用できるようになりました。RPC インターフェイスを使用すると、Ethereum ネットワークや Optimism や Arbitrum などの他のネットワークと直接やり取りできます

プロトコル レベルのツールは利用可能であるにもかかわらず、それらをバンドルすることは開発者にとって負担となる可能性があります。このため、DFINITY R&D チームは数か月前に、すべてのベスト プラクティスを統合した EVM RPC キャニスターをコミュニティ向けに作成すると発表しました。

DFINITY のエンジニアリング チームは、キャニスター スマート コントラクトの機能を利用して HTTPS アウトコールを実行し、ビザンチン コンセンサスに到達して、Ethereum ネットワークまたは EVM 互換の派生ネットワークと直接統合する手段を提供するソリューションを設計しました。これは、ICP メインネットに展開されている他のキャニスター スマート コントラクトとの統合によって実現されます。EVMRPC キャニスターにより、インターネット コンピューターの無限の計算能力と Ethereum ネットワークに保持されている数十億の資産を組み合わせて、分散型アプリケーション エコシステムで新しく斬新で楽しく便利なアプリケーションを構築できます。

それの使い方

キャニスターが稼働中です!

開始するには、EVM RPC ドキュメントサンプル コード、またはGitHub のキャニスター コードを確認するか、ICP ダッシュボードでキャニスターを検索してください。

-使い方-

EVM RPCキャニスターの前に

最新のブロックを照会するなど、Ethereum からデータを送受信するには、アプリケーションはいくつかの複雑な手順を実行する必要があります。

最初のステップは、リクエストを送信する Ethereum ノードのアドレスを取得することです。アグリゲータはいくつか存在しますが、個々の RPC サーバーの可用性は保証されていないため、任意の RPC エンドポイントからのデータに依存する信頼性の高いアプリケーションを構築することは困難です。さらに、いくつかの RPC サーバーには一貫したプライバシー ポリシーが欠けており、その多くはリクエスト チェーンに高いレイテンシをもたらします。

これらの理由から、通常は、稼働率が高く、レイテンシが低く、サポートされるチェーンの範囲が広い API を提供するAnkrPublicNodeなどのよく知られた RPC プロバイダーを利用します。

ICP <> Ethereum: ICP の EVM RPC キャニスターがネットワークを接続する方法
単一の RPC プロバイダーを使用して Ethereum ノードを照会するアプリケーション。

厳格なセキュリティ要件を持つアプリケーションの場合、プロバイダーからの結果がネットワーク上の他のノードと一致していることを確認することも重要です。これは、複数のリクエストを異なるプロバイダーに並行して送信し、各プロバイダーから返された応答を比較して一致するかどうかを判断することで実現されます。応答のいずれかに不一致がある場合は、事実と虚構を区別するための明確に定義されたメカニズムが必要です。

ICP <> Ethereum: ICP の EVM RPC キャニスターがネットワークを接続する方法
複数のRPCプロバイダーを利用して高度なデータ整合性を確保するアプリケーション

最後に、Ethereum ノードによって返された応答は、アプリケーションの Ethereum データの実装のコンテキストで利用できるように、アプリケーションで使用される基礎となる型システムにデコードおよび逆シリアル化される必要があります。

異なるブロックチェーンをリンクするハブとしてのインターネット コンピュータの役割は、強力なセキュリティ プロパティと、キャニスター スマート コントラクトを通じてチェーン上でアウトバウンド HTTPS リクエストを実行する独自の機能によって可能になります。

つまり、何らかの方法で Ethereum ネットワークと統合しようとするアプリケーションは、複数の API キーを入手し、それらを安全に保管し、それらのローテーションを管理する必要があり、同時に API の品質、稼働時間、およびデータの整合性を確保するためにプロバイダーを審査する必要があります。さらに、アプリケーションはインターフェイスを定義し、受信データを処理するための変換ロジックを実装する必要があります。これらすべてをスタンドアロン アプリケーションで効率的に処理するには少し多すぎるように思われるかもしれませんが、実際そうなのです。

EVM RPC キャニスターの設計

EVM RPC キャニスターは、EVM 互換ネットワークでのクエリとトランザクションの複雑さを軽減することを目的としています。これは、エージェントを活用する ICP の外部に展開された他の ICP キャニスターやアプリケーションで使用されるように設計されています。

このサービスは、いくつかの主要な Ethereum JSON RPC API を、便利な型付けのCandidインターフェースにカプセル化するインターフェースを公開し、特定の呼び出しに対して複数のプロバイダーからの結果を正規化して比較することで、応答の一貫性を保証します。これにより、Ethereum メインネットを含む、サポートされている EVM 互換ネットワークから返されるデータと、そのネットワークに送信されるデータの整合性に対する高い信頼性が保証されます。

EVM RPC キャニスターは、さまざまな RPC プロバイダーの API キーの調達、管理、ローテーションの負担も抽象化し、使用状況に応じて不透明に拡張される単一のインターフェースを公開します。つまり、キャニスターはサイクルをアタッチするだけでよく、EVM RPC キャニスターが問題なく機能すると想定できるため、キャニスター開発者はビジネス ロジックのみに集中できます。

舞台裏では、EVM RPC キャニスターが計測され、異常、使用量の急増、停止、攻撃などが 24 時間監視されており、問題が発生した瞬間に解決できる高度なスキルを持つチームがサポートしています。

ICP <> Ethereum: ICP の EVM RPC キャニスターがネットワークを接続する方法

ガバナンス

NetworkNervous System は、インターネット コンピュータを管理する DAO (分散型自律組織) であり、コミュニティによって管理される民主化された分散型アプリケーションの構築を可能にします。EVM RPC Canister はそのようなアプリケーションの一例です。これは NNS によって制御されるため、Canister のコードに加えられる変更は、システム内のニューロン (ICP トークン所有者) によって投票され承認される提案を通じて行う必要があります。

RPC プロバイダーへの変更 (追加、削除、または修正を含む) は、NNS 提案を通じて 1 回限りのアクションを実行する権限を持つ当事者によって実行する必要があります。これにより、最終的には、EVM RPC キャニスターの機能を形成する権限が、それを利用するコミュニティの手に直接渡されることになります。

EVM RPC キャニスターにインストールされる Web アセンブリ (Wasm) モジュールの構築に使用されるコードはGitHubで公開されており、誰でも Wasm を構築してそのハッシュが ICP メインネットにデプロイされたものと一致することを確認できます。そうすることで、キャニスター自体の整合性が確保されます。つまり、自分で読んで確認できるコードは、インターネット コンピューターで実行されているコードとまったく同じです。

安全で便利

EVM RPC キャニスターは、Ethereum および Ethereum 互換ネットワークとの通信を容易にするために使用される API キーの調達、管理、ローテーションの複雑さを吸収します。EVM ベースの RPC エンドポイントから発信されるデータの操作をシンプルかつ簡単にするいくつかの利便性を提供します。DFINITY が EVM RPC キャニスターを分散型サービスとして開発することで、コミュニティは時間の経過とともにその進化を管理できます。

これらのイノベーションを組み合わせることで、開発者は世界最大の暗号通貨の 1 つをネイティブで使用する dApp や DeFi プロジェクトを構築できるようになり、莫大な価値を活用し、Ethereum スマート コントラクトに高度な機能をもたらすことができます。

結論

EVM RPC キャニスターは、ICP スマート コントラクトと Ethereum およびその他の EVM 互換ネットワークとの統合を簡素化します。EVM RPC キャニスターは、API キーの管理の複雑さを抽象化し、データの整合性を確保することで、開発者が革新的で分散化されたアプリケーションの構築に集中できるようにします。

今すぐ始めましょう

  1. EVM RPC ドキュメントを参照して、EVM RPC キャニスターをプロジェクトに統合する方法を理解してください。

  2. EVM RPC Canister の実際の実装を確認するには、サンプル コードを確認してください。

  3. forum.dfinity.orgの開発者コミュニティに参加して、経験を共有したり、質問したり、他の開発者と協力したりしてください。

EVM RPC キャニスターを使用すると、ICP と Ethereum の両方の長所を活用した dApp と DeFi プロジェクトを構築し、分散型アプリケーションの未来を推進できます。

internetcomputer.orgで構築を開始し、forum.dfinity.orgで開発者コミュニティに参加してください。