﻿---
title: "Oráculo de blockchain"
description: "Um oráculo de blockchain fornece aos contratos afirmações autenticadas sobre dados que eles não conseguem derivar do estado determinístico da rede; o uso seguro depende de todo o percurso entre fonte, relatório, transporte, verificação e consumo."
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Oráculo de blockchain

> Somente para fins educacionais; não constitui recomendação nem aconselhamento de investimento. Investir pode causar perdas.

<a id="answer"></a>

## Resposta direta

Um oráculo de blockchain é um sistema que fornece a um contrato uma afirmação autenticada sobre dados que a transição determinística de estado da rede não consegue derivar por conta própria. Um feed de preços pode publicar uma referência de mercado, um oráculo pull pode verificar uma atualização assinada retransmitida pelo usuário e um oráculo otimista pode aceitar uma afirmação garantida por caução se ela não for contestada. Aleatoriedade verificável e mensagens entre redes são sistemas relacionados de entrada externa, mas suas afirmações e seus modelos de segurança não são intercambiáveis com feeds de preços.

Colocar um valor onchain prova que uma transação, assinatura, quórum, prova ou decisão de disputa satisfez regras definidas. Isso não prova criptograficamente que um mercado externo, evento climático ou julgamento humano seja objetivamente verdadeiro. O percurso de confiança completo inclui o fenômeno observado, fontes e mercados, publicadores, agregação, autenticação do relatório, transporte, proxy ou verificador onchain, validação pelo consumidor e a ação de negócio que movimenta valor.

A descentralização deve ser avaliada separadamente em cada camada. Muitos signatários podem compartilhar a mesma API, bolsa, nuvem, operadora ou administradora. Uma mediana assinada e recente ainda pode usar o par ou os decimais errados, refletir um mercado ilíquido ou ser insegura para o tamanho da operação do consumidor. O consumidor continua responsável por identidade, unidades, status, timestamps, disponibilidade da L2, limites de exposição, comportamento de contingência e recuperação.

<a id="mechanism"></a>

## Como funciona

1. Fixe a rede e o bloco, o contrato consumidor e a ação, o endereço exato do feed ou proxy e o ID do feed, a versão da implementação, o par base/cotação, os decimais ou expoente, o horário de mercado e o valor em risco.
2. Rastreie todo o percurso de confiança, do fenômeno e mercados até publicadores, agregação de fontes, agregação de signatários ou quórum, transporte, verificação onchain, controles do proxy e lógica do consumidor; teste separadamente a independência de fontes, operadores, infraestrutura e administradores.
3. Decodifique a interface e o relatório implantados. Valide a identidade do feed, assinatura ou prova e domínio, sequência ou rodada, resposta assinada, status ou confiança, timestamp da fonte, horário da atualização onchain, comportamento contra replay e revert e estado de upgrade.
4. Normalize as unidades uma única vez e aplique verificações explícitas de faixa, sinal e timestamp. Diferencie observação ou publicação na fonte, criação do relatório, inclusão na rede de origem, finalidade do relay, atualização na rede de destino e horário do bloco consumidor.
5. Aplique regras específicas por ação para `maxAge`, desvio, confiança e comparação entre fontes. Nas implantações L2 compatíveis, verifique separadamente o status do sequenciador e o período de carência após a recuperação; para valores compostos, limite o frescor pela dependência necessária mais antiga.
6. Compare a referência com a profundidade executável do mercado e estime o custo de manipulação ou corrupção em relação à exposição do consumidor em empréstimo, emissão, liquidação, negociação ou pagamento. Trate a construção de preço spot e TWAP de AMM como específica do pool e da versão.
7. Defina estados normal, degradado, pausado e de recuperação para cada ação; preserve, quando possível, o pagamento seguro de dívida ou a adição de garantia, monitore fontes e configuração, ensaie relatórios ausentes, defasados, errados e manipulados e concilie todos os saldos e ações afetados após a recuperação.

Push e pull descrevem padrões de entrega, não um modelo universal de pagamento ou confiança. Um publicador pode criar um relatório assinado enquanto qualquer usuário o retransmite e paga a taxa de atualização. Parâmetros de heartbeat e desvio podem acionar uma publicação, mas não garantem a entrega nem definem o limite de frescor do consumidor. Uma fonte alternativa ou o último valor válido é um modo controlado de degradação cuja direção, unidades, idade, independência e ações permitidas devem ser validadas novamente.

<a id="example"></a>

## Exemplos desenvolvidos

- **Limiar de liquidação.** Uma posição tem `10 ETH` em garantia, preço do oráculo de `3,000 USD/ETH`, dívida de `18,000 USD` e limiar de liquidação de `75%`. A garantia vale `30,000 USD`, o LTV é `60%` e `healthFactor = 10 * 3,000 * 0.75 / 18,000 = 1.25`. O preço de acionamento é `18,000 / (10 * 0.75) = 2,400 USD/ETH`. A `2,300 USD/ETH`, o fator de saúde é `0.9583333333` e dívida/garantia é `78.2608695652%`: a posição pode ser liquidada, embora a garantia nominal de `23,000 USD` ainda supere a dívida antes de bônus, taxas e efeitos de execução.
- **Erro de unidade.** Uma resposta bruta de `250,000,000,000` com `8 decimals` significa `2,500 USD`. Dividi-la por `10^18` produz `0.00000025 USD`, subestimando o preço por um fator de `10^10`. Assinatura válida e timestamp recente não corrigem um erro de unidade do consumidor.
- **Escolha de agregação.** As observações `[99, 100, 100, 101, 160]` têm mediana `100` e média aritmética `112`, diferença de `12%` em relação à mediana. A mediana resiste a um valor atípico alto neste exemplo didático, mas, se os cinco informantes dependerem de uma API comprometida e publicarem `130`, a mediana também será `130`.
- **Frescor por ação.** Em `consumerClock = 1,800,000,000`, um relatório com `sourceTimestamp = 1,799,998,200` tem `age = 1,800 seconds`. Um novo empréstimo com `maxAge = 900 seconds` o rejeita por `900 seconds`; uma rota de pagamento com `maxAge = 3,600 seconds` o aceita com `1,800 seconds` de folga. O mesmo relatório pode ser inseguro para aumentar a exposição e aceitável para reduzi-la.

