Oráculos de cadeias de blocos (Blockchain) serviços de terceiros que fornecem informações externas a contratos inteligentes. Eles funcionam como pontes entre as Blockchain e o mundo exterior.
As cadeias de blocos e os contratos inteligentes não podem acessar dados fora da cadeia (dados que estão fora da rede). Entretanto, para muitos acordos contratuais, é necessário ter informações relevantes do mundo exterior para a execução do acordo.
É aqui que os oráculos da cadeia de blocos entram em cena, pois eles fornecem uma conexão entre dados fora da cadeia e dados na cadeia. Os oráculos são vitais no ecossistema da cadeia de blocos porque expandem o escopo no qual os contratos inteligentes podem operar. Sem oráculos em cadeia, os contratos inteligentes seriam de utilidade muito limitada, pois só teriam acesso aos dados de dentro de suas redes.
É importante observar que um oráculo de cadeia de blocos não é a fonte de dados em si, mas a camada que consulta, verifica e autentica as fontes de dados externas e retransmite essas informações.
Os dados transmitidos pelos oráculos podem assumir muitas formas — informações sobre preços, conclusão bem sucedida de um pagamento, ou medição de temperatura por um sensor.
Para obter dados do mundo externo, o contrato inteligente precisa ser solicitado e os recursos da rede devem ser gastos. Alguns oráculos também têm a capacidade de não apenas transmitir informações para contratos inteligentes, mas enviá-las de volta para fontes externas.
Há vários tipos de oráculos — a forma como um oráculo de cadeia de blocos funciona depende inteiramente de seu propósito. Este artigo analisará alguns destes desenhos.
Exemplo de um Oráculo de Cadeia de Blocos
Suponha que Maria e João façam uma aposta em quem será o vencedor das eleições presidenciais americanas. Maria acredita que o candidato republicano vencerá, enquanto João acredita que o democrata será eleito. Eles concordam com os termos da aposta e fecham seus fundos em um contrato inteligente, que liberará todos os fundos para o vencedor com base nos resultados da eleição.
Como o contrato inteligente não pode interagir com dados externos, ele se baseia em um oráculo para fornecer as informações necessárias — neste caso, os resultados da eleição presidencial.
Após a eleição, o oráculo consulta um API confiável para descobrir qual candidato ganhou e retransmite estas informações para o contrato inteligente. O contrato envia os fundos para Maria ou João, dependendo do resultado.
Sem o retransmissor de dados do oráculo, não seria possível liquidar esta aposta de uma forma que nenhum participante pudesse fazer uma trapassa.
Quais são os Diferentes Tipos de Oráculos de Cadeia de Blocos?
Oráculos de cadeia de blocos podem ser classificados dependendo de uma série de características:
- Origem — os dados são originários de software ou hardware?
- Direção da informação — é de entrada ou de saída?
- Confiança — é centralizada ou descentralizada?
Um único oráculo pode se enquadrar em várias categorias. Por exemplo, um oráculo que obtém informações de um website de uma empresa é um oráculo do tipo “software”, de entrada, centralizado.
Oráculos do Tipo “Software”
Oráculos de software interagem com fontes de informação on-line e os transmitem para a cadeia de blocos. Estas informações podem vir de bancos de dados on-line, servidores, websites — essencialmente, de qualquer fonte de dados da web.
O fato de os oráculos de software estarem conectados à Internet não só lhes permite fornecer informações a contratos inteligentes, mas também transmitir essas informações em tempo real. Isto torna o oráculo de software um dos tipos mais comuns de oráculos de cadeia de blocos.
As informações fornecidas pelos oráculos de software geralmente incluem taxas de câmbio, preços de ativos digitais, ou informações de vôo em tempo real.
Oráculos do tipo Hardware
Alguns contratos inteligentes precisam interagir com o mundo real. Oráculos de hardware são projetados para obter informações do mundo físico e torná-las disponíveis para contratos inteligentes. Estas informações podem ser transmitidas por sensores eletrônicos, leitores de código de barras e outros dispositivos de leitura de informações.
Um oráculo de hardware basicamente “traduz” eventos do “mundo real” em valores digitais que podem ser interpretados por contratos inteligentes.
Um exemplo disso pode ser um sensor que verifica se um caminhão de carga chegou ao local de carga. Se assim for, ele transmite as informações para um contrato inteligente que pode executar decisões com base nas informações enviadas.
Oráculos de Entrada e de Saída
Oráculos de entrada transmitem informações de fontes externas para contratos inteligentes, enquanto oráculos de saída enviam informações de contratos inteligentes para o mundo externo.
Um exemplo de oráculo de entrada seria aquele que informa ao contrato inteligente qual é a temperatura medida por um sensor.
O mecanismo de travamento inteligente poderia ser considerado um exemplo de um oráculo de saída. Se os fundos forem depositados em um endereço, o contrato inteligente envia esta informação através de um oráculo de saída para um mecanismo que realiza o desbloqueio da fechadura inteligente.
Oráculos Centralizados e Descentralizados
Um oráculo centralizado é controlado por uma única entidade e é o único fornecedor de informações para o contrato inteligente. O usar uma única fonte de informação pode ser perigoso — a eficácia do contrato depende inteiramente da entidade que controla o oráculo.
Além disso, qualquer interferência de um agente malicioso terá um impacto direto sobre o contrato inteligente. O principal problema com oráculos centralizados é a existência de um único ponto de falha, o que torna os contratos menos resistentes a ataques.
Oráculos descentralizados compartilham alguns dos mesmos objetivos das cadeias de blocos públicos — evitando o risco de contraparte. Como eles não dependem de uma única fonte, eles aumentam a confiabilidade das informações fornecidas aos contratos inteligentes.
O contrato inteligente consulta vários oráculos para determinar a validade e precisão dos dados — é por isso que oráculos descentralizados também podem ser chamados de oráculos de consenso.
Alguns projetos de cadeias de blocos fornecem serviços de oráculos descentralizados para outras cadeias de blocos. Oráculos descentralizados também podem ter utilidades na previsibilidade de mercados, onde a validade de um determinado resultado pode ser verificada por consenso social.
Oráculos descentralizados visam alcançar a característica da falta de confiança (quando não há necessidade de confiança), mas é importante observar que, como as redes de cadeias de blocos, os oráculos descentralizados não eliminam completamente a necessidade de confiança, mas a distribuem entre muitos participantes.
Oráculos Específicos do Contrato
Um oráculo específico do contrato é aquele projetado para ser usado por um único contrato inteligente. Isto significa que se alguém quiser implementar vários contratos inteligentes, um número correspondente de oráculos específicos do contrato precisará ser desenvolvido.
Este tipo de oráculo é demorado e caro de manter. Empresas que querem extrair dados de múltiplas fontes podem achar esta abordagem impraticável. Por outro lado, como os oráculos específicos do contrato podem ser projetados do zero para atender casos específicos de uso, os desenvolvedores têm alta flexibilidade para adaptá-los de acordo com as necessidades de cada projeto.
Oráculos Humanos
Às vezes, indivíduos com experiência em um campo específico também podem servir como oráculos. Eles podem pesquisar e analisar a autenticidade de informações de muitas fontes e traduzir essas informações em contratos inteligentes.
Como os oráculos humanos podem examinar sua identidade utilizando criptografia, a possibilidade de um usuário falsificar sua identidade e fornecer dados corrompidos é relativamente baixa.
O Problema do Oráculo
Como os contratos inteligentes executam decisões baseadas nos dados fornecidos pelos oráculos, eles são essenciais para um ecossistema de cadeia de blocos saudável. O principal desafio ao projetar oráculos é que se um oráculo for comprometido, o contrato inteligente que depende dele também será comprometido. Isto é conhecido como O problema do oráculo.
Como os oráculos não fazem parte do consenso da cadeia de blocos central, eles infelizmente não fazem parte dos mecanismos de segurança que as cadeias de blocos públicas podem proporcionar. 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 não resolvida.
Ataques do tipo “man-in-the-middle” também podem ser uma ameaça, onde um agente malicioso ganha acesso ao fluxo de dados entre os oráculos e o contrato, e pode modificá-lo ou falsificá-lo.
Conclusão
Um mecanismo confiável que facilita a comunicação entre contratos inteligentes e o mundo exterior é vital para a adoção global de cadeias de blocos. Sem oráculos de cadeias de blocos, os contratos inteligentes se baseariam exclusivamente em informações já existentes em suas redes, o que limitaria consideravelmente suas capacidades.
Oráculos descentralizados têm o potencial de introduzir mecanismos de segurança que podem eliminar muitos riscos sistêmicos do ecossistema da cadeia de blocos. Os oráculos de cadeia de blocos continuam sendo um dos componentes críticos a serem implementados de forma segura, confiável e sem confiança para o crescimento geral do ecossistema da cadeia de blocos.