Análise da tecnologia Máquina Oracle: o caso do Chainlink
No ecossistema da blockchain, a Máquina Oracle desempenha um papel crucial como infraestrutura, servindo de ponte entre contratos inteligentes na cadeia e o mundo externo. A sua principal função é fornecer dados externos para contratos inteligentes na blockchain.
Por exemplo, se implantássemos um contrato inteligente na rede Ethereum que precisa obter o volume de negociação de petróleo bruto em uma data específica, como o contrato em si não pode acessar diretamente dados fora da cadeia, é necessário usar uma Máquina Oracle para isso. O processo específico é que o contrato inteligente primeiro grava as informações necessárias em um registro de eventos, e em seguida, um processo fora da cadeia escuta e se inscreve nesse registro. Assim que detectar o pedido, esse processo chamará métodos relacionados ao contrato, enviando uma transação na cadeia para fazer upload dos dados do volume de negociação de petróleo bruto na data especificada para o contrato inteligente.
Chainlink é o projeto de Máquina Oracle descentralizado com a maior participação de mercado atualmente. Ele constrói um ecossistema baseado em incentivos econômicos em torno do token LINK, fornecendo dados do mundo real à blockchain da forma mais segura. O acionamento da Máquina Oracle Chainlink requer a transferência de tokens LINK, que é um contrato ERC677 na rede Ethereum.
O padrão ERC677 adiciona o método transferAndCall à base do ERC20, combinando o pagamento e o pedido de serviço em um só, atendendo melhor às necessidades do cenário de negócios da Máquina Oracle. Quando os usuários realizam uma transferência transferAndCall, além da transferência ERC20 convencional, também será verificado se o endereço de destino é um endereço de contrato; se sim, o método onTokenTransfer desse endereço será chamado.
Antes de solicitar o serviço da Máquina Oracle, os usuários precisam confirmar a confiabilidade da Máquina Oracle, uma vez que o pagamento deve ser feito antecipadamente antes de fornecer o serviço. A confiabilidade da Máquina Oracle pode ser avaliada com base em vários fatores, como desempenho histórico, sistema de reputação, entre outros.
Quando a Máquina Oracle recebe um pedido de serviço, realiza uma série de verificações de segurança, incluindo a validação se a transferência é um token LINK, a verificação se o comprimento dos dados está dentro dos limites e a validação do selector da função, entre outros. Após as verificações, a Máquina Oracle emitirá um evento OracleRequest, que contém os detalhes do pedido.
Após o nó off-chain ouvir o evento OracleRequest, ele irá analisar as informações específicas do pedido, obter os dados necessários através de chamadas de API e, em seguida, invocar o método fulfillOracleRequest do contrato Oracle, submetendo os dados na blockchain por meio de uma transação. Por fim, o contrato Oracle retornará os resultados ao solicitante através do endereço de callback e da função registrados anteriormente.
Para os desenvolvedores, se apenas precisarem usar os dados de preço das moedas existentes, podem chamar diretamente a interface Price Feed fornecida oficialmente. Cada par de negociação tem um Price Feed independente (também conhecido como Aggregator), que na verdade é um contrato AggregatorProxy. Ao chamar o método latestRoundData(), podem obter os dados de preço mais recentes, onde o parâmetro answer é o preço mais recente necessário.
Vale a pena notar que os pares de negociação cotados em USD geralmente têm uma precisão de preço padronizada de 8 casas decimais, o que simplifica a complexidade do processamento de precisão entre diferentes tokens.
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.
25 Curtidas
Recompensa
25
8
Repostar
Compartilhar
Comentário
0/400
nft_widow
· 08-12 01:17
Espero que a moeda Link continue até à lua.
Ver originalResponder0
PumpAnalyst
· 08-11 11:40
fazer as pessoas de parvas
Ver originalResponder0
DancingCandles
· 08-11 01:37
Muito profundo, não? Você pode explicar de uma forma mais simples?
Ver originalResponder0
HalfIsEmpty
· 08-11 01:37
Toda a posição curta em LINK, idiotas, venham apoiar.
Ver originalResponder0
WenAirdrop
· 08-11 01:34
明bull啊 Link yyds
Ver originalResponder0
0xLuckbox
· 08-11 01:27
Uau, alguém entende como a Máquina Oracle funciona sem chain?
Análise do Chainlink: Arquitetura técnica e aplicações da Máquina Oracle do Blockchain
Análise da tecnologia Máquina Oracle: o caso do Chainlink
No ecossistema da blockchain, a Máquina Oracle desempenha um papel crucial como infraestrutura, servindo de ponte entre contratos inteligentes na cadeia e o mundo externo. A sua principal função é fornecer dados externos para contratos inteligentes na blockchain.
Por exemplo, se implantássemos um contrato inteligente na rede Ethereum que precisa obter o volume de negociação de petróleo bruto em uma data específica, como o contrato em si não pode acessar diretamente dados fora da cadeia, é necessário usar uma Máquina Oracle para isso. O processo específico é que o contrato inteligente primeiro grava as informações necessárias em um registro de eventos, e em seguida, um processo fora da cadeia escuta e se inscreve nesse registro. Assim que detectar o pedido, esse processo chamará métodos relacionados ao contrato, enviando uma transação na cadeia para fazer upload dos dados do volume de negociação de petróleo bruto na data especificada para o contrato inteligente.
Chainlink é o projeto de Máquina Oracle descentralizado com a maior participação de mercado atualmente. Ele constrói um ecossistema baseado em incentivos econômicos em torno do token LINK, fornecendo dados do mundo real à blockchain da forma mais segura. O acionamento da Máquina Oracle Chainlink requer a transferência de tokens LINK, que é um contrato ERC677 na rede Ethereum.
O padrão ERC677 adiciona o método transferAndCall à base do ERC20, combinando o pagamento e o pedido de serviço em um só, atendendo melhor às necessidades do cenário de negócios da Máquina Oracle. Quando os usuários realizam uma transferência transferAndCall, além da transferência ERC20 convencional, também será verificado se o endereço de destino é um endereço de contrato; se sim, o método onTokenTransfer desse endereço será chamado.
Antes de solicitar o serviço da Máquina Oracle, os usuários precisam confirmar a confiabilidade da Máquina Oracle, uma vez que o pagamento deve ser feito antecipadamente antes de fornecer o serviço. A confiabilidade da Máquina Oracle pode ser avaliada com base em vários fatores, como desempenho histórico, sistema de reputação, entre outros.
Quando a Máquina Oracle recebe um pedido de serviço, realiza uma série de verificações de segurança, incluindo a validação se a transferência é um token LINK, a verificação se o comprimento dos dados está dentro dos limites e a validação do selector da função, entre outros. Após as verificações, a Máquina Oracle emitirá um evento OracleRequest, que contém os detalhes do pedido.
Após o nó off-chain ouvir o evento OracleRequest, ele irá analisar as informações específicas do pedido, obter os dados necessários através de chamadas de API e, em seguida, invocar o método fulfillOracleRequest do contrato Oracle, submetendo os dados na blockchain por meio de uma transação. Por fim, o contrato Oracle retornará os resultados ao solicitante através do endereço de callback e da função registrados anteriormente.
Para os desenvolvedores, se apenas precisarem usar os dados de preço das moedas existentes, podem chamar diretamente a interface Price Feed fornecida oficialmente. Cada par de negociação tem um Price Feed independente (também conhecido como Aggregator), que na verdade é um contrato AggregatorProxy. Ao chamar o método latestRoundData(), podem obter os dados de preço mais recentes, onde o parâmetro answer é o preço mais recente necessário.
Vale a pena notar que os pares de negociação cotados em USD geralmente têm uma precisão de preço padronizada de 8 casas decimais, o que simplifica a complexidade do processamento de precisão entre diferentes tokens.