Para evitar falhas de ponto único, um conhecido projeto de blockchain adotou o design de uma Máquina Oracle de preços distribuídos. Tomando como exemplo o serviço de preços do BTC em dólares, este sistema agrega 31 Máquinas Oracle de preços independentes para fornecer dados aos usuários.
Os contratos inteligentes deste agregador podem ser visualizados no explorador de blocos Ethereum. Ao chamar métodos específicos no contrato, é possível obter todas as informações sobre as máquinas Oracle off-chain contidas neste agregador.
Cada Máquina Oracle off-chain pode fornecer dados de preços ao chamar métodos específicos em resposta aos pedidos dos usuários no agregador. Estas Máquinas Oracle são geralmente algumas contas externas (EOA), que não só podem fornecer dados para o agregador BTC/USD, mas também podem simultaneamente fornecer informações de preços para outros pares, como ETH/USD.
O processo de tratamento de contratos na cadeia é aproximadamente o seguinte:
Primeiro, leia o estado atual do contrato e realize uma série de verificações de validade.
Após a verificação, realizar os preparativos necessários.
Em seguida, use métodos criptográficos para verificar cada dado de assinatura, garantindo a autenticidade e integridade dos dados. Também é necessário verificar as permissões de papel do signatário e evitar a reutilização de assinaturas.
Por fim, classifique e filtre os valores observados, selecionando a mediana como resultado final. Certifique-se também de que o resultado não exceda o intervalo de limites pré-definido.
Além disso, o sistema também realizará uma validação adicional dos resultados finais. Por exemplo, em certos cenários de aplicação, os resultados serão comparados com outras fontes de preços (, como os dados de exchanges descentralizadas ), para garantir que a discrepância esteja dentro de uma faixa aceitável.
Centro de Registro de Preços
Para simplificar ainda mais o processo de utilização e aumentar a flexibilidade, o projeto também lançou o centro de registro de fontes de preços (Feed Registry). Isso pode ser visto como um agregador de várias fontes de preços, permitindo que os usuários leiam diretamente os dados de preços necessários através do centro de registro, sem a necessidade de configurar cada fonte de preço para cada token.
Mecanismo de agregação de dados em múltiplos níveis
Os dados de preços do sistema são obtidos através da agregação em múltiplos níveis, incluindo principalmente três níveis:
Agregação de fontes de dados: os dados de preços brutos vêm de várias plataformas de negociação centralizadas e descentralizadas. Alguns provedores de serviços de dados especializados coletam esses dados brutos e realizam cálculos ponderados com base em fatores como volume de negociações e liquidez.
Agregação de operadores de nós: cada operador de nó obtém preços de vários fornecedores de serviços de agregação de dados independentes e usa a mediana para eliminar valores anômalos.
Agregação da rede Máquina Oracle: A agregação é realizada novamente a nível de rede, sendo uma maneira comum obter a mediana após receber um número predefinido de respostas dos nós.
É importante notar que nem todos os resultados de cálculo são atualizados na cadeia. A atualização só é disparada quando condições específicas (, como limiares de desvio ou limiares de batimento cardíaco ), são atendidas. Diferentes fontes de preços podem ter diferentes configurações de parâmetros de atualização.
Em geral, este sistema de Máquina Oracle distribuída tem uma alta segurança e é fácil de usar, mas devido às características do seu mecanismo de atualização, a velocidade de atualização de preços pode ser lenta, variando de alguns minutos a várias horas. Portanto, é mais adequado para cenários de aplicação onde a exigência de atualidade dos preços não é alta, que é também a principal limitação deste sistema atualmente.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
11 gostos
Recompensa
11
5
Partilhar
Comentar
0/400
NFTDreamer
· 07-10 05:11
31 Máquinas Oracle, bom trabalho! Já quase dá para formar um pequeno mercado.
Ver originalResponder0
ProbablyNothing
· 07-09 10:25
O design da Máquina Oracle de preços é bastante elaborado.
Ver originalResponder0
ChainWanderingPoet
· 07-08 19:01
Isso não é ainda centralizado? Para que fazer tanto?
Como as Máquinas Oracle distribuídas garantem a segurança e precisão dos dados de preços da Blockchain
Sistema de Máquina Oracle de Preços Distribuídos
Para evitar falhas de ponto único, um conhecido projeto de blockchain adotou o design de uma Máquina Oracle de preços distribuídos. Tomando como exemplo o serviço de preços do BTC em dólares, este sistema agrega 31 Máquinas Oracle de preços independentes para fornecer dados aos usuários.
Os contratos inteligentes deste agregador podem ser visualizados no explorador de blocos Ethereum. Ao chamar métodos específicos no contrato, é possível obter todas as informações sobre as máquinas Oracle off-chain contidas neste agregador.
Cada Máquina Oracle off-chain pode fornecer dados de preços ao chamar métodos específicos em resposta aos pedidos dos usuários no agregador. Estas Máquinas Oracle são geralmente algumas contas externas (EOA), que não só podem fornecer dados para o agregador BTC/USD, mas também podem simultaneamente fornecer informações de preços para outros pares, como ETH/USD.
O processo de tratamento de contratos na cadeia é aproximadamente o seguinte:
Primeiro, leia o estado atual do contrato e realize uma série de verificações de validade.
Após a verificação, realizar os preparativos necessários.
Em seguida, use métodos criptográficos para verificar cada dado de assinatura, garantindo a autenticidade e integridade dos dados. Também é necessário verificar as permissões de papel do signatário e evitar a reutilização de assinaturas.
Por fim, classifique e filtre os valores observados, selecionando a mediana como resultado final. Certifique-se também de que o resultado não exceda o intervalo de limites pré-definido.
Além disso, o sistema também realizará uma validação adicional dos resultados finais. Por exemplo, em certos cenários de aplicação, os resultados serão comparados com outras fontes de preços (, como os dados de exchanges descentralizadas ), para garantir que a discrepância esteja dentro de uma faixa aceitável.
Centro de Registro de Preços
Para simplificar ainda mais o processo de utilização e aumentar a flexibilidade, o projeto também lançou o centro de registro de fontes de preços (Feed Registry). Isso pode ser visto como um agregador de várias fontes de preços, permitindo que os usuários leiam diretamente os dados de preços necessários através do centro de registro, sem a necessidade de configurar cada fonte de preço para cada token.
Mecanismo de agregação de dados em múltiplos níveis
Os dados de preços do sistema são obtidos através da agregação em múltiplos níveis, incluindo principalmente três níveis:
Agregação de fontes de dados: os dados de preços brutos vêm de várias plataformas de negociação centralizadas e descentralizadas. Alguns provedores de serviços de dados especializados coletam esses dados brutos e realizam cálculos ponderados com base em fatores como volume de negociações e liquidez.
Agregação de operadores de nós: cada operador de nó obtém preços de vários fornecedores de serviços de agregação de dados independentes e usa a mediana para eliminar valores anômalos.
Agregação da rede Máquina Oracle: A agregação é realizada novamente a nível de rede, sendo uma maneira comum obter a mediana após receber um número predefinido de respostas dos nós.
É importante notar que nem todos os resultados de cálculo são atualizados na cadeia. A atualização só é disparada quando condições específicas (, como limiares de desvio ou limiares de batimento cardíaco ), são atendidas. Diferentes fontes de preços podem ter diferentes configurações de parâmetros de atualização.
Em geral, este sistema de Máquina Oracle distribuída tem uma alta segurança e é fácil de usar, mas devido às características do seu mecanismo de atualização, a velocidade de atualização de preços pode ser lenta, variando de alguns minutos a várias horas. Portanto, é mais adequado para cenários de aplicação onde a exigência de atualidade dos preços não é alta, que é também a principal limitação deste sistema atualmente.