official_blog:260121_oracle_machines

文書の過去の版を表示しています。


260121 Qubic にオラクルマシンがやってくる | スマートコントラクトに現実世界のデータを

原文: Oracle Machines Are Coming to Qubic | Real-World Data for Smart Contracts | Qubic Blog
執筆: Qubic チーム
公開日: 2026年1月21日

 ブロックチェーンは検証可能な計算のための強力なシステムですが、根本的な制限があります。それは、オンチェーンに既に存在するデータしか扱えないということです。

 スマートコントラクトがビットコインの現在の価格、スポーツの試合結果、あるいは東京の天気を知る必要がある場合、それ自体で調べる方法はありません。

 オラクルマシンはこの問題を解決します。Qubic はネイティブなオラクル・インフラストラクチャを導入し、スマートコントラクトが現実世界の情報に直接アクセスできるようにします。

 オラクルマシンは、Qubic コアノードと外部データソースの間のミドルウェアとして機能します。これはブロックチェーンから送信されるリクエストを処理し、ネットワークが信頼できる形式で検証済みデータを送り返します。

 これを3層システムとして考えてみてください。

  • オラクルマシン・ノード:
    • ルーティング、キャッシュ、検証を処理するミドルウェア層。
  • 外部オラクルサービス: 価格フィード、天気API、イベントデータプロバイダー。

 スマートコントラクトが外部データを必要とすると、オラクルマシンにクエリを送信します。オラクルマシンはキャッシュを確認し、必要に応じて適切な外部サービスにリクエストを転送し、標準化された形式で結果をブロックチェーンに返します。

 このアーキテクチャにより、外部の複雑さをコアプロトコルから分離したまま、スマートコントラクトが現実世界の情報に確実かつアクセスできるようになります。


技術アーキテクチャ

 オラクルマシン・システムは、関心の分離(Separation of Concerns)を明確にしたモジュール設計を採用しています。

コアモジュール

モジュール 役割
NodeConnection TCPサーバー、IPホワイトリスト検証、セッション管理
RequestHandler クエリ解析、キャッシュ検索、インターフェースクライアントへのルーティング
InterfaceClient オラクルサービスへの永続的な接続、非同期リクエストキュー
OracleCache 自動クリーンアップ機能を備えた TTL(有効期限)ベースのキャッシュ

システム内のデータフロー

リクエストのライフサイクルは、以下の明確な順序に従います。

