This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
オラクルマシン技術:スマートコントラクトと現実世界の橋梁
オラクルマシン技術デプス解析
ブロックチェーンエコシステムにおいて、オラクルマシンはチェーン上のスマートコントラクトと外部世界の橋渡しを行い、非常に重要なインフラストラクチャの役割を果たしています。そのコア機能は、ブロックチェーン上のスマートコントラクトに外部データを提供することです。
例えば、私たちがEthereumネットワーク上に特定の日の原油取引量データを取得する必要があるスマートコントラクトを展開した場合、コントラクト自体はオフチェーンのリアルワールドデータに直接アクセスできないため、オラクルマシンを利用する必要があります。具体的な流れは、スマートコントラクトが必要な日の原油取引量の要求をイベントログに書き込み、その後オフチェーンプロセスがこのイベントをリッスンしてサブスクライブします。関連するリクエストが検出されると、そのプロセスはチェーン上のトランザクションを提出することによって、コントラクトの特定のメソッドを呼び出し、指定された日の原油取引量情報をスマートコントラクトにアップロードします。
! チェーンリンク(オラクル解説シリーズのパート1)](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
多数のオラクルマシンプロジェクトの中で、ある分散型オラクルマシンプロジェクトは市場占有率で上位に位置しています。このプロジェクトは、最も安全な方法でブロックチェーンに現実世界のデータを提供することに専念しています。基本的なオラクルマシンの原理を実現するだけでなく、同プロジェクトはそのネイティブトークンを中心に良性循環のエコシステムを構築し、経済的インセンティブを通じてシステムの持続可能な発展を保証しています。このシステムでは、オラクルマシンのトリガーはネイティブトークンの送金を通じて実現され、このトークンに基づいて行われるオラクルマシン機能はリクエスト/レスポンスモデルに属します。
! オラクル解説シリーズのチェーンリンク(パート1)](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
このプロジェクトは、標準的なERC20の基盤にtransferAndCallメソッドを追加した改良版の同質トークン規格を採用しています。このメソッドは、支払いとサービスリクエストを巧妙に統合し、オラクルマシンのビジネスシーンのニーズをうまく満たしています。ユーザーがtransferAndCallを呼び出して送金を行う際、通常のERC20送金に加えて、受取先アドレスがコントラクトアドレスであるかどうかも確認され、もしそうであれば、そのアドレスのonTokenTransferメソッドが呼び出されます。
! オラクル解説シリーズのチェーンリンクパート1])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
オラクルマシンコントラクトでは、onTokenTransferメソッドが最初に転送が指定されたトークンを使用しているかどうかを検証し、その後リクエストデータの合法性をチェックします。一連の安全チェックを経て、コントラクトはユニークなリクエストIDを生成し、有効期限を設定し、関連情報をcommitmentsマッピングに記録します。最も重要なことは、コントラクトがリクエストデータを含むイベントを発行し、これらのデータは軽量なバイナリオブジェクト表現形式でエンコードされます。
! チェーンリンク(オラクル解説シリーズのパート1)])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
オフチェーンノードはリクエストを受信した後、fulfillOracleRequestメソッドを呼び出してリクエストに応答します。このメソッドはまず、一連の検証を行い、呼び出し元の認可、リクエストの有効性などを確認します。検証が通過した後、引き出し可能なトークンの数量を記録し、commitmentsマッピングからそのリクエストIDを削除します。最後に、残りのガスが十分であれば、リクエスト元のコントラクトのコールバック関数を呼び出します。
! オラクル解説シリーズのチェーンリンクパート1])https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(
コールバック関数内で、リクエストの有効性を再度検証し、具体的な要件に基づいて返されるデータを処理します。例えば、価格オラクルマシンの場合、現在の価格データを更新する可能性があります。
開発者にとって、あるオラクルマシンプロジェクトはより便利な価格照会インターフェースを提供しています。各取引ペアには独立した価格アグリゲーターがあり、開発者はデータソースURLを自分で指定することなく、これらのインターフェースを直接呼び出して最新の価格データを取得できます。これらのインターフェースには、照会精度、説明、バージョン、履歴データ、最新データなどの機能が含まれており、開発プロセスを大幅に簡素化します。
! オラクル解説シリーズのチェーンリンク(パート1)])https://img-cdn.gateio.im/webp-social/moments-1994fff156354700fda0609f9e317726.webp(
注意すべきは、ほとんどのアプリケーションシナリオにおいて、契約は最新の価格を読み取るだけで済むということです。また、米ドルを基準とした取引ペアの価格精度は通常8桁に統一されており、異なるトークンの精度の差異を処理する手間を省いています。
! オラクル解説シリーズのチェーンリンク(パート1)])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(