Um contrato de empréstimo pode contabilizar os ETH nele depositados. No entanto, não pode decidir quanto valem esses ETH em dólares simplesmente através da inspeção do saldo da carteira. Um mercado de previsão enfrenta um problema semelhante: o contrato pode deter garantias e calcular pagamentos, mas precisa de uma forma definida de estabelecer qual foi o resultado.
Um oráculo de blockchain fornece informações que um contrato inteligente pode utilizar para além do seu próprio estado disponível. Pode tratar-se do preço de um ativo, do resultado de um evento ou do valor líquido dos ativos declarado por um fundo. O oráculo torna estas aplicações possíveis, acrescentando simultaneamente dependências relacionadas com a forma como as informações são recolhidas, transmitidas e interpretadas.
Porque é que um contrato inteligente não pode simplesmente abrir um site
Na Ethereum e em redes semelhantes, os nós têm de reproduzir o mesmo resultado a partir da mesma transação e do mesmo estado. Um site comum pode mudar entre pedidos, ficar indisponível ou devolver respostas diferentes a visitantes diferentes. Permitir que cada validador obtenha, de forma independente, uma página Web em tempo real durante a execução comprometeria esse resultado partilhado. A documentação sobre oráculos da Ethereum explica esta fronteira entre a execução de contratos e as informações externas.
Em vez disso, um processo externo introduz um relatório num formato que a blockchain pode aceitar. O contrato lê um valor publicado ou verifica um relatório fornecido com uma transação. Não obtém secretamente acesso ilimitado à Internet.
O consenso da blockchain estabelece qual foi o relatório aceite e quais as regras executadas. Não estabelece, de forma independente, se uma estação meteorológica funcionou, se uma empresa comunicou informações honestamente ou se um preço de mercado estava livre de manipulação.
Acompanhe a informação desde a fonte até à decisão
Uma aplicação dependente de preços envolve normalmente várias etapas distintas:
- Observação: bolsas, empresas de negociação ou outros fornecedores produzem observações sobre um ativo. As fontes podem medir diferentes mercados, horários de negociação ou instrumentos.
- Processamento: um sistema de oráculos aplica as suas regras de agregação e comunicação. Vários operadores podem reduzir a dependência de um único responsável pelo relatório, mas fontes upstream partilhadas podem ainda criar um ponto comum de falha.
- Transmissão: uma transação publica um valor ou um solicitante envia um relatório autenticado para verificação. A rede de destino determina quando essa transação é executada.
- Aplicação: o contrato que utiliza os dados verifica o identificador da feed, as unidades e a idade permitida e, em seguida, aplica as suas próprias regras de empréstimo, liquidação ou outras.
Estas responsabilidades não devem ser reduzidas ao nome do fornecedor do oráculo. O modelo de dados descentralizado da Chainlink, por exemplo, separa a obtenção de dados, os relatórios dos nós e a agregação onchain. Uma aplicação tem ainda de integrar corretamente a feed resultante.
Aplicações diferentes precisam de designs de oráculo diferentes
Push e pull descrevem a forma como as atualizações chegam à aplicação. Por si só, não indicam se o sistema é centralizado ou descentralizado.
| Design | Como chegam as informações | O que a aplicação tem de considerar |
|---|---|---|
| Feed push | As atualizações são publicadas numa feed onchain. Os contratos leem o valor mais recente disponível. | Os acionadores de publicação, os atrasos das transações e a idade que a observação armazenada pode ter. |
| Relatório pull | Um solicitante obtém um relatório e envia-o quando uma aplicação precisa dele. | A autenticação, a idade da observação e o custo de enviar a atualização. |
| Oráculo otimista | Uma resposta proposta pode ser contestada durante um período definido; as disputas seguem um processo de resolução. | Critérios de resolução claros, incentivos à monitorização, cauções e tempo até à liquidação. |
A Chainlink descreve acionadores de desvio e de heartbeat para as atualizações das suas feeds baseadas em push. Um heartbeat não é uma promessa de que todas as atualizações chegarão apesar de congestionamentos ou interrupções. O oráculo otimista da UMA dá, em vez disso, aos participantes tempo para contestarem respostas propostas. Isto pode ser mais adequado à resolução de eventos do que a um preço necessário imediatamente para uma transação.
Nem todas as entradas de um oráculo têm origem offchain. Um contrato pode calcular um preço a partir do histórico onchain de uma exchange descentralizada. O design de preços cumulativos da Uniswap v2 permite calcular preços médios ponderados pelo tempo, ou TWAPs. A média pode tornar a manipulação breve mais dispendiosa, mas o resultado continua a depender da liquidez e da janela de observação escolhida. Uma janela mais longa também reage mais lentamente a alterações genuínas de preço.
Como um preço desatualizado pode alterar uma liquidação
Considere uma posição de empréstimo simplificada com 10 ETH como garantia, 12 000 $ de dívida e um limiar de liquidação de 80%. Parta do princípio de que o valor da dívida em dólares se mantém fixo e ignore juros e comissões.
A 2 000 $ por ETH, a garantia vale 20 000 $ e a dívida corresponde a 60% do seu valor. Se o ETH cair para 1 400 $, a garantia desce para 14 000 $; a dívida passa a representar cerca de 85,7%, acima do limiar assumido. A posição cumpriria a condição de liquidação deste exemplo assim que o contrato aceitasse esse preço.
Se a aplicação continuar a utilizar a observação antiga de 2 000 $, a posição pode parecer saudável enquanto a sua garantia económica se deteriorou. Uma observação falsamente baixa pode criar o problema oposto: a liquidação de uma posição que deveria continuar saudável. Em qualquer dos casos, o contrato pode executar o seu código exatamente como foi escrito.
É por isso que sistemas como o protocolo de empréstimos EVAA devem ser compreendidos tanto através das suas entradas de preço como das suas regras de liquidação. Os valores acima são meramente ilustrativos, não correspondendo aos parâmetros da EVAA.
Uma assinatura recente não significa necessariamente informação recente
Há três perguntas importantes: quando foi produzida a observação subjacente, quando foi formado o relatório e quando é que a blockchain o aceitou? Uma transação enviada recentemente pode conter uma observação mais antiga.
As orientações de integração da Pyth Pro distinguem o momento da atualização da atualidade de cada feed e recomendam o tratamento da incerteza nos preços comunicados. Uma assinatura válida autentica um relatório segundo as regras de verificação relevantes; não torna todos os valores atuais nem elimina as divergências entre mercados.
Os programadores também precisam de uma política para situações de falha. Rejeitar dados obsoletos, limitar novos empréstimos ou pausar operações sensíveis ao preço pode conter os danos. Mudar automaticamente para uma alternativa não testada pode introduzir outra dependência. A Chainlink atribui explicitamente aos programadores de aplicações a responsabilidade pelas verificações de dados, disjuntores e lógica de contingência.
Em algumas redes de camada 2, a possibilidade de enviar uma transação constitui outra preocupação. Uma interrupção do sequenciador pode impedir os utilizadores de ajustarem as suas posições. As orientações da Chainlink sobre o tempo de atividade do sequenciador descrevem verificações de estado e um período de tolerância para recuperação; um carimbo temporal do preço, por si só, não resolve esse problema de acesso.
O que deve procurar antes de confiar numa aplicação
Procure a feed e a rede exatas, o mercado ou a fonte de informação subjacente, a idade máxima aceite e o que acontece durante uma interrupção. Verifique quem pode substituir o oráculo ou alterar esses limites. “Utiliza um oráculo” é um ponto de partida para compreender um protocolo, não uma classificação de segurança.
A mesma distinção é importante no caso de ativos tokenizados. Publicar o NAV de um fundo não estabelece a custódia, a propriedade legal nem os direitos de resgate. A nossa análise sobre a Chainlink, a Hanwha e a infraestrutura de RWA explica por que razão a transmissão fiável de dados e os direitos sobre os ativos são partes distintas de um produto.
Pode explorar mercados através da KTX Crypto Exchange. Em qualquer produto, leia as suas próprias regras de preços e liquidação: um valor de um oráculo onchain não é automaticamente o preço ao qual a sua ordem será executada.
Perguntas frequentes
Utilizar um oráculo significa que tenho de comprar o respetivo token?
Não. Muitas vezes, os utilizadores interagem com uma aplicação sem deterem o token do fornecedor do oráculo. As comissões de atualização e a entidade que as paga dependem da integração. O token de um fornecedor também tem os seus próprios riscos de mercado.
Um oráculo pode movimentar os ativos na minha carteira?
Um relatório de dados, por si só, não é uma assinatura de carteira nem uma autorização para gastar tokens. Os contratos podem utilizar esse relatório para desencadear ações que envolvam ativos já abrangidos pelas suas regras, incluindo a liquidação de garantias.
O preço de um oráculo é igual a uma cotação de negociação executável?
Não. Uma referência pode agregar várias fontes ou calcular a média de um intervalo. A sua execução depende do mercado, da liquidez disponível, do tamanho da ordem e das comissões. Uma referência apresentada não garante uma execução.
Uma bridge de blockchain é a mesma coisa que um oráculo?
Podem sobrepor-se no que diz respeito à infraestrutura de mensagens e verificação. Normalmente, uma bridge permite transferências ou mensagens entre redes; um oráculo fornece informações para uma aplicação. Os seus nomes não estabelecem pressupostos de segurança idênticos.
Um oráculo pode manter privadas informações comerciais sensíveis?
Não simplesmente por as transmitir onchain. Os dados publicados abertamente podem ser vistos por qualquer pessoa. Uma aplicação sensível do ponto de vista da privacidade precisa de um design separado para divulgação, acesso e verificação.
Aviso de risco: falhas de oráculos, fontes manipuladas e erros de integração podem causar perdas mesmo quando uma blockchain funciona normalmente. Este artigo tem fins educativos e não constitui aconselhamento de investimento.