Design e Implementação de um Sistema de Máquina Oracle de Preços Distribuídos
Para resolver o problema de falha de ponto único, alguns projetos de blockchain adotaram o design de máquinas oracle de preços distribuídos. Tomando como exemplo um sistema que fornece o preço do Bitcoin em dólares, um sistema agregou 31 máquinas oracle de preços independentes para oferecer serviços aos usuários.
O código-fonte do contrato desse agregador pode geralmente ser visualizado no explorador de blockchain. Ao chamar métodos específicos no contrato, é possível ver todos os oráculos off-chain incluídos por esse agregador. Cada oráculo off-chain pode fornecer dados de preço em resposta a solicitações de usuários no agregador, chamando métodos específicos. Esses oráculos off-chain são geralmente algumas contas externas (EOA), que não só podem fornecer dados para um agregador de preços de criptomoeda, mas também podem atender a vários agregadores de preços de criptomoedas.
Os contratos on-chain, ao processar os dados fornecidos pela Máquina Oracle, passam por uma série de etapas de validação rigorosas:
Primeiro, leia o estado atual do contrato e realize uma série de verificações.
Após a verificação, realizar os preparativos necessários.
Usar algoritmos criptográficos para verificar cada dado de assinatura, garantindo a autenticidade e a integridade dos dados. Ao mesmo tempo, verificar se o papel do signatário é legal e prevenir o uso repetido da assinatura.
Por fim, verifique a ordenação dos valores observados, escolha a mediana como resultado final e certifique-se de que esse resultado não exceda o limite predefinido.
Alguns sistemas também introduzem mecanismos adicionais de validação, como comparar os resultados com outras fontes de preços, garantindo que a discrepância esteja dentro de um intervalo aceitável.
Para simplificar ainda mais o processo de utilização e reduzir os custos de governança, alguns projetos introduziram o conceito de "Feed Registry". Isso pode ser entendido como um agregador de múltiplas máquinas Oracle de preços, permitindo que os usuários leiam diretamente os dados de preços de várias criptomoedas, sem necessidade de configurar individualmente cada máquina Oracle de preços.
Na prática, os dados de preços geralmente passam por múltiplas camadas de agregação: agregação de fontes de dados, agregação de operadores de nós e agregação da rede Máquina Oracle. Os dados brutos vêm principalmente de várias plataformas de negociação e são inicialmente processados por prestadores de serviços de agregação de dados especializados. Os operadores de nós obtêm dados de múltiplos prestadores de serviços de agregação de dados independentes e realizam uma segunda agregação. Por fim, toda a rede Máquina Oracle realiza a agregação final dos dados de todos os nós, geralmente utilizando o método da mediana.
É importante notar que nem todas as atualizações de dados são refletidas imediatamente na blockchain. As atualizações na cadeia são acionadas apenas quando a variação de preço ultrapassa um determinado limite ou atinge um intervalo de tempo pré-definido. Embora este mecanismo garanta a fiabilidade dos dados, também resulta numa velocidade de atualização de preços relativamente lenta, que pode variar de alguns minutos a 24 horas. Portanto, este tipo de sistema Máquina Oracle é mais adequado para cenários de aplicação onde a velocidade de atualização de preços não é uma prioridade.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
10 Curtidas
Recompensa
10
5
Compartilhar
Comentário
0/400
NFTRegretful
· 07-16 08:55
Atualizações lentas e ainda sem problemas?
Ver originalResponder0
DisillusiionOracle
· 07-14 01:51
Onde estão tantas Máquinas Oracle? Comigo já é suficiente.
Ver originalResponder0
DataPickledFish
· 07-14 01:48
A verificação não é tão fácil assim, é só ver quem cai primeiro.
Ver originalResponder0
GamefiHarvester
· 07-14 01:46
Ainda é mais rápido do que a atualização de dupla assinatura, hehe
Máquina Oracle de Preços Distribuídos: Design, Implementação e Desafios
Design e Implementação de um Sistema de Máquina Oracle de Preços Distribuídos
Para resolver o problema de falha de ponto único, alguns projetos de blockchain adotaram o design de máquinas oracle de preços distribuídos. Tomando como exemplo um sistema que fornece o preço do Bitcoin em dólares, um sistema agregou 31 máquinas oracle de preços independentes para oferecer serviços aos usuários.
O código-fonte do contrato desse agregador pode geralmente ser visualizado no explorador de blockchain. Ao chamar métodos específicos no contrato, é possível ver todos os oráculos off-chain incluídos por esse agregador. Cada oráculo off-chain pode fornecer dados de preço em resposta a solicitações de usuários no agregador, chamando métodos específicos. Esses oráculos off-chain são geralmente algumas contas externas (EOA), que não só podem fornecer dados para um agregador de preços de criptomoeda, mas também podem atender a vários agregadores de preços de criptomoedas.
Os contratos on-chain, ao processar os dados fornecidos pela Máquina Oracle, passam por uma série de etapas de validação rigorosas:
Alguns sistemas também introduzem mecanismos adicionais de validação, como comparar os resultados com outras fontes de preços, garantindo que a discrepância esteja dentro de um intervalo aceitável.
Para simplificar ainda mais o processo de utilização e reduzir os custos de governança, alguns projetos introduziram o conceito de "Feed Registry". Isso pode ser entendido como um agregador de múltiplas máquinas Oracle de preços, permitindo que os usuários leiam diretamente os dados de preços de várias criptomoedas, sem necessidade de configurar individualmente cada máquina Oracle de preços.
Na prática, os dados de preços geralmente passam por múltiplas camadas de agregação: agregação de fontes de dados, agregação de operadores de nós e agregação da rede Máquina Oracle. Os dados brutos vêm principalmente de várias plataformas de negociação e são inicialmente processados por prestadores de serviços de agregação de dados especializados. Os operadores de nós obtêm dados de múltiplos prestadores de serviços de agregação de dados independentes e realizam uma segunda agregação. Por fim, toda a rede Máquina Oracle realiza a agregação final dos dados de todos os nós, geralmente utilizando o método da mediana.
É importante notar que nem todas as atualizações de dados são refletidas imediatamente na blockchain. As atualizações na cadeia são acionadas apenas quando a variação de preço ultrapassa um determinado limite ou atinge um intervalo de tempo pré-definido. Embora este mecanismo garanta a fiabilidade dos dados, também resulta numa velocidade de atualização de preços relativamente lenta, que pode variar de alguns minutos a 24 horas. Portanto, este tipo de sistema Máquina Oracle é mais adequado para cenários de aplicação onde a velocidade de atualização de preços não é uma prioridade.