Como a Máquina Oracle se torna a ponte de dados entre Blockchain e o mundo real

robot
Geração do resumo em andamento

Máquina Oracle: a ponte que conecta Blockchain e o mundo real

Na tecnologia Blockchain, a Máquina Oracle desempenha um papel de infraestrutura crucial. É um sistema capaz de fornecer informações externas para contratos inteligentes em cadeia, servindo como middleware entre a Blockchain e o mundo externo. A principal função da Máquina Oracle é fornecer os dados externos necessários para os contratos inteligentes na Blockchain.

Por exemplo, suponha que criamos um contrato inteligente na rede Ethereum que precisa obter dados sobre o volume de transações de petróleo em um determinado dia. Como o contrato inteligente em si não pode acessar diretamente esses dados do mundo real fora da cadeia, é necessário usar uma Máquina Oracle para isso. Neste caso, o contrato inteligente irá registrar os dados necessários do volume de transações de petróleo no log de eventos. Em seguida, um processo fora da cadeia será iniciado para monitorar e assinar esse log de eventos. Quando um pedido na transação for detectado, esse processo irá, por meio da submissão de uma transação na cadeia, chamar os métodos relevantes do contrato e enviar as informações do volume de transações de petróleo para a data especificada de volta ao contrato inteligente.

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

Chainlink: Líder em Máquinas Oracle de Blockchain

No campo das Máquinas Oracle, a Chainlink é sem dúvida o projeto com a maior quota de mercado. Como uma solução de Máquina Oracle descentralizada, o objetivo da Chainlink é fornecer dados gerados no mundo real para a Blockchain da forma mais segura possível. Com base nos princípios básicos das Máquinas Oracle, a Chainlink construiu um ecossistema em torno do token LINK que forma um ciclo virtuoso através de incentivos económicos.

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

A ativação da Máquina Oracle Chainlink requer a transferência do token LINK. LINK é um token de contrato ERC677 baseado na rede Ethereum. As funções da Máquina Oracle realizadas com o token LINK ERC677 pertencem ao modo de solicitação/resposta.

transferAndCall no token ERC677

O padrão ERC677 foi proposto pela Chainlink para se adaptar aos cenários de serviços de Máquina Oracle. Ele adiciona o método transferAndCall à norma ERC20, combinando pagamento e solicitação de serviço em um só, atendendo às necessidades dos cenários de negócios de Máquina Oracle.

Quando os usuários realizam transferências usando transferAndCall, além da transferência ERC20 convencional, também será verificado se o endereço de recebimento é um endereço de contrato. Se for, o método onTokenTransfer desse endereço será chamado. É importante notar que, antes de solicitar serviços de Máquina Oracle, os usuários devem primeiro confirmar a confiabilidade dessa Máquina Oracle, pois os serviços de Máquina Oracle requerem pagamento antecipado.

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

processo de solicitação de oráculo na Blockchain

Quando os consumidores da Máquina Oracle utilizam o método transferAndCall para pagar taxas e solicitar serviços, o método onTokenTransfer no contrato da Máquina Oracle realiza primeiro uma série de verificações de segurança. Isso inclui verificar se a transferência é um token LINK, verificar se o comprimento dos dados excede o limite, validar se os dados contêm o seletor de função correto, entre outros.

Após a verificação de segurança, o contrato gerará um requestId único e definirá o tempo de expiração do pedido. Por fim, o contrato emitirá um evento OracleRequest, que conterá os dados detalhados do pedido.

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

Mecanismo de resposta de nós fora da cadeia

Após receber o evento OracleRequest, o nó fora da cadeia analisará as informações específicas do pedido e obterá os dados necessários através da chamada da API da rede. Em seguida, o nó chamará o método fulfillOracleRequest para submeter os dados na blockchain.

Este método realizará uma série de verificações, incluindo a verificação se o chamador está autorizado, a validação da validade do pedido, entre outras. Após a validação, o contrato registrará o montante de tokens que podem ser retirados e removerá esse requestId do mapeamento de commitments. Por fim, o contrato chamará a função de callback do contrato do solicitante, retornando os dados ao consumidor.

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

Aplicação prática da Máquina Oracle de preços

Para os desenvolvedores, se apenas precisarem usar os dados de preços de pares de moedas existentes, podem usar diretamente a interface Price Feed fornecida pela Chainlink. Cada par de negociação tem um Price Feed separado ( também conhecido como Aggregator ), que na verdade é um contrato AggregatorProxy.

Estas interfaces geralmente oferecem os seguintes métodos de consulta:

  • decimals(): Retorna o número de casas decimais dos dados de preço
  • description(): retorna o nome do par de negociação
  • version(): Identificar o tipo de Agregador que o Proxy aponta
  • getRoundData(_roundId): Obter dados de preço para uma ronda específica
  • latestRoundData(): Obter os dados de preço mais recentes

Na maioria dos cenários de aplicação, o contrato pode precisar apenas de ler o preço mais recente, ou seja, chamar o método latestRoundData(). O parâmetro answer retornado é o preço mais recente.

É importante notar que a maioria dos aplicativos lê os preços dos tokens em USD. Neste caso, a precisão é geralmente unificada em 8 casas decimais, o que simplifica o problema de tratamento de precisão entre diferentes tokens.

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

LINK4.66%
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
  • 7
  • Compartilhar
Comentário
0/400
nft_widowvip
· 16h atrás
Máquina Oracle fantástico Isso não significa que posso andar de lado!
Ver originalResponder0
CountdownToBrokevip
· 16h atrás
Apenas um passageiro na cadeia.
Ver originalResponder0
BlockchainBouncervip
· 16h atrás
Gaga, novamente a explicar o mecanismo da Máquina Oracle!
Ver originalResponder0
StakeTillRetirevip
· 16h atrás
Máquina Oracle esta coisa é realmente boa, meu contrato inteligente não pode ficar sem ela
Ver originalResponder0
FUD_Whisperervip
· 17h atrás
Não consigo nem pagar comida de contrato.
Ver originalResponder0
HalfPositionRunnervip
· 17h atrás
Estes dados de fritura dependem da Máquina Oracle para serem salvos.
Ver originalResponder0
ImpermanentPhilosophervip
· 17h atrás
啧 Outra vez a Máquina Oracle a falar do mesmo.
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)