''Qubic コアノードが **OracleMachineQuery** を送信''
  • *NodeConnection が受信し検証 RequestHandler がキャッシュを確認 InterfaceClient がオラクルサービスに転送 オラクルサービスがデータを取得(例:CoinGecko API から) レスポンスがキャッシュされ、OracleMachineReply として Qubic コアノードに返される Qubic コアノードが Computor ごとに1つの OracleReplyCommitTransaction を生成 クォーラムComputor のコミットに基づいてオラクルの返答を検証 検証されたオラクルの返答が OracleReplyRevealTransaction によってオンチェーンで公開される  キャッシュ層は特に重要です。頻繁にリクエストされるデータ(一般的な通貨ペアの価格など)はキャッシュから即座に提供できるため、レイテンシと外部APIの負荷が軽減されます。  TTLベースのシステムにより、パフォーマンスを最適化しながらデータの鮮度を保ちます。 —- ===== オラクル・インターフェースの種類 =====  オラクルマシンは、それぞれ独自のクエリとリプライ構造を持つ異なるインターフェースタイプをサポートしています。  システムは「価格(Price)」と「モック(Mock)」インターフェースでローンチされます。さらに多くのオラクル・インターフェースが近日中に追加される予定です。 ==== 価格インターフェース (Index 0) ====  価格インターフェースは、CoinGecko などのプロバイダーから通貨ペアデータを取得します。 クエリ構造(例): * Oracle: * プロバイダー識別子(例:CoinGecko) * Timestamp: * クエリのタイムスタンプ * Currency1: * ベース通貨(例:BTC) * Currency2: * クォート通貨(例:USD)  ※ 注意:これは一例です。修正される可能性があり、精度の要件が追加される見込みです。 リプライ構造(例): * Numerator(分子): * 価格の分子 (sint64) * Denominator(分母): * 価格の分母 (sint64)  分子/分母の形式は、浮動小数点エラーを発生させずに金融計算の精度を維持します。 ==== モックインターフェース (Index 1) ====  自動および手動テストに有用なインターフェースです。 —- ===== データを要求する2つの方法 =====  スマートコントラクトとユーザーは、2つの異なるモードでオラクルマシンと対話できます。 * 単発クエリ (One-Time Query): * リクエストを送信すると、オラクルマシンがデータを取得し、回答を受け取ります。特定の瞬間に、特定の情報が必要な場合に適しています。 * 例:予測市場のコントラクトが、賭けを清算するために昨夜のバスケットボールの試合の勝者を知る必要がある場合。 * サブスクリプション (Subscription): * スマートコントラクトオラクルから継続的なアップデートを受け取るために購読できます。毎回現在の価格を尋ねる代わりに、コントラクトは定期的な間隔で自動アップデートを受け取ります。 * 例:DeFi プロトコルが、担保比率を計算し清算をトリガーするために継続的な価格フィードを必要とする場合。 —- ===== リクエストの追跡 =====  すべてのオラクルリクエストには、クエリとリプライを関連付けるためのユニークなトラッキングIDが付与されます。クエリのステータスは以下の通りです。 ^ ステータス ^ 意味 ^ | Pending | リクエスト処理中 | | Successful | データが取得され、配信された | | Failed | オラクルがタイムアウト内に応答しなかった |  タイムアウトによりシステムの動きが保証されます。オラクルが定義されたウィンドウ内に応答しない場合、無期限に待機するのではなく、リクエストは失敗としてマークされます。 —- ===== 手数料と経済モデル ===== ^ 側面 ^ 詳細 ^ | リクエスト手数料 | スパム防止のため、すべてのオラクルクエリに必要 | | 手数料の行方 | バーン(焼却) され、流通から永久に削除される | | 手数料レベル | ネットワークのクォーラムによって決定される |  この構造は、手数料が再分配されるのではなくバーンされるという Qubic のトークノミクスに合致しており、効率的な運用を促しながらデフレメカニズム圧力を生み出します。 —- ===== これによって可能になること =====  オラクルマシンは、これまで Qubic 上で構築不可能だったカテゴリのアプリケーションを切り開きます。  Qubic の手数料無料のトランザクションと高速な実行速度を組み合わせることで、開発者は以下を作成できるようになります。 * 予測市場: * 検証された現実世界の結末に基づく自動解決。スポーツの結果、選挙の結果、イベントの発生などを、手動の介入なしでコントラクトが清算できるようになります。 * DeFi プロトコル: * 信頼できる価格フィードにより、レンディングプロトコル、合成資産、自動マーケットメーカーが可能になります。CoinGecko などのプロバイダーからの正確でタイムリーな価格データに基づいて清算を実行できます。 * 保険アプリケーション: * 気象事象、フライトの遅延、その他の測定可能な出来事など、検証された条件が満たされたときに自動的に支払うパラメトリック保険コントラクト。 * ゲーミングと NFT: * 現実世界のデータがゲーム内のメカニズムに影響を与えます。実際の選手のパフォーマンスに基づいてスポーツ NFT を更新することができます。 —- ===== 新しいオラクル・サービスの構築 =====  オラクルマシン・システムは拡張性を重視して設計されています。サードパーティの開発者は、BaseOracleService インターフェースを実装することで、新しいオラクルサービスを追加できます。 新しいオラクルサービスを作成するには: - Qubic コアでインターフェース構造(クエリ/リプライ形式)を定義する - BaseOracleService を継承したサービス実装を作成する - 外部API用のデータプロバイダーを実装する - 設定エントリを追加する - ビルドシステムに登録する  oracle-machine リポジトリには、カスタムオラクルサービスを構築するためのリファレンス実装と詳細なドキュメントが含まれています。  このモジュール式アーキテクチャにより、コアプロトコルを変更することなく、エコシステムの成長に合わせて利用可能なデータソースの範囲が拡大します。 —- ===== Qubic のビジョンにおけるオラクルマシンの位置付け =====  オラクルマシンは、真に知的なスマートコントラクトを構築するという Qubic の目標に向けた新たな一歩です。  有用なプルーフ・オブ・ワーク(uPoW)および Qubic の分散型AIイニシアチブである AIGarth と組み合わせることで、オラクルスマートコントラクトに現実世界を観察し、反応する能力を与えます。 Qubic の「About」ページにある通り: > 「オラクルマシンは、株価、スポーツのスコア、センサーの読み取り値など、信頼できるデータを通じてイベントを解決することにより、Qubic スマートコントラクトをさらにスマートにするために使用されます。また、オラクルは Aigarth に外の世界を観察する能力を与えます。」  これにより、Qubic は単なるトランザクション決済レイヤーとしてではなく、外部の現実と対話する AI 駆動型アプリケーションのためのインフラとして、レイヤー1ブロックチェーンの中でユニークな地位を築きます。 —- ===== パフォーマンス仕様 ===== ^ メトリクス ^ 値 ^ | 期待されるレイテンシ | 3〜5 ティック* | | 典型的なレスポンス時間 | 約 10 秒* | | キャッシュ | 自動クリーンアップ付き TTL ベース | | 接続モデル | 自動再接続機能付き 永続 TCP |  InterfaceClient はオラクルサービスへの永続的な接続を維持し、障害時には自動的に再接続することで、外部サービスが一時的に停止した場合でも信頼性を確保します。  ※ 注:これらの値は参考値であり、テスト環境下で予測されたものです。実際の値はオラクル稼働時に異なる場合があります。 —- ===== 開発者向けガイド ===== オラクルマシンを使用した構築に興味のある開発者は、以下を探索できます。 * Qubic Documentation: * 包括的な技術ガイド * Oracle Machine Repository: * ソースコードと実装の詳細 * Smart Contracts Guide: * Qubic スマートコントラクトの仕組み * Developer Introduction: * Qubic 開発の始め方 * Qubic Dev Kit: * ローカルテストネットのセットアップ * Qubic CLI: * ネットワークと対話するためのコマンドラインツール * GitHub Organization: * すべてのオープンソースリポジトリ  サポートが必要な場合は、開発者が活発に協力し合っている Qubic Discord コミュニティに参加してください。 —- ===== 今後の展望 =====  オラクル・インフラストラクチャは基盤技術です。ほとんどのユーザーがオラクルマシンを直接操作することはありません。代わりに、舞台裏でオラクルに依存するアプリケーションを使用することになります。  オラクルマシンは現在、Qubic メインネットでの最終テスト段階にあります。テストが完了すると、開発者やアプリケーションが統合できる準備が整います。  Qubic の最新動向については以下をチェックしてください: * Qubic Blog: * 最新ニュースと技術アップデート * Twitter/X: * リアルタイムのアナウンス * Telegram & Discord:**
    • コミュニティディスカッション

 オラクルマシンはまもなく登場します。価値のあるものを構築する準備をしましょう。


関連項目

official_blog/260121_oracle_machines.1768985990.txt.gz · 最終更新: by d.azuma