Skip to main content

Oracle | Bitcoin Glossary | Mapping Bitcoin

Oracle

Protocolo

Also known as: data oracle

An entity that provides external real-world data to Bitcoin smart contracts or Layer 2 protocols. Oracles are essential for Discreet Log Contracts (DLCs) and other conditional payment schemes that depend on off-chain information like price feeds or event outcomes.

Overview

An oracle in the Bitcoin context is a trusted or semi-trusted entity that provides external, real-world data to smart contracts or conditional payment protocols. Since the Bitcoin blockchain has no built-in awareness of events outside the network, oracles serve as bridges between the physical world and on-chain (or off-chain) contract logic.

The Oracle Problem

Real World                 Bitcoin
┌──────────────┐          ┌──────────────┐
│ Sports scores│          │              │
│ Price feeds  │──Oracle──│  Smart       │
│ Weather data │    →     │  Contract    │
│ Election     │          │  Settlement  │
│ results      │          │              │
└──────────────┘          └──────────────┘

Problem: How do you trust the oracle?
The blockchain can verify signatures, not truth.

The fundamental challenge with oracles is trust. A blockchain can cryptographically verify that an oracle signed a particular data point, but it cannot verify whether that data point is truthful. This is known as the "oracle problem."

Oracles in Discreet Log Contracts (DLCs)

DLCs represent an elegant approach to the oracle problem. The oracle publishes a commitment to possible outcomes in advance. When the event occurs, the oracle signs the outcome with a specific nonce. Crucially, the oracle does not know the details of the contracts depending on its data, cannot see the amounts wagered, and cannot selectively cheat individual users.

Trust Minimization Strategies

  • Multiple oracles: Require agreement from M-of-N independent oracles
  • Reputation systems: Oracles build track records over time
  • Cryptographic commitments: Oracles commit to outcome spaces in advance
  • Financial bonds: Oracles stake collateral that can be slashed for dishonesty

Common Misconceptions

Oracles do not have control over the funds in a contract — they only provide data that determines how pre-committed funds are distributed. In a well-designed DLC, the oracle cannot steal funds or know the exact contracts that depend on its attestation. However, a dishonest oracle can cause incorrect settlement, which is why oracle selection and redundancy matter.