Análise Técnica da Máquina Oracle: Exemplificando com Chainlink
Na tecnologia blockchain, a Máquina Oracle é a infraestrutura fundamental que fornece dados externos aos contratos inteligentes. Ela atua como uma ponte que conecta o mundo interno da blockchain ao externo, permitindo que os contratos inteligentes acessem informações fora da cadeia.
Por exemplo, se implantarmos um contrato inteligente no Ethereum que precisa obter o volume de transações de petróleo em uma data específica, como o contrato em si não pode acessar diretamente os dados fora da cadeia, é necessário recorrer à Máquina Oracle para realizar essa função. Nesse caso, o contrato inteligente registrará as informações necessárias no log de eventos, e então um processo fora da cadeia ouvirá esse log. Quando o pedido for detectado, o processo transmitirá os dados relevantes ao contrato inteligente através de uma transação na cadeia.
Chainlink é o projeto de Máquina Oracle com a maior quota de mercado atualmente. Ele fornece de forma segura dados do mundo real para a blockchain por meio de uma abordagem descentralizada. Chainlink construiu um ecossistema impulsionado por incentivos econômicos em torno do token LINK. Suas funcionalidades de Máquina Oracle são principalmente acionadas pela transferência de tokens LINK, o que se enquadra na implementação do modo de solicitação/resposta.
O token LINK utiliza o padrão ERC677, que adiciona o método transferAndCall com base no ERC20. Este design atende à demanda do cenário de serviços da Máquina Oracle, combinando pagamento e solicitação de serviços. Quando um usuário chama transferAndCall para realizar uma transferência, além da transferência ERC20 habitual, também verifica se o endereço de recebimento é um endereço de contrato; se for, chama o método onTokenTransfer desse endereço.
Antes de solicitar os serviços da Máquina Oracle, os usuários precisam confirmar a confiabilidade da Máquina Oracle. A confiabilidade da Máquina Oracle normalmente pode ser avaliada com base em seu desempenho histórico, sistema de reputação e mecanismos de colateral.
Quando a Máquina Oracle recebe uma solicitação de serviço, ela realiza uma série de verificações de segurança, incluindo a validação do tipo de token, verificação do comprimento dos dados e do function selector, entre outros. Após as verificações, a Máquina Oracle gera um requestId único, define um tempo de expiração e emite um evento OracleRequest. Este evento contém detalhes sobre a solicitação, como o formato dos dados, o endereço de callback e o método ID, entre outros.
Após o nó off-chain ouvir o evento OracleRequest, ele irá analisar as informações do pedido, obter os dados necessários através da API e, em seguida, chamar o método fulfillOracleRequest para submeter os dados na blockchain. Durante este processo, será realizada uma validação múltipla para garantir a precisão e a atualidade dos dados. Por fim, a Máquina Oracle retornará o resultado ao contrato de pedido através de uma função de callback.
Para os desenvolvedores, a Chainlink também oferece uma maneira mais conveniente de obter dados de preços de pares de moedas comuns. Cada par de negociação tem um Price Feed independente (também conhecido como Agregador), e os desenvolvedores podem chamar diretamente as interfaces desses Feeds para obter informações de preços atualizadas, sem a necessidade de especificar a URL da fonte de dados.
O Price Feed normalmente fornece vários métodos principais:
decimals(): retorna a precisão dos dados de preço
description(): retorna o nome do par de negociação
version(): indica o tipo Aggregator
getRoundData(_roundId): obter dados de preço de uma rodada específica
latestRoundData(): obter os dados de preço mais recentes
Na maioria dos cenários de aplicação, o contrato só precisa chamar o método latestRoundData() para obter o preço mais recente. Para pares de negociação cotados em dólares, a precisão do preço é geralmente padronizada em 8 casas decimais, simplificando o tratamento de precisão entre diferentes tokens.
Desta forma, a Chainlink oferece acesso confiável e em tempo real a dados externos para aplicações blockchain, expandindo enormemente o alcance e o potencial dos contratos inteligentes.
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.
22 Curtidas
Recompensa
22
9
Compartilhar
Comentário
0/400
rugpull_survivor
· 07-28 13:40
Parece fresco, mas ainda precisa ser feito link
Ver originalResponder0
ImpermanentPhobia
· 07-27 09:59
Máquina Oracle jogador zero carne de porco
Ver originalResponder0
AirdropCollector
· 07-26 03:39
link é realmente yyds
Ver originalResponder0
StableGenius
· 07-25 15:51
na verdade, é bastante centralizado se você olhar para os operadores de nó... smh
Ver originalResponder0
MissingSats
· 07-25 15:51
Máquina Oracle eu só confio no link, não toque em mais nada.
Ver originalResponder0
SerumDegen
· 07-25 15:50
perdi metade do meu portfólio em $link mas ainda estou em alta... oráculos ou morte, para ser sincero
Máquina Oracle Chainlink: a ponte que liga Blockchain ao mundo real
Análise Técnica da Máquina Oracle: Exemplificando com Chainlink
Na tecnologia blockchain, a Máquina Oracle é a infraestrutura fundamental que fornece dados externos aos contratos inteligentes. Ela atua como uma ponte que conecta o mundo interno da blockchain ao externo, permitindo que os contratos inteligentes acessem informações fora da cadeia.
Por exemplo, se implantarmos um contrato inteligente no Ethereum que precisa obter o volume de transações de petróleo em uma data específica, como o contrato em si não pode acessar diretamente os dados fora da cadeia, é necessário recorrer à Máquina Oracle para realizar essa função. Nesse caso, o contrato inteligente registrará as informações necessárias no log de eventos, e então um processo fora da cadeia ouvirá esse log. Quando o pedido for detectado, o processo transmitirá os dados relevantes ao contrato inteligente através de uma transação na cadeia.
Chainlink é o projeto de Máquina Oracle com a maior quota de mercado atualmente. Ele fornece de forma segura dados do mundo real para a blockchain por meio de uma abordagem descentralizada. Chainlink construiu um ecossistema impulsionado por incentivos econômicos em torno do token LINK. Suas funcionalidades de Máquina Oracle são principalmente acionadas pela transferência de tokens LINK, o que se enquadra na implementação do modo de solicitação/resposta.
O token LINK utiliza o padrão ERC677, que adiciona o método transferAndCall com base no ERC20. Este design atende à demanda do cenário de serviços da Máquina Oracle, combinando pagamento e solicitação de serviços. Quando um usuário chama transferAndCall para realizar uma transferência, além da transferência ERC20 habitual, também verifica se o endereço de recebimento é um endereço de contrato; se for, chama o método onTokenTransfer desse endereço.
Antes de solicitar os serviços da Máquina Oracle, os usuários precisam confirmar a confiabilidade da Máquina Oracle. A confiabilidade da Máquina Oracle normalmente pode ser avaliada com base em seu desempenho histórico, sistema de reputação e mecanismos de colateral.
Quando a Máquina Oracle recebe uma solicitação de serviço, ela realiza uma série de verificações de segurança, incluindo a validação do tipo de token, verificação do comprimento dos dados e do function selector, entre outros. Após as verificações, a Máquina Oracle gera um requestId único, define um tempo de expiração e emite um evento OracleRequest. Este evento contém detalhes sobre a solicitação, como o formato dos dados, o endereço de callback e o método ID, entre outros.
Após o nó off-chain ouvir o evento OracleRequest, ele irá analisar as informações do pedido, obter os dados necessários através da API e, em seguida, chamar o método fulfillOracleRequest para submeter os dados na blockchain. Durante este processo, será realizada uma validação múltipla para garantir a precisão e a atualidade dos dados. Por fim, a Máquina Oracle retornará o resultado ao contrato de pedido através de uma função de callback.
Para os desenvolvedores, a Chainlink também oferece uma maneira mais conveniente de obter dados de preços de pares de moedas comuns. Cada par de negociação tem um Price Feed independente (também conhecido como Agregador), e os desenvolvedores podem chamar diretamente as interfaces desses Feeds para obter informações de preços atualizadas, sem a necessidade de especificar a URL da fonte de dados.
O Price Feed normalmente fornece vários métodos principais:
Na maioria dos cenários de aplicação, o contrato só precisa chamar o método latestRoundData() para obter o preço mais recente. Para pares de negociação cotados em dólares, a precisão do preço é geralmente padronizada em 8 casas decimais, simplificando o tratamento de precisão entre diferentes tokens.
Desta forma, a Chainlink oferece acesso confiável e em tempo real a dados externos para aplicações blockchain, expandindo enormemente o alcance e o potencial dos contratos inteligentes.