Oracles de blockchain: Um guia completo

Por Kraken Learn team
8 mín.
15 de março de 2024

Resumo dos oracles de blockchain

  • Os programadores programam frequentemente smart contracts para ativar quando certos eventos do mundo real ocorrem
  • Os oracles fornecem automaticamente essa informação do mundo real à blockchain sem intervenção humana
  • A incorporação de dados off-chain permite que as aplicações descentralizadas (dApps) ofereçam uma variedade muito maior de experiências de utilizador, como trading, mercados de previsão, jogos de azar e muito mais

O que é um oracle de blockchain?

Os oracles fornecem às blockchains e aos smart contracts dados do mundo real que, de outra forma, não existiriam na blockchain. 

Uma vez que as blockchains são construídas especificamente para rastrear informações armazenadas nas suas redes, podem ter dificuldade em aceder a informações do “mundo real” que não se originam da própria blockchain.

Ao permitir que as blockchains acedam a dados do mundo real, os oracles permitem que os programadores criem uma gama mais ampla de aplicações descentralizadas (dApps)

Cada dApp consiste em smart contracts — peças de código de computador que executam certas funções quando condições predeterminadas são cumpridas. Estes funcionam de forma semelhante aos serviços que as aplicações no seu smartphone fornecem, mas sem depender de quaisquer intermediários humanos. 

As blockchains podem ser redes isoladas que não têm acesso direto a eventos ou condições do mundo real. Frequentemente, as blockchains só conseguem aceder a dados que já existem nas suas redes e, portanto, não conseguem aceder a dados que não são criados e armazenados diretamente on-chain. 

Ao alimentar smart contracts com dados do mundo real, como preços de ações ou resultados de jogos desportivos, os programadores podem expandir significativamente a funcionalidade das aplicações que criam.

Por exemplo, usando um serviço de oracle, um programador poderia criar uma aplicação de mercado de previsão descentralizada.

Usando smart contracts, a aplicação permitiria aos utilizadores especular sobre o resultado de qualquer evento futuro com outras pessoas em todo o mundo. Isso poderia incluir apostas sobre qual país vencerá o próximo FIFA World Cup, quem vencerá a próxima eleição presidencial americana ou qualquer outro resultado à escolha do programador.

Usando dados do mundo real de oracles, o mercado de previsão poderia liquidar automaticamente as apostas sem exigir um intermediário humano para aprovar quem ganhou.

Porque são os oracles importantes?

Sem oracles para fornecer acesso a dados off-chain, as redes blockchain não teriam acesso a informações como preços do mercado de ações, dados de identidade do utilizador, resultados desportivos, o tempo, transações em outras blockchains e muito mais. 

Em vez disso, a blockchain provavelmente exigiria envolvimento humano para fornecer a informação. Isso leva ao risco de centralização, o que minaria um dos principais diferenciadores para as redes blockchain: a descentralização.

Muitos protocolos de finanças descentralizadas (DeFi) não poderiam existir sem oracles e a sua capacidade de trazer dados para a informação de origem, mantendo-se descentralizados . 

Protocolos de empréstimo como Aave (AAVE) que permitem aos utilizadores emprestar e pedir emprestado tokens exigem um acompanhamento rigoroso dos preços dos tokens para funcionar. Se estes preços pudessem ser manipulados por um único indivíduo, isso arruinaria a natureza descentralizada do protocolo.

Protocolos de trading como dYdX (DYDX) dependem de oracles para retornar feeds de preços para ativos negociáveis. Se estes feeds de preços fossem fornecidos apenas por um único indivíduo ou empresa, o serviço de trading dependeria inteiramente deste feed centralizado para operar a sua plataforma de trading descentralizada.

Protocolos de jogos de azar como Augur v2 (REPV2) precisam de oracles para obter resultados desportivos. Se o protocolo não dependesse do consenso da rede quanto ao resultado de um determinado jogo, mas sim de um único indivíduo para fornecer o resultado, o protocolo dependeria de uma única fonte de verdade que poderia estar sujeita a manipulação.

Em última análise, os oracles desempenham um papel importante na ligação do mundo descentralizado da tecnologia blockchain a eventos no mundo físico. Embora tenhamos historicamente dependido de intermediários centralizados e “confiáveis” para desempenhar esta função no passado, os oracles oferecem uma forma mais transparente e resistente a adulterações de verificar os resultados.

Como funciona um oracle de blockchain?

Um oracle tem dois componentes:

  1. Um smart contract on-chain
  2. Uma rede de oracles

Se uma dApp precisar de dados do mundo real de um oracle, os programadores da dApp ligam o seu smart contract ao smart contract do oracle. O smart contract do oracle monitoriza o smart contract da dApp ligado para pedidos de dados off-chain. 

Quando o smart contract de uma dApp solicita dados off-chain, como o resultado de um determinado evento, o smart contract do oracle passa esse pedido de dados para a rede de oracles. 

Uma rede de oracles é um conjunto de computadores que cooperam para encontrar e verificar dados. Depois de encontrarem esses dados, chegarem a um consenso sobre a sua validade e reformarem os dados para serem legíveis pela blockchain, a rede passa esses dados para o smart contract do oracle.

Finalmente, o smart contract do oracle passa os dados de volta para o smart contract original para executar e validar a transação inicial com o contexto adicional fornecido pelos dados off-chain do oracle.

