Um oráculo blockchain é um serviço de terceiros que fornece informações externas a contratos inteligentes. Eles atuam como pontes entre blockchains e o mundo exterior.
As blockchains e os contratos inteligentes não têm acesso a dados off-chain (dados que estão fora da rede). No entanto, em muitos acordos contratuais, é vital ter informações relevantes do mundo exterior para executar o acordo.
É aí que entram os oráculos blockchain, pois eles fornecem uma conexão entre dados off-chain e on-chain. Os oráculos são vitais dentro do ecossistema blockchain porque ampliam o escopo em que os contratos inteligentes podem operar. Sem os oráculos blockchain, os contratos inteligentes teriam um uso muito limitado, pois teriam acesso apenas a dados de dentro de suas redes.
É importante observar que um oráculo blockchain não é a fonte de dados em si, mas sim a camada que consulta, verifica e autentica fontes de dados externas e, em seguida, transmite essas informações. Os dados transmitidos pelos oráculos podem assumir muitas formas – informações de preço, conclusão bem-sucedida de um pagamento ou a temperatura medida por um sensor.
Para chamar dados do mundo exterior, o contrato inteligente deve ser invocado e os recursos da rede devem ser gastos. Alguns oráculos também têm a capacidade não apenas de transmitir informações para contratos inteligentes, mas também de enviá-las de volta para fontes externas.
Existem muitos tipos diferentes de oráculos – como um oráculo blockchain opera depende inteiramente para o que ele é projetado. Neste artigo, vamos passar por alguns desses designs.
Exemplo de um oráculo blockchain
Suponha que Alice e Bob façam uma aposta sobre quem será o vencedor das eleições presidenciais dos EUA. Alice acredita que o candidato republicano vencerá, enquanto Bob acredita que o democrata será o vencedor. Eles concordam com os termos da aposta e bloqueiam seus fundos em um contrato inteligente, que liberará todos os fundos para o vencedor com base nos resultados das eleições.
Como o contrato inteligente não pode interagir com dados externos, ele precisa depender de um oráculo para fornecer as informações necessárias – neste caso, os resultados das eleições presidenciais. Após o término das eleições, o oráculo consulta uma API confiável para descobrir qual candidato venceu e transmite essas informações para o contrato inteligente. O contrato, então, envia os fundos para Alice ou Bob, dependendo do resultado.
Sem o oráculo transmitindo os dados, não haveria maneira de resolver essa aposta de uma forma que não pudesse ser manipulada por um dos participantes.
Quais são os diferentes tipos de oráculos blockchain?
Os oráculos blockchain podem ser classificados com base em várias características diferentes:
- Fonte – os dados originam-se de software ou hardware?
- Direção da informação – é de entrada ou de saída?
- Confiança – é centralizado ou descentralizado?
Um único oráculo pode se enquadrar em várias categorias. Por exemplo, um oráculo que obtém informações de um site corporativo é um oráculo de software centralizado de entrada.
Oráculos de software
Os oráculos de software interagem com fontes de informações online e as transmitem para a blockchain. Essas informações podem vir de bancos de dados online, servidores, sites – essencialmente, qualquer fonte de dados na Web.
O fato de os oráculos de software estarem conectados à Internet não apenas permite que eles forneçam informações para contratos inteligentes, mas também que transmitam essas informações em tempo real. Isso os torna um dos tipos mais comuns de oráculos blockchain.
As informações normalmente fornecidas pelos oráculos de software podem incluir taxas de câmbio, preços de ativos digitais ou informações de voo em tempo real.
Oráculos de hardware
Alguns contratos inteligentes precisam se relacionar com o mundo real. Os oráculos de hardware são projetados para obter informações do mundo físico e disponibilizá-las para contratos inteligentes. Essas informações podem ser transmitidas por sensores eletrônicos, scanners de código de barras e outros dispositivos de leitura de informações.
Um oráculo de hardware essencialmente “traduz” eventos do mundo real em valores digitais que podem ser compreendidos por contratos inteligentes.
Um exemplo disso pode ser um sensor que verifica se um caminhão que transporta mercadorias chegou a uma doca de carregamento. Se sim, ele transmite as informações para um contrato inteligente que pode tomar decisões com base nelas.
Oráculos de entrada e saída
Os oráculos de entrada transmitem informações de fontes externas para contratos inteligentes, enquanto os oráculos de saída enviam informações de contratos inteligentes para o mundo externo.
Um exemplo de um oráculo de entrada é aquele que informa a um contrato inteligente qual é a temperatura medida por um sensor. Um exemplo de um oráculo de saída pode ser considerado com uma fechadura inteligente. Se fundos forem depositados em um endereço, o contrato inteligente envia essas informações por meio de um oráculo de saída para um mecanismo que destranca a fechadura inteligente.
Oráculos centralizados e descentralizados
Um oráculo centralizado é controlado por uma única entidade e é o único provedor de informações para o contrato inteligente. Usar apenas uma fonte de informação pode ser arriscado – a eficácia do contrato depende inteiramente da entidade que controla o oráculo. Além disso, qualquer interferência maliciosa de um ator mal-intencionado terá um impacto direto no contrato inteligente. O principal problema dos oráculos centralizados é a existência de um único ponto de falha, o que torna os contratos menos resilientes a vulnerabilidades e ataques.
Os oráculos descentralizados compartilham alguns dos mesmos objetivos das blockchains públicas – evitar risco de contraparte. Eles aumentam a confiabilidade das informações fornecidas aos contratos inteligentes, não dependendo de uma única fonte de verdade. O contrato inteligente consulta vários oráculos para determinar a validade e precisão dos dados – é por isso que os oráculos descentralizados também podem ser chamados de oráculos de consenso.
Alguns projetos de blockchain fornecem serviços de oráculo descentralizados para outras blockchains. Os oráculos descentralizados também podem ser úteis em mercados de previsão, onde a validade de um determinado resultado pode ser verificada por consenso social.
Embora os oráculos descentralizados tenham como objetivo alcançar a falta de confiança, é importante observar que, assim como as redes blockchain sem confiança, os oráculos descentralizados não eliminam completamente a confiança, mas a distribuem entre muitos participantes.
Oráculos específicos de contrato
Um oráculo específico de contrato é aquele projetado para ser usado por um único contrato inteligente. Isso significa que, se alguém quiser implantar vários contratos inteligentes, um número proporcional de oráculos específicos de contrato deve ser desenvolvido.
Esse tipo de oráculo é considerado muito demorado e caro de manter. Empresas que desejam extrair dados de várias fontes podem achar essa abordagem impraticável. Por outro lado, como os oráculos específicos de contrato podem ser projetados do zero para atender a um caso de uso específico, os desenvolvedores têm alta flexibilidade para adaptá-los a requisitos específicos.
Oráculos humanos
Às vezes, indivíduos com conhecimentos especializados em um campo específico também podem atuar como oráculos. Eles podem pesquisar e verificar a autenticidade das informações de várias fontes e traduzir essas informações para contratos inteligentes. Como os oráculos humanos podem verificar sua identidade usando criptografia, a possibilidade de um fraudador falsificar sua identidade e fornecer dados corrompidos é relativamente baixa.
O problema do oráculo
Como os contratos inteligentes tomam decisões com base em dados fornecidos por oráculos, eles são essenciais para um ecossistema blockchain saudável. O principal desafio ao projetar oráculos é que, se o oráculo for comprometido, o contrato inteligente que depende dele também será comprometido. Isso é frequentemente chamado de problema do oráculo.
Como os oráculos não fazem parte do consenso principal da blockchain, infelizmente, eles não fazem parte dos mecanismos de segurança que as blockchains públicas podem fornecer. O conflito de confiança entre oráculos de terceiros e a execução sem confiança de contratos inteligentes continua sendo uma questão em grande parte não resolvida.
Ataques de homem no meio também podem ser uma ameaça, onde um ator malicioso ganha acesso ao fluxo de dados entre os oráculos e o contrato e modifica ou falsifica os dados.
Pensamentos finais
Um mecanismo confiável que facilita a comunicação entre contratos inteligentes e o mundo externo é vital para a adoção global de blockchains. Sem oráculos blockchain, os contratos inteligentes teriam que confiar apenas em informações já presentes em suas redes, o que limitaria consideravelmente suas capacidades.
Os oráculos descentralizados têm o potencial de introduzir mecanismos de proteção que poderiam eliminar grande parte do risco sistêmico do ecossistema blockchain. Os oráculos blockchain continuam sendo um dos blocos de construção críticos a serem implementados de maneira segura, confiável e sem confiança para o crescimento do ecossistema blockchain.