# オラクルマシンシステムのブロックチェーン技術における重要な役割オラクルマシンはブロックチェーン分野における重要なインフラストラクチャであり、オンチェーンのスマートコントラクトに外部情報を提供することができます。スマートコントラクトとチェーン外の世界をつなぐミドルウェアとして、オラクルマシンはブロックチェーンエコシステムにおいて欠かせない役割を果たしており、そのコア機能はスマートコントラクトに必要な外部データを提供することです。! チェーンリンク(オラクル解説シリーズのパート1)](https://img-cdn.gateio.im/social/moments-ced3348559da0aabbf1c67c4d84ddc88)例えば、私たちがイーサリアム上で特定の日の原油取引量データを取得する必要があるスマートコントラクトをデプロイしたとします。スマートコントラクト自体は直接オフチェーンの現実世界データにアクセスできないため、この機能を実現するためにオラクルマシンを利用する必要があります。具体的な流れは次の通りです:スマートコントラクトは必要な日の原油取引量をイベントログに書き込み、その後オフチェーンでこのイベントログを監視するプロセスが起動されます。関連するリクエストが検出されると、そのプロセスはオンチェーントランザクションを提出することで、スマートコントラクトの対応するメソッドを呼び出し、指定された日の原油取引量情報をスマートコントラクトに送信します。! オラクル解説シリーズのチェーンリンク(パート1)](https://img-cdn.gateio.im/social/moments-30dffd84ae22b9fa8f93929cd523ef990192837465674839201多くのオラクルマシンプロジェクトの中で、Chainlinkは最大の市場シェアを占めています。Chainlinkは分散型のオラクルマシンネットワークであり、最も安全で信頼性の高い方法でブロックチェーンに現実世界のデータを提供することを目的としています。基本的なオラクルマシン機能を実現するだけでなく、ChainlinkはLINKトークンを中心に経済的なインセンティブによって良性循環を形成するエコシステムを構築しています。Chainlinkネットワークでは、オラクルマシンサービスはLINKトークンを転送することでトリガーされ、LINKはイーサリアム上のERC677トークンです。LINKトークンに基づいて実現されたオラクルマシン機能はリクエスト/レスポンスモデルに属します。! オラクル解説シリーズのチェーンリンクパート1])https://img-cdn.gateio.im/social/moments-36eedcde4ebee55bf1c0e6c5f02934df(ERC677規格はERC20を基にしてtransferAndCallメソッドを追加し、支払いとサービスリクエストを一つにまとめ、オラクルマシンのビジネスシーンのニーズにより良く応えます。ユーザーがtransferAndCallを呼び出して送金を行うと、通常のERC20送金に加えて、受取先がコントラクトアドレスである場合、そのアドレスのonTokenTransferメソッドも呼び出されます。! チェーンリンク(オラクル解説シリーズのパート1)])https://img-cdn.gateio.im/social/moments-d05f88f78a86510920ca9cb9cb97fcd6(チェーン上のオラクルリクエストプロセスにおいて、オラクル消費者がtransferAndCallメソッドを使用して料金を支払いサービスをリクエストする際、オラクルコントラクトのonTokenTransferメソッドが最初に一連のセキュリティチェックを行います。これには、送金がLINKトークンであることの検証、リクエストデータの長さが適切であるかの確認、function selectorの検証などが含まれます。これらのチェックを通過した後、deleGatecallを通じてオラクルコントラクトのoracleRequestメソッドが呼び出されます。! オラクル解説シリーズのチェーンリンクパート1])https://img-cdn.gateio.im/social/moments-dae23b36c6a83626aa95ba58fa8dbee5(oracleRequestメソッドは、ユニークなrequestIdを生成し、リクエストの有効期限を設定し、関連情報をcommitmentsマッピングに記録します。最も重要なことは、リクエストデータを含むOracleRequestイベントを発行することです。このイベント内のデータは通常、CBOR)簡潔なバイナリオブジェクト表現(形式でエンコードされ、オフチェーンノードが解析して処理しやすくなっています。! オラクル解説シリーズのチェーンリンク(パート1)])https://img-cdn.gateio.im/social/moments-1994fff156354700fda0609f9e317726(オフチェーンノードは、リクエストに応答する際に、fulfillOracleRequestメソッドを呼び出します。このメソッドはまず、呼び出し元の権限の確認やリクエストの有効性の検証など、一連の検証を行います。検証が通過した後、引き出し可能なトークンの数量を更新し、対応するcommitment記録を削除し、最終的にリクエスト元のコントラクトのコールバック関数を呼び出します。! オラクル解説シリーズのチェーンリンク(パート1)])https://img-cdn.gateio.im/social/moments-bb84d77f358852f47e9adf3e74ba5bf9(開発者にとって、既存の通貨ペアの価格データを使用するだけであれば、Chainlinkが提供するPrice Feedインターフェースを直接呼び出すことができます。各取引ペアには独立したPrice Feed)、別名Aggregator(があり、実際にはAggregatorProxyコントラクトです。これらのインターフェースは、価格の精度、説明、バージョン番号、最新の価格データなどを取得する機能を提供しています。ほとんどのアプリケーションシーンでは、コントラクトは最新の価格を読み取るだけで済み、latestRoundData)(メソッドを呼び出すことで取得できます。注意すべき点は、米ドル建ての取引ペアは通常、統一された8桁の精度を採用しており、これにより異なるトークン間の精度処理問題が簡素化されます。! オラクル解説シリーズのチェーンリンク(パート1)])https://img-cdn.gateio.im/social/moments-527bd8714534f5f06ccdd9afe40b253a(
オラクルマシンシステム:ブロックチェーンと現実世界の重要な架け橋
オラクルマシンシステムのブロックチェーン技術における重要な役割
オラクルマシンはブロックチェーン分野における重要なインフラストラクチャであり、オンチェーンのスマートコントラクトに外部情報を提供することができます。スマートコントラクトとチェーン外の世界をつなぐミドルウェアとして、オラクルマシンはブロックチェーンエコシステムにおいて欠かせない役割を果たしており、そのコア機能はスマートコントラクトに必要な外部データを提供することです。
! チェーンリンク(オラクル解説シリーズのパート1)](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
例えば、私たちがイーサリアム上で特定の日の原油取引量データを取得する必要があるスマートコントラクトをデプロイしたとします。スマートコントラクト自体は直接オフチェーンの現実世界データにアクセスできないため、この機能を実現するためにオラクルマシンを利用する必要があります。具体的な流れは次の通りです:スマートコントラクトは必要な日の原油取引量をイベントログに書き込み、その後オフチェーンでこのイベントログを監視するプロセスが起動されます。関連するリクエストが検出されると、そのプロセスはオンチェーントランザクションを提出することで、スマートコントラクトの対応するメソッドを呼び出し、指定された日の原油取引量情報をスマートコントラクトに送信します。
! オラクル解説シリーズのチェーンリンク(パート1)](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
多くのオラクルマシンプロジェクトの中で、Chainlinkは最大の市場シェアを占めています。Chainlinkは分散型のオラクルマシンネットワークであり、最も安全で信頼性の高い方法でブロックチェーンに現実世界のデータを提供することを目的としています。基本的なオラクルマシン機能を実現するだけでなく、ChainlinkはLINKトークンを中心に経済的なインセンティブによって良性循環を形成するエコシステムを構築しています。Chainlinkネットワークでは、オラクルマシンサービスはLINKトークンを転送することでトリガーされ、LINKはイーサリアム上のERC677トークンです。LINKトークンに基づいて実現されたオラクルマシン機能はリクエスト/レスポンスモデルに属します。
! オラクル解説シリーズのチェーンリンクパート1])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
ERC677規格はERC20を基にしてtransferAndCallメソッドを追加し、支払いとサービスリクエストを一つにまとめ、オラクルマシンのビジネスシーンのニーズにより良く応えます。ユーザーがtransferAndCallを呼び出して送金を行うと、通常のERC20送金に加えて、受取先がコントラクトアドレスである場合、そのアドレスのonTokenTransferメソッドも呼び出されます。
! チェーンリンク(オラクル解説シリーズのパート1)])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
チェーン上のオラクルリクエストプロセスにおいて、オラクル消費者がtransferAndCallメソッドを使用して料金を支払いサービスをリクエストする際、オラクルコントラクトのonTokenTransferメソッドが最初に一連のセキュリティチェックを行います。これには、送金がLINKトークンであることの検証、リクエストデータの長さが適切であるかの確認、function selectorの検証などが含まれます。これらのチェックを通過した後、deleGatecallを通じてオラクルコントラクトのoracleRequestメソッドが呼び出されます。
! オラクル解説シリーズのチェーンリンクパート1])https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(
oracleRequestメソッドは、ユニークなrequestIdを生成し、リクエストの有効期限を設定し、関連情報をcommitmentsマッピングに記録します。最も重要なことは、リクエストデータを含むOracleRequestイベントを発行することです。このイベント内のデータは通常、CBOR)簡潔なバイナリオブジェクト表現(形式でエンコードされ、オフチェーンノードが解析して処理しやすくなっています。
! オラクル解説シリーズのチェーンリンク(パート1)])https://img-cdn.gateio.im/webp-social/moments-1994fff156354700fda0609f9e317726.webp(
オフチェーンノードは、リクエストに応答する際に、fulfillOracleRequestメソッドを呼び出します。このメソッドはまず、呼び出し元の権限の確認やリクエストの有効性の検証など、一連の検証を行います。検証が通過した後、引き出し可能なトークンの数量を更新し、対応するcommitment記録を削除し、最終的にリクエスト元のコントラクトのコールバック関数を呼び出します。
! オラクル解説シリーズのチェーンリンク(パート1)])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(
開発者にとって、既存の通貨ペアの価格データを使用するだけであれば、Chainlinkが提供するPrice Feedインターフェースを直接呼び出すことができます。各取引ペアには独立したPrice Feed)、別名Aggregator(があり、実際にはAggregatorProxyコントラクトです。これらのインターフェースは、価格の精度、説明、バージョン番号、最新の価格データなどを取得する機能を提供しています。ほとんどのアプリケーションシーンでは、コントラクトは最新の価格を読み取るだけで済み、latestRoundData)(メソッドを呼び出すことで取得できます。注意すべき点は、米ドル建ての取引ペアは通常、統一された8桁の精度を採用しており、これにより異なるトークン間の精度処理問題が簡素化されます。
! オラクル解説シリーズのチェーンリンク(パート1)])https://img-cdn.gateio.im/webp-social/moments-527bd8714534f5f06ccdd9afe40b253a.webp(