Análise da Máquina Oracle Distribuída: Como a Agregação Múltipla Garante a Precisão dos Dados de Preço na Cadeia

robot
Geração do resumo em andamento

Mecanismo de trabalho da Máquina Oracle de preços distribuídos

Para evitar falhas de ponto único e aumentar a confiabilidade, os sistemas modernos de preços de Máquina Oracle adotam um design distribuído. Tomando como exemplo um conhecido serviço de Máquina Oracle, os dados de preços BTC/USD são agregados a partir das entradas de 31 nós de Máquina Oracle independentes.

O contrato inteligente deste agregador pode ser visualizado publicamente no explorador de blockchain Ethereum. Ao chamar o método transmitters no contrato, os usuários podem obter a lista de todos os nós de máquina Oracle off-chain que este agregador contém.

Cada nó de Máquina Oracle fora da cadeia pode fornecer dados de preços ao agregador chamando o método transmit, em resposta ao pedido do usuário. Esses nós geralmente são contas de propriedade externa (EOA), que podem simultaneamente fornecer dados para vários pares de preços diferentes (, como BTC/USD, ETH/USD, etc. ).

O contrato do agregador on-chain, ao receber os dados do nó da Máquina Oracle, executará uma série de etapas de validação:

  1. Primeiro, leia o estado atual do contrato e faça uma verificação básica.

  2. Em seguida, faça os preparativos necessários.

  3. Utilizar ecrecover() para verificar cada dado de assinatura, garantindo que o valor hash seja consistente com _report. Ao mesmo tempo, verificar se o papel do signatário é Signer e prevenir assinaturas duplicadas.

  4. Por fim, verifique se os valores observados estão ordenados, escolha a mediana como resultado final e assegure-se de que o resultado está dentro da faixa de limiar pré-definida.

Após a aprovação de todas as verificações, o contrato registrará a resposta da Máquina Oracle na s_transmissions. Além disso, a resposta será sujeita a uma validação adicional, como a comparação com outras fontes de preços (, como o preço de某DEX ), para garantir que a variação esteja dentro de uma faixa aceitável.

Máquina Oracle详解系列之 Chainlink(下)

Feed Registry processo de acesso simplificado

Para simplificar ainda mais o processo de integração e reduzir os custos de governança, alguns serviços de Máquina Oracle forneceram o Feed Registry. Isso pode ser entendido como um agregador de PriceFeeds, que já integrou várias fontes de preços de diferentes ativos. Com o Feed Registry, os desenvolvedores não precisam configurar priceFeed separadamente para cada ativo, podendo ler diretamente os dados de preços de vários ativos através de uma interface unificada.

Máquina Oracle detalhada série Chainlink (parte II)

Mecanismo de agregação de dados em múltiplos níveis

Serviços de previsão de preços de alta qualidade normalmente utilizam um mecanismo de agregação de dados em múltiplos níveis, que inclui principalmente três níveis: agregação de fontes de dados, agregação de operadores de nós e agregação de redes Máquina Oracle.

  1. Agregação de fontes de dados: os dados de preços brutos vêm de várias plataformas de negociação centralizadas e descentralizadas. Provedores de serviços de agregação de dados especializados coletam esses dados brutos e realizam cálculos ponderados com base em fatores como volume de negociação e liquidez, formando um resultado agregado preliminar.

  2. Agregação de operadores de nós: cada operador de nó da Máquina Oracle obtém dados de preços de vários prestadores de serviços de agregação de dados independentes, seleciona a mediana e elimina valores anômalos, formando a cotação desse nó.

  3. Agregação da rede Máquina Oracle: A camada de rede irá agregar novamente os dados de todos os nós, sendo que o método comum é tomar a mediana após receber um número predefinido de respostas dos nós.

Quando o preço final é atualizado na cadeia, deve ainda satisfazer condições como o limite de desvio ou o limite de batimento cardíaco. Este mecanismo de agregação em múltiplos níveis aumenta significativamente a precisão e a fiabilidade dos dados.

No entanto, devido à existência de um mecanismo de limiar de desvio, as atualizações de preços de certas Máquinas Oracle podem ser relativamente lentas, variando de alguns minutos a várias horas. Isso torna-as mais adequadas para cenários de aplicação que são menos sensíveis a atualizações de preços, podendo não ser adequadas para todos os tipos de aplicações descentralizadas. Os desenvolvedores precisam avaliar as vantagens e limitações dos serviços de Máquina Oracle ao escolher, fazendo uma escolha com base nas necessidades específicas da aplicação.

Máquina Oracle详解系列之 Chainlink(下)

Máquina Oracle详解系列之 Chainlink(下)

Máquina Oracle详解系列之 Chainlink(下)

Máquina Oracle详解系列之 Chainlink(下)

Máquina Oracle详解系列之 Chainlink(下)

Máquina Oracle详解系列之 Chainlink(下)

Máquina Oracle详解系列之 Chainlink(下)

Máquina Oracle详解系列之 Chainlink(下)

Máquina Oracle详解系列之 Chainlink(下)

Máquina Oracle详解系列之 Chainlink(下)

LINK0.39%
Ver original
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.
  • Recompensa
  • 5
  • Compartilhar
Comentário
0/400
AirdropGrandpavip
· 3h atrás
Quem é o verdadeiro formador de preços?
Ver originalResponder0
GateUser-a606bf0cvip
· 4h atrás
Dados da Máquina Oracle confiáveis são o núcleo
Ver originalResponder0
MetaverseVagabondvip
· 4h atrás
Já estou a jogar com a Máquina Oracle há muito tempo, vocês é que estão a ver.
Ver originalResponder0
ForkTonguevip
· 4h atrás
Não acredito! Os dados ainda precisam ser agregados?
Ver originalResponder0
SerNgmivip
· 4h atrás
Agora é tão complicado assim?
Ver originalResponder0
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)