O que é um oráculo?

O que não é muito consistente com esse nome um tanto “óbvio” é que um oráculo blockchain é uma fonte de informações de terceiros cuja única função é fornecer dados ao blockchain, possibilitando a criação de contratos inteligentes.

Fundamentalmente, um contrato inteligente é apenas um código autoexecutável. O contrato inteligente avalia os dados recebidos do oráculo e inicia a execução com base nas informações recebidas.

Vejamos um exemplo. Digamos que John e John façam uma aposta no preço do Bitcoin neste sábado. Zhang San acredita que o preço do Bitcoin será de US$ 8.500 ou mais. Pelo contrário, Xiao Hei acredita que o preço do Bitcoin será de US$ 8.000 ou menos. Então, eles desenharam um contrato inteligente (para o qual ambas as partes enviariam fundos), e quem previsse o preço mais próximo do preço real ganhava os fundos.

Para que o contrato inteligente determine o preço do Bitcoin e assim pague o vencedor, ele deverá consultar o preço do Bitcoin neste sábado por meio de um oráculo. Quando os dados de preço do Bitcoin são consultados, por exemplo, o valor retornado é que o preço do Bitcoin no sábado é de US$ 8.600, então o contrato inteligente será executado de acordo com suas condições e enviará todos os fundos para Zhang San.

02 tipos de oráculos

Os oráculos fornecem funcionalidade adicional aos contratos inteligentes, fornecendo-lhes uma forma de comunicação fora de uma rede blockchain descentralizada.

Os oráculos Blockchain podem assumir muitas formas, incluindo, mas não se limitando a:

1. Oráculo de software

Essa forma de oráculo normalmente inclui fontes de informação on-line de fácil acesso, como sites e bancos de dados públicos. Eles normalmente fornecem informações como: leituras de temperatura, informações sobre transporte público e preços atuais de vários ativos financeiros.

Oráculos de software são provavelmente o tipo mais poderoso de oráculos disponíveis devido à sua interconectividade inerente com a Internet. Essa conexão permite que os oráculos de software forneçam informações atualizadas para contratos inteligentes.

2. Oráculo de Hardware

Essa forma de oráculo normalmente é responsável por eventos que ocorrem no mundo físico e pelo envio de dados para contratos inteligentes. Por exemplo, na gestão da cadeia de abastecimento, se um objeto com uma etiqueta RFID chegar a um armazém específico, esses dados podem ser enviados para um contrato inteligente e um sistema oráculo de hardware pode rastrear mercadorias ao longo da cadeia de abastecimento.

3. Oráculo de entrada

Esta forma de preditor tem a funcionalidade de simplesmente fornecer dados para um contrato inteligente. Os dados fornecidos são externos ao contrato inteligente e a execução começa após o recebimento das informações. O site de notícias que fornece os preços do Bitcoin no exemplo acima pode ser classificado como um oráculo de entrada.

4. Oráculo de saída

Esses oráculos fornecem dados de contratos inteligentes para fontes externas. No caso do exemplo acima, uma vez que John seja determinado como o vencedor, o contrato inteligente pode comunicar esta informação ao fornecedor da carteira para que o seu saldo seja atualizado automaticamente para refletir o aumento nos fundos.

Neste caso, o próprio contrato inteligente pode funcionar como um oráculo de saída.

5. Oráculo baseado em consenso

A função de tal oráculo é consultar múltiplas fontes de informação e chegar a um resultado baseado em seu consenso. Por exemplo, o exemplo acima também poderia usar 4 sites para pesquisar o preço do Bitcoin. Se todas as fontes oracle (sites) retornarem o mesmo valor, o contrato inteligente poderá ser executado com sucesso.

03 Oracle requer confiança

Embora as vantagens dos oráculos sejam muito óbvias, há uma desvantagem: os oráculos exigem confiança.

A fonte de dados utilizada pelo oráculo para obter informações e transmiti-las ao contrato inteligente deve ser considerada confiável. Continuando com o exemplo acima, se Zhang San pudesse de alguma forma controlar o site de preços do Bitcoin, ele poderia facilmente fazer com que o preço do Bitcoin retornado fosse de US$ 8.600, ganhando assim o jogo.

Portanto, se os dados fornecidos ao contrato inteligente pelo oráculo estiverem errados, há um problema de segurança. Uma solução possível para esse problema é solicitar dados de vários bancos de dados Oracle em vez de um único banco de dados Oracle.

Por exemplo, se um oráculo retornar um preço de Bitcoin de US$ 8.600 e 4 outros oráculos retornarem um preço de US$ 8.000, condições adicionais podem ser programadas no contrato inteligente para resolver o conflito. O contrato inteligente pode optar por aceitar apenas o valor majoritário, caso em que John Doe se torna o vencedor.