Oracles
オラクルは、スマートコントラクトに外部データを提供し、現実世界とのインタラクションを可能にするサードパーティサービスです。
オラクルは、ブロックチェーンと外部データソース間のブリッジとして機能します。ブロックチェーン上で実行されるスマートコントラクトは、価格フィード、気象データ、APIレスポンスなどのオフチェーン情報にネイティブにアクセスできません。オラクルは、外部データを取得して検証し、それをスマートコントラクトに中継することでこれを解決します。これにより、スマートコントラクトは現実世界のイベントや情報に基づいて実行できます。
ソフトウェアオラクル(APIからデータを取得)、ハードウェアオラクル(センサーを使用)、ヒューマンオラクル(人間の入力に依存)など、さまざまなタイプのオラクルが存在します。オラクルのセキュリティと信頼性は非常に重要です。なぜなら、侵害されたオラクルは、スマートコントラクトユーザーにとって不正確なデータと重大な経済的損失につながる可能性があるからです。
🛡️ Trust Score
✅ 検証済み技術情報
- • Oracles provide smart contracts with access to external data.
- • Blockchains cannot natively fetch off-chain data due to their deterministic nature.
- • The 'Oracle Problem' refers to the trust and decentralization challenges of external data.
- • Decentralized Oracle Networks (DONs) use multiple sources to ensure reliability.
- • Push-based oracles update on-chain data at regular intervals.
- • Pull-based oracles update on-chain data only when requested by a transaction.
graph LR
Center["Oracles"]:::main
Pre_smart_contract["smart-contract"]:::pre --> Center
click Pre_smart_contract "/terms/smart-contract"
Pre_blockchain["blockchain"]:::pre --> Center
click Pre_blockchain "/terms/blockchain"
Rel_decentralized_finance_defi["decentralized-finance-defi"]:::related -.-> Center
click Rel_decentralized_finance_defi "/terms/decentralized-finance-defi"
Rel_chainlink["chainlink"]:::related -.-> Center
click Rel_chainlink "/terms/chainlink"
Rel_inter_blockchain_communication_ibc["inter-blockchain-communication-ibc"]:::related -.-> Center
click Rel_inter_blockchain_communication_ibc "/terms/inter-blockchain-communication-ibc"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5歳でもわかるように説明
🔌 Imagine a smart car that only drives when the weather is sunny. The car can't 'see' the sky because it's in a closed garage. An **[Oracle](/ja/terms/oracle)** is like a trusted friend who looks out the window and tells the car's computer 'It's sunny!' so the car can start. If the friend lies, the car might drive into a storm.
🤓 Expert Deep Dive
The security and reliability of oracles are paramount, as they represent a critical attack vector ('oracle problem'). Decentralized Oracle Networks (DONs) employ cryptoeconomic incentives, such as staking and slashing mechanisms, to ensure node honesty. Consensus [algorithms](/ja/terms/consensus-algorithms) among oracle nodes are used to agree on data validity before submission to the blockchain. Advanced oracle designs incorporate techniques like Trusted Execution Environments (TEEs) for secure off-chain computation and data handling, and sophisticated aggregation functions (e.g., median, trimmed mean) to resist outliers and manipulation. The 'data availability problem' is also a concern, ensuring that the data submitted on-chain is verifiable and accessible. Architectural trade-offs include the choice between push (oracle pushes data periodically) versus pull (smart contract requests data) models, the frequency of data updates, and the cost implications of different consensus and aggregation mechanisms on L1 gas fees.