本資料は教育目的に限られ、投資助言ではありません。投資では損失が生じる可能性があります。
直接の回答
ブロックチェーン・オラクルは、チェーンの決定論的な状態遷移だけでは導出できないデータについて、認証された主張をコントラクトへ提供するシステムです。価格フィードは市場の基準値を報告し、プル型オラクルは利用者が中継した署名付き更新を検証し、オプティミスティック・オラクルは異議が出ない限りボンド付きの主張を受け入れます。検証可能な乱数やクロスチェーン・メッセージも外部入力システムですが、その主張とセキュリティモデルは価格フィードと互換ではありません。
値をオンチェーン化することで証明されるのは、トランザクション、署名、定足数、証明、または紛争結果が所定の規則を満たしたことです。外部市場、気象事象、人間の判断が客観的に正しいことを暗号学的に証明するものではありません。完全な信頼経路には、観測対象、情報源と取引市場、パブリッシャー、集約、報告の認証、伝送、オンチェーンのプロキシまたは検証器、利用側の検証、価値を動かす業務処理が含まれます。
分散性は各層で個別に評価する必要があります。多数の署名者が同じAPI、取引所、クラウド事業者、運営者、管理者を共有している場合があります。新しく署名された中央値でも、通貨ペアや小数桁が誤っていたり、流動性の乏しい市場を反映していたり、利用側の取引規模に対して安全でなかったりします。利用側には、識別情報、単位、状態、タイムスタンプ、L2の可用性、エクスポージャー上限、代替動作、復旧を管理する責任が残ります。
仕組み
- チェーンとブロック、利用側コントラクトと処理、正確なフィードまたはプロキシのアドレスとフィードID、実装バージョン、基準/気配通貨ペア、小数桁または指数、市場時間、リスクにさらす価値を固定します。
- 観測対象と取引市場から、パブリッシャー、情報源の集約、署名者または定足数の集約、伝送、オンチェーン検証、プロキシ管理、利用側ロジックまで、信頼経路全体を追跡します。情報源、運営者、基盤、管理者の独立性は別々に検証します。
- 配備済みインターフェースと報告をデコードします。フィード識別情報、署名または証明とドメイン、シーケンスまたはラウンド、署名済み回答、状態または信頼区間、情報源タイムスタンプ、オンチェーン更新時刻、リプレイ時の動作、リバート動作、アップグレード状態を確認します。
- 単位は一度だけ正規化し、範囲、符号、タイムスタンプを明示的に検査します。情報源の観測・公表時刻、報告作成時刻、ソースチェーンへの取り込み、中継のファイナリティ、ターゲットチェーン更新時刻、利用側ブロック時刻を区別します。
- 処理ごとの
maxAge、乖離、信頼区間、情報源間比較の規則を適用します。対応するL2配備ではシーケンサー状態と復旧猶予期間を別に確認し、複合値の鮮度は必要な依存項目のうち最も古いものに制約されます。 - 基準値を約定可能な市場の厚みと比較し、操作または買収コストを、利用側の借入、発行、清算、取引、決済のエクスポージャーと比べます。AMMのスポット価格とTWAPの構築は、プールとバージョンごとに扱います。
- 処理ごとに通常、縮退、停止、復旧状態を定義します。可能な限り安全な債務返済や担保追加を維持し、情報源と設定を監視し、報告の欠落、陳腐化、誤り、操作を想定した訓練を行い、復旧後に影響を受けた残高と処理をすべて照合します。
プッシュとプルは配信方式を表すもので、支払いや信頼の普遍的なモデルではありません。パブリッシャーが署名済み報告を作成し、任意の利用者が中継して更新手数料を支払うこともあります。ハートビートと乖離の設定は公表を誘発し得ますが、配信保証でも利用側の鮮度上限でもありません。代替値や最終有効値は管理された縮退モードであり、方向、単位、経過時間、独立性、許可する処理を改めて検証する必要があります。
計算例
- レンディングの閾値。 あるポジションの担保が
10 ETH、オラクル価格が3,000 USD/ETH、債務が18,000 USD、清算閾値が75%とします。担保価値は30,000 USD、LTVは60%で、healthFactor = 10 * 3,000 * 0.75 / 18,000 = 1.25です。トリガー価格は18,000 / (10 * 0.75) = 2,400 USD/ETHです。2,300 USD/ETHでは、ヘルスファクターは0.9583333333、債務/担保比率は78.2608695652%となり清算対象です。ただし清算ボーナス、手数料、執行の影響を考慮する前の名目担保23,000 USDは、なお債務を上回ります。 - 単位の不具合。 生の回答
250,000,000,000が8 decimalsなら、2,500 USDを意味します。誤って10^18で割ると0.00000025 USDとなり、価格を10^10倍過小評価します。有効な署名と新しいタイムスタンプでも、利用側の単位誤りは修正できません。 - 集約方法の選択。 観測値
[99, 100, 100, 101, 160]の中央値は100、算術平均は112で、中央値に対する差は12%です。この教材データでは中央値が一つの高い外れ値に耐えますが、5人の報告者全員が侵害された同一APIに依存して130を報告すれば、中央値も130です。 - 処理別の鮮度。
consumerClock = 1,800,000,000の時点で、報告のsourceTimestamp = 1,799,998,200ならage = 1,800 secondsです。新規借入のmaxAge = 900 secondsは900 seconds超過として拒否します。返済経路のmaxAge = 3,600 secondsは受け入れ、余裕は1,800 secondsです。同じ報告でも、エクスポージャーを増やす処理には危険で、減らす処理には許容できる場合があります。
リスク
- チェーン、配備、実装、ネットワーク環境が誤っている。
- プロキシ、アグリゲーター、フィードID、資産、コントラクトのバージョンが誤っている。
- 基準/気配方向が逆、または建値が一貫していない。
- 小数桁、指数、固定小数点、符号、丸め、単位が一致しない。
- ゼロ、負値、定義域外、オーバーフロー、切り捨て済みの回答を受け入れる。
- 欠落、ゼロ、未来、繰り越し、識別誤りのあるタイムスタンプを受け入れる。
- 利用側の鮮度上限が資産と処理に対して緩すぎる。
- 利用側の鮮度上限が厳しすぎてサービス拒否やリスク削減の妨げになる。
- ハートビートや乖離設定をサービス水準保証とみなす。
- 休場、コーポレートアクション、ペッグ乖離、取引市場の停止、繰り越しデータの意味を無視する。
- 複数のパブリッシャーが同一API、取引所、クラウド、運営者、鍵経路、手法を共有する。
- 署名者閾値、定足数、鍵管理、報告認証、ドメイン、リプレイ防止が破綻する。
- 集約、重み、外れ値、信頼区間、情報源選定の規則が不適切である。
- 情報源の流動性が薄い、仮装売買がある、分断している、古い、または保護対象規模で操作可能である。
- スポット価格や短期TWAPの操作、複数ブロックの支配、順序付け、検閲、MEVが入力を変える。
- パブリッシャー、中継、ガス、混雑、リオーグ、チェーン停止によって適時配信できない。
- L2シーケンサー状態、復旧猶予期間、クロスチェーン中継時計、ファイナリティ依存を見落とす。
- プロキシ、管理者、署名者集合、設定、移行、停止、フィード廃止の変更を見落とす。
- 代替値が古い、相関している、尺度が違う、循環依存している、または危険なフェイルオープン/一律フェイルクローズで作動する。
- 利用側エクスポージャーが操作・買収コストを超え、監視、上限、停止、復旧、清算、不良債権照合も機能しない。
よくある誤解
- 「オラクルは未来を予測する。」 多くのオラクルは、定義された時点と対象について、観測、報告、証明、解決済みの主張を認証します。
- 「署名済みまたはオンチェーンのデータは客観的に正しい。」 認証とコンセンサスは規則への適合を証明しますが、外部事実の経済的な正しさは証明しません。
- 「ノードが多ければ自動的に独立した分散性が得られる。」 情報源、運営者、基盤、鍵、ガバナンスは相関したままの場合があります。
- 「最新で鮮度の高い値は、公正で約定可能な価格である。」 鮮度だけでは方向、単位、信頼区間、流動性、約定可能な厚みは分かりません。
- 「信頼できる事業者なら利用側の統合リスクはなくなる。」 アプリケーションには、配備識別、デコード、鮮度、L2ゲート、エクスポージャー、障害時動作、復旧を管理する責任が残ります。
関連トピック
出典
- Oracles - Ethereum.org(参照日:2026-08-13)
- Chainlink Data Feeds - Chainlink Documentation(参照日:2026-08-13)
- Data Feeds API Reference - Chainlink Documentation(参照日:2026-08-13)
- Developer Responsibilities: Market Integrity and Application Code Risks - Chainlink Documentation(参照日:2026-08-13)
- Selecting Quality Data Feeds - Chainlink Documentation(参照日:2026-08-13)
- How to Use Real-Time Data in EVM Contracts - Pyth Developer Hub(参照日:2026-08-13)
- Uniswap v2 Core - Uniswap(参照日:2026-08-13)
- SC03:2026 Price Oracle Manipulation - OWASP Smart Contract Security(参照日:2026-08-13)