official-blog:260121_oracle_machines

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
official-blog:260121_oracle_machines [2026/01/26 02:07] – 削除 - 外部編集 (不明な日付) 127.0.0.1official-blog:260121_oracle_machines [2026/02/11 08:37] (現在) – [関連項目] d.azuma
行 1: 行 1:
 +====== 260121 Qubic にオラクルマシンがやってくる | スマートコントラクトに現実世界のデータを ======
  
 +
 +原文: [[https://qubic.org/blog-detail/oracle-machines-are-coming-to-qubic-real-world-data-for-smart-contracts|Oracle Machines Are Coming to Qubic | Real-World Data for Smart Contracts | Qubic Blog]] \\
 +執筆: Qubic チーム \\
 +公開日: 2026年1月21日
 +
 +{{ .:pasted:20260121-000359.png?500}}
 +
 + ブロックチェーンは検証可能な計算のための強力なシステムですが、根本的な制限があります。それは、オンチェーンに既に存在するデータしか扱えないということです。
 +
 + [[tag/スマートコントラクト]]がビットコインの現在の価格、スポーツの試合結果、あるいは東京の天気を知る必要がある場合、それ自体で調べる方法はありません。
 +
 + [[tag/オラクルマシン]]はこの問題を解決します。Qubic はネイティブな[[tag/オラクル]]・インフラストラクチャを導入し、[[tag/スマートコントラクト]]が現実世界の情報に直接アクセスできるようにします。
 +
 + [[tag/オラクルマシン]]は、Qubic コアノードと外部データソースの間のミドルウェアとして機能します。これはブロックチェーンから送信されるリクエストを処理し、ネットワークが信頼できる形式で検証済みデータを送り返します。
 +
 + これを3層システムとして考えてみてください。
 +
 +  * **Qubic コアノード:** 
 +    * [[tag/スマートコントラクト]]が存在し、実行される場所。
 +
 +  * **オラクルマシン・ノード:** 
 +    * ルーティング、キャッシュ、検証を処理するミドルウェア層。
 +
 +  * **外部[[tag/オラクル]]サービス:** 価格フィード、天気API、イベントデータプロバイダー。
 +
 + [[tag/スマートコントラクト]]が外部データを必要とすると、[[tag/オラクルマシン]]にクエリを送信します。[[tag/オラクルマシン]]はキャッシュを確認し、必要に応じて適切な外部サービスにリクエストを転送し、標準化された形式で結果をブロックチェーンに返します。
 +
 + このアーキテクチャにより、外部の複雑さをコアプロトコルから分離したまま、[[tag/スマートコントラクト]]が現実世界の情報に確実かつアクセスできるようになります。
 +
 +
 +{{/tag/column/pasted/20260121-085333.png}}
 +
 +----
 +
 +===== 技術アーキテクチャ =====
 +
 + オラクルマシン・システムは、関心の分離(Separation of Concerns)を明確にしたモジュール設計を採用しています。
 +
 +{{.:pasted:20260121-085721.png}}
 +==== コアモジュール ====
 +
 +^ モジュール ^ 役割 ^
 +| **NodeConnection** | TCPサーバー、IPホワイトリスト検証、セッション管理 |
 +| **RequestHandler** | クエリ解析、キャッシュ検索、インターフェースクライアントへのルーティング |
 +| **InterfaceClient** | オラクルサービスへの永続的な接続、非同期リクエストキュー |
 +| **OracleCache** | 自動クリーンアップ機能を備えた TTL(有効期限)ベースのキャッシュ |
 +
 +----
 +
 +===== システム内のデータフロー =====
 +
 + リクエストのライフサイクルは、以下の明確な順序に従います。
 +
 + 〔 Qubic コアノードが **OracleMachineQuery** を送信 〕\\
 +   ⬇
 +
 + 〔 **NodeConnection** が受信し検証 〕\\
 +   ⬇
 +
 + 〔 **RequestHandler** がキャッシュを確認 〕\\
 +   ⬇
 +
 + 〔 **InterfaceClient** がオラクルサービスに転送 〕\\
 +   ⬇
 +
 + 〔 オラクルサービスがデータを取得(例:CoinGecko API から) 〕\\
 +   ⬇
 +
 + 〔 レスポンスがキャッシュされ、**OracleMachineReply** として Qubic コアノードに返される 〕\\
 +   ⬇
 +
 + 〔 Qubic コアノードが Computor ごとに1つの **OracleReplyCommitTransaction** を生成 〕\\
 +   ⬇
 +
 + 〔 [[tag/クォーラム]]が [[tag/Computor]] のコミットに基づいて[[tag/オラクル]]の返答を検証 〕\\
 +   ⬇
 +
 + 〔 検証された[[tag/オラクル]]の返答が **OracleReplyRevealTransaction** によってオンチェーンで公開される 〕\\
 +   ⬇
 +
 + 〔 キャッシュ層は特に重要です。頻繁にリクエストされるデータ(一般的な通貨ペアの価格など)はキャッシュから即座に提供できるため、レイテンシと外部APIの負荷が軽減されます。 〕\\
 +   ⬇
 +
 + 〔 TTLベースのシステムにより、パフォーマンスを最適化しながらデータの鮮度を保ちます。 〕
 +
 +
 +----
 +
 +===== オラクル・インターフェースの種類 =====
 +
 + [[tag/オラクルマシン]]は、それぞれ独自のクエリとリプライ構造を持つ異なるインターフェースタイプをサポートしています。
 +
 + システムは「価格(Price)」と「モック(Mock)」インターフェースでローンチされます。さらに多くの[[tag/オラクル]]・インターフェースが近日中に追加される予定です。
 +
 +==== 価格インターフェース (Index 0) ====
 +
 + 価格インターフェースは、CoinGecko などのプロバイダーから通貨ペアデータを取得します。
 +
 +**クエリ構造(例):**
 +
 +  * **Oracle:** 
 +    * プロバイダー識別子(例:CoinGecko)
 +
 +  * **Timestamp:** 
 +    * クエリのタイムスタンプ
 +
 +  * **Currency1:** 
 +    * ベース通貨(例:BTC)
 +
 +  * **Currency2:** 
 +    * クォート通貨(例:USD)
 +
 + ※ 注意:これは一例です。修正される可能性があり、精度の要件が追加される見込みです。
 +
 +**リプライ構造(例):**
 +
 +  * **Numerator(分子):** 
 +    * 価格の分子 (sint64)
 +
 +  * **Denominator(分母):** 
 +    * 価格の分母 (sint64)
 +
 + 分子/分母の形式は、浮動小数点エラーを発生させずに金融計算の精度を維持します。
 +
 +==== モックインターフェース (Index 1) ====
 +
 + 自動および手動テストに有用なインターフェースです。
 +
 +----
 +
 +===== データを要求する2つの方法 =====
 +
 + [[tag/スマートコントラクト]]とユーザーは、2つの異なるモードで[[tag/オラクルマシン]]と対話できます。
 +
 +  * **単発クエリ (One-Time Query):** 
 +    * リクエストを送信すると、オラクルマシンがデータを取得し、回答を受け取ります。特定の瞬間に、特定の情報が必要な場合に適しています。
 +      * 例:予測市場のコントラクトが、賭けを清算するために昨夜のバスケットボールの試合の勝者を知る必要がある場合。
 +
 +  * **サブスクリプション (Subscription):** 
 +    * [[tag/スマートコントラクト]]が[[tag/オラクル]]から継続的なアップデートを受け取るために購読できます。毎回現在の価格を尋ねる代わりに、コントラクトは定期的な間隔で自動アップデートを受け取ります。
 +      * 例:DeFi プロトコルが、担保比率を計算し清算をトリガーするために継続的な価格フィードを必要とする場合。
 +
 +----
 +
 +===== リクエストの追跡 =====
 +
 + すべての[[tag/オラクル]]リクエストには、クエリとリプライを関連付けるためのユニークなトラッキングIDが付与されます。クエリのステータスは以下の通りです。
 +
 +^ ステータス ^ 意味 ^
 +| **Pending** | リクエスト処理中 |
 +| **Successful** | データが取得され、配信された |
 +| **Failed** | [[tag/オラクル]]がタイムアウト内に応答しなかった |
 +
 + タイムアウトによりシステムの動きが保証されます。[[tag/オラクル]]が定義されたウィンドウ内に応答しない場合、無期限に待機するのではなく、リクエストは失敗としてマークされます。
 +
 +----
 +
 +===== 手数料と経済モデル =====
 +
 +^ 側面 ^ 詳細 ^
 +| **リクエスト手数料** | スパム防止のため、すべてのオラクルクエリに必要 |
 +| **手数料の行方** | **[[tag/バーン]](焼却)** され、流通から永久に削除される |
 +| **手数料レベル** | ネットワークの[[tag/クォーラム]]によって決定される |
 +
 + この構造は、手数料が再分配されるのではなく[[tag/バーン]]されるという Qubic の[[tag/トークノミクス]]に合致しており、効率的な運用を促しながら[[tag/デフレ]]圧力を生み出します。
 +
 +----
 +
 +===== これによって可能になること =====
 +
 + [[tag/オラクルマシン]]は、これまで Qubic 上で構築不可能だったカテゴリのアプリケーションを切り開きます。
 +
 + Qubic の[[tag/ガス代無料|手数料無料]]のトランザクションと高速な実行速度を組み合わせることで、開発者は以下を作成できるようになります。
 +
 +  * **予測市場:** 
 +    * 検証された現実世界の結末に基づく自動解決。スポーツの結果、選挙の結果、イベントの発生などを、手動の介入なしでコントラクトが清算できるようになります。
 +
 +  * **DeFi プロトコル:** 
 +    * 信頼できる価格フィードにより、レンディングプロトコル、合成資産、自動マーケットメーカーが可能になります。CoinGecko などのプロバイダーからの正確でタイムリーな価格データに基づいて清算を実行できます。
 +
 +  * **保険アプリケーション:** 
 +    * 気象事象、フライトの遅延、その他の測定可能な出来事など、検証された条件が満たされたときに自動的に支払うパラメトリック保険コントラクト。
 +
 +  * **ゲーミングと [[tag/NFT]]:** 
 +    * 現実世界のデータがゲーム内のメカニズムに影響を与えます。実際の選手のパフォーマンスに基づいてスポーツ [[tag/NFT]] を更新することができます。
 +
 + その他、展開が期待されるアプリケーションについては、[[https://docs.qubic.org/learn/use-cases/|Use Cases | Qubic Docs]] を参照。
 +
 +----
 +
 +===== 新しいオラクル・サービスの構築 =====
 +
 + [[tag/オラクルマシン]]・システムは拡張性を重視して設計されています。サードパーティの開発者は、**BaseOracleService** インターフェースを実装することで、新しいオラクルサービスを追加できます。
 +
 +新しいオラクルサービスを作成するには:
 +
 +  - Qubic コアでインターフェース構造(クエリ/リプライ形式)を定義する
 +  - BaseOracleService を継承したサービス実装を作成する
 +  - 外部API用のデータプロバイダーを実装する
 +  - 設定エントリを追加する
 +  - ビルドシステムに登録する
 +
 + [[https://github.com/qubic/oracle-machine|oracle-machine リポジトリ]]には、カスタムオラクルサービスを構築するためのリファレンス実装と詳細なドキュメントが含まれています。
 +
 + このモジュール式アーキテクチャにより、コアプロトコルを変更することなく、エコシステムの成長に合わせて利用可能なデータソースの範囲が拡大します。
 +
 +----
 +
 +===== Qubic のビジョンにおけるオラクルマシンの位置付け =====
 +
 + [[tag/オラクルマシン]]は、真に知的な[[tag/スマートコントラクト]]を構築するという Qubic の目標に向けた新たな一歩です。
 +
 + 有用なプルーフ・オブ・ワーク([[tag/uPoW]])および Qubic の分散型AIイニシアチブである [[tag/Aigarth]] と組み合わせることで、[[tag/オラクル]]は[[tag/スマートコントラクト]]に現実世界を観察し、反応する能力を与えます。
 +
 +Qubic の「About」ページにある通り:
 +
 +> 「[[tag/オラクルマシン]]は、株価、スポーツのスコア、センサーの読み取り値など、信頼できるデータを通じてイベントを解決することにより、Qubic [[tag/スマートコントラクト]]をさらにスマートにするために使用されます。また、[[tag/オラクル]]は [[tag/Aigarth]] に外の世界を観察する能力を与えます。」
 +
 + これにより、Qubic は単なるトランザクション決済レイヤーとしてではなく、外部の現実と対話する AI 駆動型アプリケーションのためのインフラとして、[[tag/レイヤー1ブロックチェーン]]の中でユニークな地位を築きます。
 +
 +----
 +
 +===== パフォーマンス仕様 =====
 +
 +^ メトリクス ^ 値 ^
 +| **期待されるレイテンシ** | 3〜5 [[tag/ティック]]* |
 +| **典型的なレスポンス時間** | 約 10 秒* |
 +| **キャッシュ** | 自動クリーンアップ付き TTL ベース |
 +| **接続モデル** | 自動再接続機能付き 永続 TCP |
 +
 + InterfaceClient は[[tag/オラクル]]サービスへの永続的な接続を維持し、障害時には自動的に再接続することで、外部サービスが一時的に停止した場合でも信頼性を確保します。
 +
 + ※ 注:これらの値は参考値であり、テスト環境下で予測されたものです。実際の値はオラクル稼働時に異なる場合があります。
 +
 +----
 +
 +===== 開発者向けガイド =====
 +
 +オラクルマシンを使用した構築に興味のある開発者は、以下を探索できます。
 +
 +  * **[[https://docs.qubic.org/|Qubic Documentation]]:** 
 +    * 包括的な技術ガイド
 +
 +  * **[[https://github.com/qubic/oracle-machine|Oracle Machine Repository]]:** 
 +    * ソースコードと実装の詳細
 +
 +  * **[[https://docs.qubic.org/learn/smart-contracts/|Smart Contracts Guide]]:** 
 +    * Qubic スマートコントラクトの仕組み
 +
 +  * **[[https://docs.qubic.org/developers/intro/|Developer Introduction]]:** 
 +    * Qubic 開発の始め方
 +
 +  * **[[https://docs.qubic.org/developers/dev-kit/|Qubic Dev Kit]]:** 
 +    * ローカルテストネットのセットアップ
 +
 +  * **[[https://docs.qubic.org/developers/qubic-cli/|Qubic CLI]]:** 
 +    * ネットワークと対話するためのコマンドラインツール
 +
 +  * **[[https://github.com/qubic|GitHub Organization]]:** 
 +    * すべてのオープンソースリポジトリ
 +
 + サポートが必要な場合は、開発者が活発に協力し合っている [[https://discord.gg/qubic|Qubic Discord コミュニティ]]に参加してください。
 +
 +----
 +
 +===== 今後の展望 =====
 +
 + [[tag/オラクル]]・インフラストラクチャは基盤技術です。ほとんどのユーザーが[[tag/オラクルマシン]]を直接操作することはありません。代わりに、舞台裏でオラクルに依存するアプリケーションを使用することになります。
 +
 + [[tag/オラクルマシン]]は現在、Qubic メインネットでの最終テスト段階にあります。テストが完了すると、開発者やアプリケーションが統合できる準備が整います。
 +
 + Qubic の最新動向については以下をチェックしてください:
 +
 +  * **[[https://qubic.org/blog-grid|Qubic Blog]]:** 
 +    * 最新ニュースと技術アップデート
 +
 +  * **[[https://x.com/_Qubic_|𝕏/Twitter]]** 
 +    * リアルタイムのアナウンス
 +
 +  * **[[https://t.me/qubic_network|Telegram]] & [[https://discord.com/invite/qubic|Discord]]:** 
 +    * コミュニティディスカッション
 +
 + [[tag/オラクルマシン]]はまもなく登場します。価値のあるものを[[https://docs.qubic.org/developers/contribute|構築]]する準備をしましょう。
 +
 +----
 +
 +===== 関連項目 =====
 +{{topic>オラクル }}
 +
 +
 +{{tag>オラクル オラクルマシン dev 260121 news blog }}