Design e implementação de uma Máquina Oracle de preços distribuídos
Para evitar pontos únicos de falha e melhorar a fiabilidade, alguns sistemas de Máquina Oracle adotaram um design distribuído. Tomando como exemplo uma Máquina Oracle conhecida, o seu serviço de preços BTC/USD agregou 31 fontes de preços independentes.
O design do contrato deste agregador permite que múltiplas máquinas Oracle off-chain forneçam dados de preços. Cada máquina Oracle é uma conta externa independente que pode submeter dados ao agregador por meio de métodos específicos. Essas máquinas Oracle não apenas fornecem dados para BTC/USD, mas também podem servir simultaneamente a outros pares de preços.
O contrato agregador realiza uma série de validações ao processar os dados enviados:
Primeiro, verifique se o estado atual do contrato e os parâmetros atendem aos requisitos.
Em seguida, valide cada assinatura para garantir que os dados são provenientes de signatários autorizados e verifique se há assinaturas duplicadas.
Ordenar os valores observados e selecionar a mediana como resultado final, garantindo ao mesmo tempo que este resultado não exceda o limite pré-definido.
Por fim, registre os resultados no estado do contrato e possivelmente realize validações cruzadas adicionais.
Para simplificar ainda mais o processo de integração, alguns sistemas também oferecem a funcionalidade "Feed Registry". Isso equivale a um agregador de fontes de preços, onde os usuários não precisam configurar individualmente a fonte de preços de cada token, podendo ler diretamente os dados de preços de vários tokens através do Registry.
No mecanismo de alimentação de preços, geralmente há uma agregação de dados em múltiplas camadas:
Camada de fonte de dados: integrar os dados brutos de várias plataformas de negociação.
Nível de operadores de nós: cada nó obtém dados de vários serviços de agregação de dados e calcula a mediana.
Camada de rede: os dados de vários nós são novamente agregados, geralmente utilizando a mediana.
A atualização final do preço geralmente precisa atender a um limiar de desvio ou limiar de batimento cardíaco para ser acionada. Este mecanismo garante a confiabilidade dos dados, mas também resulta em atualizações de preço relativamente lentas, sendo mais adequado para cenários de aplicação onde a exigência de tempo real não é alta.
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.
19 Curtidas
Recompensa
19
4
Compartilhar
Comentário
0/400
EthMaximalist
· 5h atrás
O median está aceitável? Parece um pouco astuto.
Ver originalResponder0
ser_ngmi
· 07-17 19:47
Forte! Confiável!
Ver originalResponder0
OldLeekConfession
· 07-15 22:40
Esta tecnologia é muito cara, não acha? O velho está tonto.
Como a Máquina Oracle distribuída agrega dados de múltiplas fontes para fornecer preços confiáveis
Design e implementação de uma Máquina Oracle de preços distribuídos
Para evitar pontos únicos de falha e melhorar a fiabilidade, alguns sistemas de Máquina Oracle adotaram um design distribuído. Tomando como exemplo uma Máquina Oracle conhecida, o seu serviço de preços BTC/USD agregou 31 fontes de preços independentes.
O design do contrato deste agregador permite que múltiplas máquinas Oracle off-chain forneçam dados de preços. Cada máquina Oracle é uma conta externa independente que pode submeter dados ao agregador por meio de métodos específicos. Essas máquinas Oracle não apenas fornecem dados para BTC/USD, mas também podem servir simultaneamente a outros pares de preços.
O contrato agregador realiza uma série de validações ao processar os dados enviados:
Primeiro, verifique se o estado atual do contrato e os parâmetros atendem aos requisitos.
Em seguida, valide cada assinatura para garantir que os dados são provenientes de signatários autorizados e verifique se há assinaturas duplicadas.
Ordenar os valores observados e selecionar a mediana como resultado final, garantindo ao mesmo tempo que este resultado não exceda o limite pré-definido.
Por fim, registre os resultados no estado do contrato e possivelmente realize validações cruzadas adicionais.
Para simplificar ainda mais o processo de integração, alguns sistemas também oferecem a funcionalidade "Feed Registry". Isso equivale a um agregador de fontes de preços, onde os usuários não precisam configurar individualmente a fonte de preços de cada token, podendo ler diretamente os dados de preços de vários tokens através do Registry.
No mecanismo de alimentação de preços, geralmente há uma agregação de dados em múltiplas camadas:
A atualização final do preço geralmente precisa atender a um limiar de desvio ou limiar de batimento cardíaco para ser acionada. Este mecanismo garante a confiabilidade dos dados, mas também resulta em atualizações de preço relativamente lentas, sendo mais adequado para cenários de aplicação onde a exigência de tempo real não é alta.