Sistema de Máquina Oracle de Preços Distribuídos: Agregação em Múltiplas Camadas e Otimização do Feed Registry

robot
Geração do resumo em andamento

Sistema de Máquina Oracle de Preços Distribuídos

Para evitar falhas de ponto único, alguns serviços de Máquina Oracle adotaram um design distribuído. Tomando como exemplo o serviço que fornece o preço do BTC em dólares, uma plataforma de Máquina Oracle conhecida agrega 31 fontes de preços para oferecer serviços aos usuários.

O código-fonte do contrato deste agregador pode ser visualizado no explorador de blocos do Ethereum. Ao chamar o método transmitters no contrato, é possível ver todos os oráculos off-chain que este agregador contém.

Cada Máquina Oracle off-chain pode fornecer dados de preços chamando o método transmit, em resposta aos pedidos dos usuários no agregador. Essas Máquinas Oracle off-chain são algumas contas externas (EOA), que não apenas fornecem dados de preços para o agregador BTC/USD, mas também podem fornecer dados de preços para outros agregadores (, como ETH/USD).

O processo de tratamento de contratos em blockchain é aproximadamente o seguinte:

  1. Primeiro, leia o estado atual do contrato e realize uma série de verificações.

  2. Após a verificação, faça alguns preparativos.

  3. Em seguida, use ecrecover() para verificar cada dado de assinatura, validando se o valor hash corresponde ao hash feito por _report. Ao mesmo tempo, verifique se o papel do signatário é Signer e também verifique a duplicidade da assinatura.

  4. Por fim, verifique se os valores observados estão ordenados. Selecione a mediana median dos valores observados ordenados e assegure-se de que a mediana não exceda os dois limites superiores e inferiores. Se não houver problemas, registre a resposta da Máquina Oracle desta transmissão em s_transmissions. Além disso, também deve verificar a resposta.

Aqui, após uma série de chamadas, finalmente será chamada o método validate do contrato de uma Máquina Oracle de determinado preço. O ponto chave é comparar se a variação de preço fornecida pelas duas máquinas oracle está dentro de um intervalo aceitável.

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

Registro de Feed

Para aumentar a flexibilidade e reduzir os custos de governança, algumas plataformas lançaram o Feed Registry. Pode ser entendido como um agregador de PriceFeeds, já que agregou vários priceFeeds. Com isso, os usuários não precisam configurar o priceFeed por conta própria, podendo acessar os dados de preços diretamente através do Feed Registry.

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

mecanismo de oferta

O preço da Máquina Oracle é geralmente obtido através da agregação de dados em múltiplos níveis, que inclui a agregação de fontes de dados, a agregação de operadores de nós e a agregação da rede de oráculos.

Os dados de preços mais originais vêm principalmente de várias plataformas de negociação centralizadas e descentralizadas. Alguns prestadores de serviços de agregação de dados especializados coletam dados de preços brutos dessas plataformas e os processam e integram, como calculando pesos com base em volume de negociação, liquidez e diferença de tempo. Esta é a agregação da fonte de dados de primeiro nível.

A segunda camada é a agregação dos operadores de nó. Cada operador de nó é responsável por executar o software central, obter dados de preços de vários prestadores de serviços de agregação de dados independentes, calcular a mediana, eliminar valores anómalos e o tempo de inatividade da API.

A última camada é a agregação de toda a Máquina Oracle, a forma comum é calcular a mediana dos dados quando o número de nós de resposta atinge um valor pré-definido.

As atualizações de preços normalmente precisam atender a um dos dois parâmetros de gatilho: o limiar de desvio ou o limiar de heartbeat. Os valores desses dois parâmetros podem ser diferentes em diferentes fontes de preços.

De um modo geral, algumas plataformas de Máquina Oracle conhecidas têm uma integração de preços que é conveniente e segura, mas devido à existência de um limite de desvio no mecanismo de atualização de preços, as atualizações são mais lentas, sendo adequadas para aplicações que não são muito sensíveis a atualizações de preços. Esta também é a sua limitação, não podendo ser aplicada a todos os cenários.

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

LINK3.76%
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
  • 6
  • Compartilhar
Comentário
0/400
WealthCoffeevip
· 08-02 23:24
Distribuído é interessante, finalmente não preciso mais olhar a cara das pessoas.
Ver originalResponder0
HashBrowniesvip
· 08-02 07:13
31 fontes de dados, parece que não são suficientes~
Ver originalResponder0
RektDetectivevip
· 08-02 07:08
O dia todo a ver instituições a despirem-se. Já chega de ver isso?
Ver originalResponder0
GasFeeCriervip
· 08-02 07:00
Boa rapaz, estou tonto de tanto ver gás pequeno príncipe
Ver originalResponder0
NFTArchaeologisvip
· 08-02 06:57
na cadeia código lê-se como uma escrita elegante de lacre.
Ver originalResponder0
MEV_Whisperervip
· 08-02 06:56
Agregar tanto tem alguma utilidade? Continua a não ser preciso.
Ver originalResponder0
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)