Blockchain Oracle é um serviço de terceiros que permite que um contrato inteligente acesse dados de uma fonte externa, que atua como uma ponte entre um blockchain e informações no mundo real. Isto posto, saiba o que é e como funciona o Oracle no artigo a seguir.
O que é um Blockchain Oracle?
Um Blockchain Oracle é um serviço de terceiros que permite que um contrato inteligente acesse dados de uma fonte externa.
O serviço atua como uma ponte entre um blockchain e informações no mundo real. Sem essa camada de middleware, os contratos inteligentes só seriam capazes de acessar dados já existentes no blockchain. Isso limitaria a utilidade dos contratos inteligentes em finanças descentralizadas (DeFI), gerenciamento da cadeia de suprimentos (SCM), jogos e entretenimento.
Aqui estão alguns exemplos dos tipos de informações que um Oracle pode ser solicitado a encontrar e retornar:
Como Eles Funcionam
Quando um contrato inteligente requer dados externos, ele enviará uma solicitação ao Oracle usando um protocolo de comunicação como HTTPS.
Depois que o Oracle recebe a solicitação de dados externos, ele recupera os dados solicitados de uma ou mais fontes externas. Em seguida, ele executa verificações para garantir que os dados sejam precisos e oportunos. Normalmente, essas verificações envolvem a validação da autenticidade da fonte de dados e a verificação de que os dados atendem aos padrões de qualidade definidos e não foram adulterados.
Depois que os dados são validados e verificados, o Oracle envia os dados solicitados para o contrato inteligente em um formato compatível com o código do contrato inteligente. (Por exemplo, o Oracle pode codificar os dados em um formato padronizado como JSON antes de transmiti-los usando HTTPS.) Por fim, o contrato inteligente usa os dados fornecidos pelo Oracle para executar sua lógica e funções.
Dependendo do contrato, um Oracle pode ser compensado por seus serviços com tokens ou moedas de criptomoeda.
Centralizado vs. Descentralizado
Os Oracles podem ser centralizados ou descentralizados. Os Oracles centralizados dependem de uma única entidade para coletar e validar dados externos. Em contraste, os descentralizados usam uma rede de nós independentes para executar as mesmas funções.
Oracles centralizados: uma única entidade (que pode ser uma organização) é responsável por coletar e validar dados externos. Esse tipo de Oracle normalmente coleta dados de várias fontes e usa algoritmos de aprendizado de máquina (ML) para identificar qual fonte forneceu os dados mais precisos e confiáveis.
Oracles descentralizados: Uma rede de nodes independentes é responsável por coletar e validar dados externos. Os oráculos descentralizados usam mecanismos de consenso para validar a precisão e a pontualidade dos dados externos antes de serem enviados para o contrato inteligente.
Em geral, os Oracles descentralizados são considerados mais seguros do que os Oracles centralizados porque reduzem o risco de um único ponto de falha. Mesmo que um node forneça dados imprecisos, os outros nodes da rede ainda fornecerão dados precisos. Vale a pena notar, no entanto, que os Oracles descentralizados podem ser mais difíceis de implementar e podem custar mais para usar do que os oráculos centralizados.
Escolhendo o Oracle Certo
A escolha do Oracle pode ser um fator crítico no sucesso ou fracasso de um contrato inteligente, pois a confiabilidade, transparência e segurança do oráculo podem ter um impacto significativo no desempenho do contrato.
Algumas plataformas de contratos inteligentes, como MakerDAO e Compound, têm seus próprios Oracles, mas muitas plataformas fazem parceria com alguns serviços de Oracles conhecidos. Aave e Uniswap, por exemplo, usam Chainlink, enquanto Wanchain e Kava usam Band Protocol como seu Oracle padrão.
Em última análise, cabe ao desenvolvedor do contrato inteligente escolher qual Oracle usar ao integrar dados externos em seu contrato. Ao selecionar esse tipo de serviço de terceiros, os desenvolvedores devem avaliar o seguinte:
Reputação: é importante que os desenvolvedores saibam se o provedor é confiável na comunidade DeFi e se eles experimentaram (e divulgaram) incidentes de segurança ou violações de dados no passado.
Escalabilidade: provedores terceirizados têm muitos clientes, por isso é importante saber o quão bem o oráculo pode lidar com alto tráfego e grandes volumes de solicitações.
Segurança: Os desenvolvedores devem conhecer as políticas do provedor para criptografia e privacidade de dados, bem como seus planos de continuidade dos negócios caso sejam vítimas de um ataque malicioso.
Custo: Isso inclui taxas de acesso a dados, além de quaisquer taxas de transação associadas ao uso do Oracle.
Integração: Os desenvolvedores devem procurar serviços de terceiros compatíveis com sua plataforma de contrato inteligente e pesquisar o Oracle o suficiente para ter uma noção de como será fácil integrar o Oracle ao código do contrato.
Qualidade dos dados: A qualidade dos dados externos que esse tipo de serviço fornece é crítica. Os desenvolvedores devem avaliar a pontualidade e a precisão dos dados que o Oracle fornece e entender quais etapas o provedor de serviços executa para validar e verificar dados externos.
Exemplos de Confiabilidade
Embora algumas plataformas, como a Ethereum, tenham mecanismos integrados para recuperar dados de fora da blockchain, esses mecanismos geralmente são limitados em suas capacidades e não são tão robustos quanto os serviços de terceiros. Aqui estão alguns exemplos de Oracles que são considerados confiáveis:
Chainlink: Chainlink é uma rede Oracle descentralizada que fornece acesso seguro e confiável a dados do mundo real para contratos inteligentes. A Chainlink é conhecida por sua extensa rede de nós e sua capacidade de fornecer dados verificados de várias fontes.
Protocolo Band: O “Band Protocol” é uma plataforma Oracle de dados de cadeia cruzada que fornece contratos inteligentes com acesso descentralizado a fontes de dados externas confiáveis. O Band Protocol é conhecido por ser escalável e fácil de integrar com diferentes blockchains.
Tellor: Tellor é uma rede de Oracles descentralizada que fornece contratos inteligentes com acesso a dados de alta qualidade. O Tellor é conhecido por usar mecanismos de consenso de prova de trabalho (PoW) para garantir a precisão e a integridade dos dados que fornece.
DIA: O DIA é uma plataforma Oracle descentralizada que fornece acesso transparente a dados confiáveis para aplicativos de software descentralizados (DApps). O DIA é conhecido por seus feeds de dados de código aberto e sua capacidade de fornecer dados verificáveis e auditáveis de fontes confiáveis.
UMA: UMA é uma plataforma de contrato financeiro descentralizada que fornece aos Dapps acesso a feeds de preços. A UMA é conhecida por sua capacidade de fornecer contratos financeiros personalizáveis que podem ser adaptados a necessidades específicas.
API3: API3 é um Oracle descentralizado que fornece acesso a dados de preços do mundo real para aplicativos baseados em blockchain. A API3 é conhecida pela transparência e pelo fornecimento de atualizações de dados just-in-time para contratos inteligentes individuais.