<a id="risks"></a>

## Riscos

- Rede, implantação, implementação ou ambiente de rede incorreto.
- Proxy, agregador, ID de feed, ativo ou versão de contrato incorreto.
- Direção base/cotação invertida ou denominação inconsistente.
- Incompatibilidade de decimais, expoente, ponto fixo, sinal, arredondamento ou unidade.
- Aceitação de resposta zero, negativa, fora do domínio, com overflow ou truncada.
- Aceitação de timestamp ausente, zero, futuro, transportado ou identificado incorretamente.
- Limite de frescor do consumidor permissivo demais para o ativo e a ação.
- Limite rígido demais, causando negação de serviço ou bloqueando a redução de risco.
- Configuração de heartbeat ou desvio tratada como garantia de nível de serviço.
- Fechamento de mercado, evento societário, perda de paridade, indisponibilidade de mercado ou dado transportado ignorado.
- Vários publicadores compartilham API, bolsa, nuvem, operadora, caminho de chaves ou metodologia.
- Falha no limiar de signatários, quórum, custódia de chaves, autenticação, domínio ou proteção contra replay.
- Regras inadequadas de agregação, ponderação, valores atípicos, confiança ou seleção de fontes.
- Liquidez da fonte pequena, artificial, fragmentada, defasada ou manipulável no tamanho protegido.
- Manipulação de spot ou TWAP curto, controle multibloco, ordenação, censura ou MEV altera a entrada.
- Publicador, relay, gas, congestionamento, reorganização ou indisponibilidade da rede impede entrega pontual.
- Status do sequenciador L2, período de carência, relógio de relay entre redes ou dependência de finalidade é omitido.
- Proxy, administrador, conjunto de signatários, configuração, migração, pausa ou descontinuação do feed muda sem detecção.
- A fonte alternativa está defasada, correlacionada, em escala diferente ou circular, ou é ativada por fail-open inseguro ou fail-closed indiscriminado.
- A exposição supera o custo de manipulação ou corrupção, enquanto falham monitoramento, limites, pausa, recuperação, liquidação e conciliação de dívida incobrável.

<a id="misconceptions"></a>

## Equívocos comuns

- **“Um oráculo prevê o futuro.”** A maioria autentica observações, relatórios, provas ou afirmações resolvidas sobre tempo e objeto definidos.
- **“Dados assinados ou onchain são, portanto, objetivamente verdadeiros.”** Autenticação e consenso provam o cumprimento de regras, não a correção econômica do fato externo.
- **“Mais nós significam automaticamente descentralização independente.”** Fontes, operadores, infraestrutura, chaves e governança podem continuar correlacionados.
- **“O valor recente mais atual é um preço justo e executável.”** Frescor não comprova direção, unidades, confiança, liquidez nem profundidade executável.
- **“Um provedor conceituado elimina o risco de integração do consumidor.”** A aplicação ainda responde pela identidade da implantação, decodificação, frescor, controles L2, exposição, modos de falha e recuperação.

<a id="related"></a>

## Tópicos relacionados

- [Ataques a oráculos](/pt-br/crypto/oracle-attack/)
- [Preços defasados de oráculos](/pt-br/crypto/oracle-price-staleness/)
- [Oráculo TWAP](/pt-br/crypto/oracle-twap/)

<a id="sources"></a>

## Fontes

- [Oracles](https://ethereum.org/developers/docs/oracles/) - Ethereum.org (acessado em: 2026-08-13)
- [Chainlink Data Feeds](https://docs.chain.link/data-feeds) - Chainlink Documentation (acessado em: 2026-08-13)
- [Data Feeds API Reference](https://docs.chain.link/data-feeds/api-reference) - Chainlink Documentation (acessado em: 2026-08-13)
- [Developer Responsibilities: Market Integrity and Application Code Risks](https://docs.chain.link/data-feeds/developer-responsibilities) - Chainlink Documentation (acessado em: 2026-08-13)
- [Selecting Quality Data Feeds](https://docs.chain.link/data-feeds/selecting-data-feeds) - Chainlink Documentation (acessado em: 2026-08-13)
- [How to Use Real-Time Data in EVM Contracts](https://docs.pyth.network/price-feeds/core/use-real-time-data/pull-integration/evm) - Pyth Developer Hub (acessado em: 2026-08-13)
- [Uniswap v2 Core](https://app.uniswap.org/whitepaper.pdf) - Uniswap (acessado em: 2026-08-13)
- [SC03:2026 Price Oracle Manipulation](https://scs.owasp.org/sctop10/SC03-PriceOracleManipulation/) - OWASP Smart Contract Security (acessado em: 2026-08-13)

Source: https://wiki.fcontext.com/pt-br/crypto/oracle/index.mdx
