Fora do filme Matrix, oráculos são provedores de informação externa para blockchains, as redes descentralizadas. Estes dados podem ter inúmeras finalidades, e usualmente são utilizados nos smart contracts, os contratos digitais auto-executáveis.
Os oráculos no blockchain permitem um grau de funcionalidade muito maior para as aplicações descentralizadas (DApps), porém é importante entender que funcionam somente como um portal, trazendo e levando dados.
Ou seja, quem repassa este dado ao oráculo para entrar no blockchain é uma entidade externa, automatizada ou não. Tudo que o oráculo faz é obedecer ao smart contract, realizando esta busca pela informação no local previamente informado.
Existem oráculos que buscam a informação através da internet, outros que utilizam sensores físicos, além dos oráculos baseados em consenso. Além disto, é possível que esta comunicação seja em duas vias, com o blockchain provendo uma informação para o mundo exterior.
Exemplos de oráculo
Oráculo simples
Um dos mecanismos mais utilizados é o acesso às cotações de criptomoedas via API. O oráculo acessa através da internet algumas exchanges, que podem ou não ser descentralizadas, e solicita a cotação, por exemplo, do Ethereum (ETH) no momento.
Lembre-se que o oráculo apenas transporta os dados, logo quem faz a validação destes dados é o smart contract que a solicitou. É comum exigir dados de diversas exchanges, excluindo os dados fora do padrão, buscando assim conseguir uma cotação mais fiel.
Neste caso, o fluxo da informação ocorre em um único sentido, de fora para dentro do blockchain. Tampouco há necessidade de consenso para obtenção deste dado.
Oráculos utilizando hardwares
De maneira similar ao oráculo buscando informação na internet, esta forma de coleta de dados utiliza dispositivos físicos.
Um caixa eletrônico de dinheiro poderia ser conectado ao oráculo, que, quando solicitado pelo smart contract, informa qual o saldo em dinheiro dentro da máquina.
Isto cria um ponto de possível falha, pois o blockchain não é capaz de verificar por conta própria se estes dados foram corrompidos, ou como proceder em caso de informação conflitante.
Oráculos bi-direcionais
No caso acima, do caixa eletrônico de dinheiro, o oráculo poderia ter informado o saldo ao smart contract, que por sua vez processaria os dados, e retornaria ao oráculo um dado para ser encaminhado.
Um exemplo interessante seria o smart contract calcular o saldo em Reais (R$) de determinado endereço de Ethereum, e desta forma, retornar ao caixa eletrônico o limite de saque para este usuário.
Sendo assim, quando o smart contract for informado pelo oráculo de uma redução no dinheiro disponível no caixa eletrônico, poderá automaticamente realizar o bloqueio do valor respectivo em criptomoedas.
O problema do oráculo
O maior desafio desta tecnologia, que não é nova, nem inerente apenas do blockchain, é conseguir verificar a autenticidade do dado externo. Mesmo que não tenha sido manipulado, ou acaso de um erro técnico, esta informação pode ser duvidosa ou conflitante.
Alguns mecanismos de consenso estão sendo testados, buscando uma avaliação da informação coletada por outros agentes externos. No entanto, sempre haverá a possibilidade da atuação por parte de agentes maliciosos quando existir incentivos suficientes para tal.
Lembrando que este não é um problema inerente ao blockchain, e sim do oráculo. Mesmo no caso de um banco de dados centralizado, se a entrada de dados for incorreta, o sistema estará corrompido.
Ineficiências do blockchain
Vamos imaginar o cenário de um oráculo buscando a cotação do Ethereum (ETH) em diversas exchanges. O smart contract é capaz de criar seu próprio mecanismo de defesa para dados divergentes, porém nada pode fazer se a rede Ethereum estiver sem capacidade para transmitir informações.
Mesmo que o oráculo aumente a taxa de Gas, valor pago para transitar informação na rede Ethereum, este atraso pode ultrapassar alguns minutos. Atacantes podem se aproveitar deste momento para trapacear os smart contracts.
Isto não é uma falha no código-fonte do smart contract, e sim uma característica da rede blockchain. Existe um tripé entre velocidade, segurança e descentralização, no qual não é possível satisfazer a todos simultaneamente.
A verdade é que esta tecnologia é incipiente, em constante evolução, e a cada semana surgem novas inovações e sistemas para reduzir os efeitos e potenciais falhas dos oráculos, e do próprio blockchain. O difícil é saber qual tecnologia será vencedora.
Sugestão: Cadastre-se na BitcoinTrade, faça sua primeira compra e comece a acompanhar mais de perto o mercado de criptomoedas!
O post Para que servem os oráculos blockchain? apareceu primeiro em Blog da BitcoinTrade.