Compromissos dos oracles de blockchain

Embora os oracles DeFi possam ser úteis, eles exigem que as dApps que os utilizam façam certas concessões.

Alguns protocolos recebem elogios por serem "oracle-free" e não dependerem de oracles para obter informações. Os utilizadores de blockchain que compreendem as concessões das redes de oracles podem entender melhor o DeFi e avaliar melhor os tokens DeFi.

Vetores de ataque

As blockchains permanecem frequentemente isoladas por uma razão — para manter os seus dados seguros. 

Permitir que os oracles tragam dados externos on-chain acarreta certos riscos. 

Muitos oracles usam infraestruturas e redes proprietárias (por exemplo, as três camadas de descentralização nos Chainlink Price Feeds) para proteger e transmitir dados. 

Os hackers podem atacar esta infraestrutura de formas que não conseguem atacar as blockchains. Assim, embora os oracles possam adicionar informações úteis a um ecossistema blockchain, também têm o potencial de torná-lo menos seguro se a rede estiver a enfrentar um ataque coordenado.

Manipulação de dados

Existem muitas formas como os ataques de oracles podem prejudicar os utilizadores através da manipulação de dados. 

Por exemplo, um hacker poderia manipular um oracle para reportar o preço errado do Bitcoin a um mercado descentralizado. Nesse caso, os traders podem comprar ou vender com prejuízo em relação ao preço de mercado correto.

Da mesma forma, informações de preços incorretas podem desencadear incumprimentos de empréstimos e liquidações em plataformas descentralizadas de empréstimo e yield farming.

Informações imprecisas sobre eventos desportivos podem desencadear pagamentos indevidos em dApps de jogos de azar. As perdas dos utilizadores devido a este tipo de dados manipulados podem ser desencadeadas subitamente e ser dispendiosas para os utilizadores.

Em 2022, uma conhecida plataforma DeFi na blockchain Solana chamada Mango Markets (MNGO) foi explorada devido à manipulação de oracles. 

O hacker primeiro aumentou artificialmente o preço do token nativo, MNGO, em quase 30x. Em seguida, o hacker esvaziou o protocolo dos seus fundos, contraindo empréstimos massivos usando o token MNGO artificialmente inflacionado como garantia. 

O oracle estava a receber uma entrada incorreta através de um preço de token inflacionado, o que teve o efeito colateral de assumir incorretamente que a garantia do hacker valia significativamente mais do que realmente valia.

Como limitar o risco dos oracles

Alguns oracles são mais arriscados do que outros. Por exemplo, redes de oracles menores ou mais recentes podem ser mais vulneráveis a ataques do que as maiores e comparativamente mais antigas que têm sido fiáveis ao longo do tempo. 

Redes de oracles mais recentes podem ter infraestruturas testadas em batalha, o que pode deixar alguns a questionar se existem pontos de vulnerabilidade não descobertos.

Uma forma de limitar os riscos dos oracles é interagir com protocolos que não usam oracles ou que usam redes de oracles com um histórico comprovado de fiabilidade.

Uniswap (UNI) é um excelente exemplo de um protocolo DeFi que não usa um oracle e, portanto, tem o benefício de segurança de ser "oracle-free". 

Devido à natureza dos liquidity pools e como eles precificam os ativos, o Uniswap não depende de dados de preços externos. Em vez disso, o Uniswap é capaz de gerar todos os dados de que precisa para funcionar diretamente dos seus próprios smart contracts.

Oracles de blockchain populares

Embora nenhum oracle seja garantido como seguro contra ataques cibernéticos, existem vários serviços líderes que muitos traders e protocolos DeFi utilizam: 

Chainlink (LINK) é a principal rede de oracles do DeFi, permitindo mais de dezenas de biliões de dólares em transações até à data. A Chainlink oferece uma variedade de produtos, incluindo o Cross-Chain Interoperability Protocol, uma rede robusta para transmitir dados entre diferentes blockchains. Consulte o nosso artigo do Kraken Learn Center O que é a Chainlink? para saber mais sobre como este protocolo funciona.

LINK icon
8.78
-2,24%
24H
link

Pyth (PYTH) ajuda a proteger e fornecer dados para centenas de dApps, principalmente dApps DeFi na rede Solana (SOL).

PYTH icon
0.048
-2,14%
24H
pyth

API3 (API3) fornece dados para cerca de centenas de dApps diferentes. A rede agrega dados diretamente de oracles de primeira parte para oferecer vários serviços em dezenas de blockchains.

API3 icon
api3
0.33
+4,52%
24H
api3

Band Protocol (BAND) baseia-se no kit de desenvolvimento de software Cosmos (ATOM) e tem a sua maior presença no ecossistema Cosmos. A rede de oracles desempenha um papel importante na segurança de dezenas de dApps e blockchains diferentes. Consulte o nosso artigo do Kraken Learn Center O que é o Band Protocol? para saber mais sobre como este protocolo funciona.

BAND icon
band
0.21
+2,05%
24H
band

Comece a usar redes de oracles na Kraken

A maioria das principais redes de oracles tem tokens que contribuem para a infraestrutura da rede e derivam valor do seu sucesso.

A Kraken oferece ativos digitais para a maioria das principais redes de oracles do DeFi e os ativos que utilizam os seus serviços neste momento.