Em se tratando de um mercado relativamente retraído, a demanda por máquinas oraculares vem apresentando uma tendência de crescimento exponencial.
Falando: Frank, engenheiro de relações com desenvolvedores, Chainlink Labs
Organização: aididiaojp.eth, Foresight News
Sou Frank, engenheiro de relações com desenvolvedores no Chainlink Labs. Meu trabalho principal é permitir que mais desenvolvedores, ou construtores apaixonados por esse setor, aprendam mais sobre as máquinas oracle. Com base nos contratos inteligentes em nossa infraestrutura atual, podemos considerá-lo um contrato inteligente híbrido. Os contratos inteligentes podem ser melhor integrados com vários dados no mundo Web2, incluindo serviços de computação e, com base nessa arquitetura, as coisas que os contratos inteligentes na cadeia podem fazer são bastante expandidas.
No compartilhamento de hoje, apresentarei primeiro o conceito de máquina oráculo e, com base no conceito de máquina oráculo, apresentarei brevemente a rede de máquinas oracle descentralizada e alguns serviços que podemos fornecer, incluindo serviços de dados e serviços de computação.
O que é um oráculo?
Da Web 1 à Web 2 à Web 3, o estado da rede e dos dados muda constantemente. No início, Web1 era um serviço de website cujos dados só podiam ser lidos estaticamente. Quando se desenvolveu para o estágio Web2, os dados tornaram-se legíveis, graváveis e participativos. Muitas grandes empresas criaram impérios de negócios com base em seus próprios serviços. Eles armazenarão todos os dados do usuário em seus próprios bancos de dados. Se necessário, eles podem realmente possuir e modificar os dados do usuário. Nesse caso surge uma dúvida, ou seja, alguns dados que criamos na internet ou no mundo virtual as vezes tem algum valor, então a quem pertence esse valor? Com base nesse histórico, esperamos poder resolver bem esse problema na etapa Web 3. Todos os dados no estágio Web 3 não existem em um servidor ou em um nó.Ele possui uma rede descentralizada, e a rede descentralizada é um sistema multi-livro composto por vários nós. Os dados são armazenados em vários nós e somente quando cada nó concorda com a modificação e armazenamento de dados, os dados finais podem ser salvos. Então isso vai nos trazer um benefício, ou seja, não importa qual modificação queremos fazer nos dados, precisamos modificá-los de acordo com o consenso pré-acordado. Por exemplo, se eu quiser modificar o saldo da carteira, se ninguém me enviar dinheiro, não importa como o proprietário dos dados queira modificá-lo, ele acabará falhando no processo de consenso, o que torna o saldo da carteira incapaz de ser modificado. Somente quando o titular dos dados envia uma transação que esteja em conformidade com as regras, os dados podem ser finalmente modificados, o que traz um benefício muito óbvio. Ao mesmo tempo, também traz algumas desvantagens, sendo que a maior desvantagem é que torna o sistema um sistema determinístico. Ou seja, como haverá um processo de consenso ao longo do processo, ele só poderá realizar operações que outros possam verificar. Quando você envia uma operação, outros precisam executar sua operação e, se outros nós executarem a operação com sucesso, eles poderão retornar o resultado. Quanto a ser mais de 50% ou 70%, depende do algoritmo de consenso. No final, a operação pode ser gravada na transação e a transação pode ser gravada no bloco para se tornar uma transação completa.
Mas se precisarmos fazer algumas operações não determinísticas, como obter alguns dados da API e gerar números aleatórios fora do blockchain, o sistema blockchain determinístico não poderá ser concluído. Nosso sorteio de loteria precisa gerar números aleatórios, ou o protocolo on-chain precisa saber o preço do ativo fora da cadeia, como adquirir o preço de ações ou commodities, que é uma operação não determinística e não pode ser concluída pela própria blockchain . Outro exemplo são as chamadas de API. Se eu, como um nó na rede, chamar dados externos da API e depois informar a outros nós da rede o resultado, outros nós também o executarão para verificar a autenticidade do resultado. Faça a mesma operação e obter um resultado. Mas para uma API externa, se pessoas diferentes buscarem a mesma API em momentos diferentes, o servidor pode desligar, ou o serviço pode ser suspenso, ou os dados podem mudar com o tempo. Você faz a mesma coisa em momentos diferentes e os resultados obtidos são inconsistentes. Enquanto o resultado for inconsistente, a operação final não pode ser inserida em um bloco e não há como completá-la. Isso ocorre depois que temos a propriedade dos dados, também precisamos arcar com algumas das deficiências que isso traz.
Para resolver esse problema, precisamos contar com oráculos. A blockchain é um sistema isolado e determinístico. Não pode obter dados ativamente de fora da cadeia. O surgimento da máquina oráculo é para resolver este problema. Há dois ou três anos surgiu o conceito da máquina oráculo, mas naquela época não havia muitos cenários aplicáveis, e tinha grandes limitações. Por exemplo, quando você deseja obter alguns dados de mercado, fazer upload de dados de estoque para a rede blockchain ou criar uma estrutura para colocar lógica na cadeia para execução, mas colocar o lado do ativo na cadeia e proteger o andamento normal das transações por meio de contratos inteligentes, etc., Neste momento, alguns dados precisam ser obtidos da cadeia, e a sincronização de dados precisa ser realizada periodicamente, incluindo pagamento bancário ou dados de varejo, e até mesmo alguns outros dados de eventos públicos, como condições climáticas, geografia informação, informação logística, informação desportiva, etc. Resultados de jogos, etc. Estes dados não podem ser obtidos sem a máquina oráculo. Isso tornará a ecologia na cadeia muito limitada. Com o desenvolvimento contínuo do ecossistema da Web 3, o vínculo entre os dois mundos da Web 3 e da Web 2 ficará cada vez mais próximo. Se quisermos que o Web3 seja adotado em larga escala, ou seja usado por mais pessoas, ele deve fornecer funções muito ricas, não apenas limitadas a algumas operações que só podem ser feitas através dos dados originais da cadeia.
A máquina oráculo provavelmente se tornou popular em 2020, quando era DeFiSummer, e a maioria das pessoas percebeu isso. No início, a máquina oráculo fazia coisas muito simples. Por exemplo, se você deseja obter dados externos e enviá-los para a rede descentralizada, ou seja, o blockchain, a maneira mais fácil é estabelecer um nó centralizado na cadeia, que é, construir um servidor, obter dados através do servidor e, finalmente, gravar os dados na rede blockchain desduplicada, então esse modelo é chamado de oráculo centralizado. Apesar de ser relativamente simples de implementar, trará alguns problemas, por exemplo, tem o risco de um único ponto de falha, ou seja, o nó centralizado pode causar downtime por motivos próprios básicos. Outra possibilidade é que, se o serviço fornecido pelo contrato inteligente na cadeia depender dos dados fornecidos pelo nó centralizado e se a quantidade de fundos envolvida no contrato inteligente na cadeia for muito grande, essa máquina oracle centralizada pode passar seus próprios dados que podem ser manipulados para lançar um ataque ao serviço. Contanto que os benefícios sejam grandes o suficiente e não haja como alcançar a integridade por meios técnicos, esse é um ponto único de falha. Queremos colocar o aplicativo na rede descentralizada, incluindo Ethereum ou outros ecossistemas da camada 2. Na verdade, também esperamos poder garantir a justiça de nosso aplicativo, ou seja, o contrato inteligente, por meio de centenas ou milhares de nós oracle em a rede e a segurança.
Obviamente, se dependermos de nós centralizados para obter terminais de dados, mesmo que outros aspectos de segurança possam ser garantidos, mas o terminal de dados de ativos mais importante não pode garantir a segurança, isso tornará todo o dApp sem sentido. Portanto, após a máquina oracular centralizada, há uma rede de máquinas oracle descentralizada, que pode resolver o risco de ponto único de falha que acabamos de mencionar. A maior diferença na rede oracle descentralizada não é que um único nodo oracle presta serviços para a rede descentralizada, mas sim através da rede oracle descentralizada. A rede oracle pode obter dados por meio de suas próprias fontes de dados e, após obter os resultados, pode realizar a agregação de dados com outras redes descentralizadas, o que também pode ser entendido como um processo de consenso, inclusive verificando se os dados existem nós ou se o os dados retornados desviam muito do valor médio ou simplesmente fazem um valor médio, agregam os dados etc. e, em seguida, gravam-nos na rede descentralizada. Um dos benefícios trazidos por esse método é que tecnicamente ele pode garantir que o serviço não será interrompido a menos que todos os nós da rede oracle descentralizada parem de servir, mas essa possibilidade é muito baixa. Além disso, do lado dos dados, também pode ser garantido que os dados fornecidos pelo oráculo ao contrato na cadeia não sejam controlados por um único nó, mas por vários nós. Se você quiser manipular dados para lançar um ataque, o custo será muito alto, o que equivale a atacar a Camada 2, ou mesmo uma rede descentralizada como a Ethereum, que basicamente dificilmente terá sucesso.
A rede descentralizada pode melhorar muito a segurança e a justiça dos dados recebidos por contratos inteligentes. Para os usuários, somos apenas uma rede oracle descentralizada, mas com base na rede oracle descentralizada, podemos fornecer alguns outros serviços, como serviços de dados, serviços de computação e serviços de cadeia cruzada. Se for baseado na máquina oracle para fornecer dados à rede, de fato, existem algumas operações mais complexas e caras que também podem ser concluídas off-chain, ou seja, é empacotado para a rede oracle off-chain para cálculo , e então escrito de volta para o blockchain alto de comparação de segurança. Se podemos obter dados fora da cadeia, também podemos obter dados de outras cadeias e gravá-los neste blockchain, que na verdade envolve cadeia cruzada. Contanto que a segurança da rede oracle descentralizada seja forte o suficiente, ela pode garantir a segurança dos serviços de dados, serviços de computação e serviços de cadeia cruzada baseados nela. A Chainlink fornece uma variedade de serviços baseados em oráculos descentralizados, que podem conectar dados da Web 3 e da Web 2, incluindo dados da camada 1 e da camada 2, para que todos possam obter o máximo possível de dados e serviços correspondentes.
Quais são os serviços prestados pelos oráculos Chainlink?
Em seguida, deixe-me apresentar brevemente os serviços fornecidos pelos oráculos Chainlink. Claro, existem muitos serviços baseados no Chainlink, e vou compartilhar alguns serviços com cenários mais aplicáveis.
Se você quiser fazer algumas inovações nas áreas de DeFi, GameFi, NFT e SocialFi no futuro, há uma grande probabilidade de precisar de um oráculo para obter dados. Porque você deve obter dados da cadeia de maneira muito descentralizada e segura e gravá-los de volta em seu contrato inteligente na cadeia.
O primeiro serviço é o feed de preços, que também pode ser um termo que você costuma ouvir antes, e vai explodir no DeFiSummer em 2020. Em 2020, muitos projetos DeFi apareceram, começando com Uniswap, seguido pelo contrato de empréstimo Compound e depois o projeto de ativos sintéticos Synthetics e outras aplicações. Todos eles têm uma grande demanda por dados fora da cadeia, porque apenas dados baseados em segurança podem ser Os dados podem ser utilizados pelos usuários de forma descentralizada por meio de contratos, sendo importante o serviço de feed de preços da oracle.
A figura acima é o fluxograma básico do serviço de feed de preços, que inclui 3 participantes importantes. A primeira é a rede descentralizada de máquinas oraculares que acabamos de mencionar; a segunda são os provedores de dados, que podem ser bolsas ou outras grandes instituições autorizadas, todas podendo servir como provedores de dados; a terceira é um contrato de usuário. O processo mostrado na figura acima é muito simples. Cada provedor de dados pode fornecer um nó da rede oracle Chanlink por meio da interface ou serviço da fonte de dados, e cada nó da rede oracle também pode obter dados de acordo com seu próprio serviço. , e então, através do processo de agregação, os dados obtidos por cada canal são gravados no contrato de verificação implantado na cadeia. Se passar na verificação, os dados podem ser gravados e usados pelos usuários no futuro, esse é todo o processo. O cliente só precisa usar o contrato para obter e usar vários dados.
Existem muitos casos de uso para alimentação de preços, como o Compound, Uniswap e Synthetics que mencionamos agora, eles precisam mapear os ativos em Web2 para Web3 e precisam de mecanismos externos para fornecer preços de ativos. Assim como um stablecoin, ele é baseado em quantos ativos podem emitir tantos stablecoins, e seu preço de ativo também deve ser obtido com base na máquina oráculo. Além disso, como algumas plataformas de gerenciamento de ativos e aplicativos populares de negociação de derivativos, eles são altamente dependentes de preços, portanto, são usuários importantes de serviços de alimentação de preços. Do ponto de vista da tendência, a demanda por serviços de feed de preços está aumentando exponencialmente. O uso de dados vem crescendo mesmo em mercados menos ativos.
Em seguida, apresentarei o segundo serviço mais distinto, Any API. Simplificando, ele ajuda os contratos inteligentes na cadeia a obter alguns dados não padrão, como alguns dados de cauda longa. Esses dados podem estar disponíveis apenas para determinadas pessoas ou determinados contratos, mas não são dados padrão, como preços de tokens ou preços de ativos. Muitos DApps exigem dados fora do padrão, por exemplo, aplicativos de negócios de seguros da Web 3 precisam obter dados meteorológicos ou dados de atraso de voo. Por exemplo, o gás de efeito estufa pode fazer alguns projetos semelhantes ao ESG, incluindo jogos de esportes eleitorais que podem ser combinados com mercados de previsão. Fornecemos mercados de dados com base em qualquer API. Em cada mercado de dados, existem vários provedores de dados que fornecem serviços externos com base em seus próprios dados. Desde que o usuário envie uma solicitação, ele pode gravar os dados de volta no contrato do usuário de acordo com os requisitos de serviço. Tanto o provedor de dados quanto o receptor de dados são determinados pelo mercado. Existe um mercado para usuários e provedores de dados, e a Chainlink não monopoliza oficialmente todos os dados e fornece dados para a cadeia.
O fluxo de trabalho de Any API e feed de preços é realmente bastante consistente. O contrato primeiro envia uma solicitação e, em seguida, a solicitação será descoberta pelos nós do Chanlink. Após a descoberta, o Chanlink pode selecionar os dados necessários de acordo com a solicitação e, em seguida, gravá-los de volta no blockchain. AnyAPI pode fornecer aos usuários uma variedade de dados, mas tem uma característica que, embora seja construída de forma relativamente rápida, é fornecida por um único nó. O que o AnyAPI quer fazer é obter dados o mais rápido possível de maneira simples, em vez de obter dados por meio da máquina oracle de rede descentralizada que mencionamos anteriormente.
Mais tarde, à medida que a diversidade de requisitos de dados aumentou, muitos dados não padronizados também esperavam ser gravados de volta na cadeia de maneira descentralizada. Também criamos um novo serviço chamado Functions no início de abril deste ano, que simplesmente executa qualquer solicitação do usuário por meio de uma rede oracle descentralizada. Os usuários podem usar alguma linguagem de programação avançada, como Java, para escrever o programa de operação, não pode mais ser escrito apenas na linguagem Solidity, o programa escrito em Java é definitivamente mais abundante que o Solidity. O serviço Functions pode encapsular o programa escrito em uma solicitação e enviá-lo para toda a rede oracle. Cada nó da rede realizará a mesma operação, que pode ser serviços de computação, serviços de aquisição de dados ou outros serviços. Depois que cada nó é executado e obtém o resultado, ele passa pelo processo de agregação que acabamos de mencionar e o grava de volta no contrato inteligente.
Comparado com o preço da ração, seu grau de liberdade é muito alto. Ou seja, o contrato inteligente pode receber uma interface externa para usar qualquer método que desejar. Ele também pode escrever parte da lógica que tem que fazer no contrato, e então não é executado pelo blockchain, mas pela máquina oracle, o que equivale a incorporar diretamente o serviço da máquina oracle no contrato inteligente, tornando-se um híbrido tipo de contrato inteligente. Se você fizer desta forma, então sua execução é garantida através da rede descentralizada, e suas operações não determinísticas são operações que não podem ser feitas no blockchain, e podem ser realizadas através da máquina oracle descentralizada A rede executa e retorna o resultado . No geral, pode melhorar muito a funcionalidade dos contratos inteligentes. As funções que ele pode fazer serão mais abundantes do que antes e também é muito simples de aplicar no lado do cliente. Você só precisa adicionar duas funções ao seu contrato e pode usar diretamente a rede oracle descentralizada como parte de seu smart contrato. de usar. E também é muito amigável para programadores Web2 tradicionais, pois a lógica de execução pode ser completada por meio de linguagens de programação tradicionais. O processo geral não mudou. A solicitação é enviada, depois enviada para a rede oracle descentralizada, agregada após a execução e, finalmente, escrita de volta no contrato inteligente do usuário.
O que foi dito acima é o que compartilhei sobre a máquina oracle e alguns serviços que a rede descentralizada baseada na máquina oracle pode fornecer.
Ver original
O conteúdo é apenas para referência, não uma solicitação ou oferta. Nenhum aconselhamento fiscal, de investimento ou jurídico é fornecido. Consulte a isenção de responsabilidade para obter mais informações sobre riscos.
Engenheiros Chainlink: Como os Oráculos Conectam Web2 e Web3
Falando: Frank, engenheiro de relações com desenvolvedores, Chainlink Labs
Organização: aididiaojp.eth, Foresight News
Sou Frank, engenheiro de relações com desenvolvedores no Chainlink Labs. Meu trabalho principal é permitir que mais desenvolvedores, ou construtores apaixonados por esse setor, aprendam mais sobre as máquinas oracle. Com base nos contratos inteligentes em nossa infraestrutura atual, podemos considerá-lo um contrato inteligente híbrido. Os contratos inteligentes podem ser melhor integrados com vários dados no mundo Web2, incluindo serviços de computação e, com base nessa arquitetura, as coisas que os contratos inteligentes na cadeia podem fazer são bastante expandidas.
No compartilhamento de hoje, apresentarei primeiro o conceito de máquina oráculo e, com base no conceito de máquina oráculo, apresentarei brevemente a rede de máquinas oracle descentralizada e alguns serviços que podemos fornecer, incluindo serviços de dados e serviços de computação.
O que é um oráculo?
Da Web 1 à Web 2 à Web 3, o estado da rede e dos dados muda constantemente. No início, Web1 era um serviço de website cujos dados só podiam ser lidos estaticamente. Quando se desenvolveu para o estágio Web2, os dados tornaram-se legíveis, graváveis e participativos. Muitas grandes empresas criaram impérios de negócios com base em seus próprios serviços. Eles armazenarão todos os dados do usuário em seus próprios bancos de dados. Se necessário, eles podem realmente possuir e modificar os dados do usuário. Nesse caso surge uma dúvida, ou seja, alguns dados que criamos na internet ou no mundo virtual as vezes tem algum valor, então a quem pertence esse valor? Com base nesse histórico, esperamos poder resolver bem esse problema na etapa Web 3. Todos os dados no estágio Web 3 não existem em um servidor ou em um nó.Ele possui uma rede descentralizada, e a rede descentralizada é um sistema multi-livro composto por vários nós. Os dados são armazenados em vários nós e somente quando cada nó concorda com a modificação e armazenamento de dados, os dados finais podem ser salvos. Então isso vai nos trazer um benefício, ou seja, não importa qual modificação queremos fazer nos dados, precisamos modificá-los de acordo com o consenso pré-acordado. Por exemplo, se eu quiser modificar o saldo da carteira, se ninguém me enviar dinheiro, não importa como o proprietário dos dados queira modificá-lo, ele acabará falhando no processo de consenso, o que torna o saldo da carteira incapaz de ser modificado. Somente quando o titular dos dados envia uma transação que esteja em conformidade com as regras, os dados podem ser finalmente modificados, o que traz um benefício muito óbvio. Ao mesmo tempo, também traz algumas desvantagens, sendo que a maior desvantagem é que torna o sistema um sistema determinístico. Ou seja, como haverá um processo de consenso ao longo do processo, ele só poderá realizar operações que outros possam verificar. Quando você envia uma operação, outros precisam executar sua operação e, se outros nós executarem a operação com sucesso, eles poderão retornar o resultado. Quanto a ser mais de 50% ou 70%, depende do algoritmo de consenso. No final, a operação pode ser gravada na transação e a transação pode ser gravada no bloco para se tornar uma transação completa.
Mas se precisarmos fazer algumas operações não determinísticas, como obter alguns dados da API e gerar números aleatórios fora do blockchain, o sistema blockchain determinístico não poderá ser concluído. Nosso sorteio de loteria precisa gerar números aleatórios, ou o protocolo on-chain precisa saber o preço do ativo fora da cadeia, como adquirir o preço de ações ou commodities, que é uma operação não determinística e não pode ser concluída pela própria blockchain . Outro exemplo são as chamadas de API. Se eu, como um nó na rede, chamar dados externos da API e depois informar a outros nós da rede o resultado, outros nós também o executarão para verificar a autenticidade do resultado. Faça a mesma operação e obter um resultado. Mas para uma API externa, se pessoas diferentes buscarem a mesma API em momentos diferentes, o servidor pode desligar, ou o serviço pode ser suspenso, ou os dados podem mudar com o tempo. Você faz a mesma coisa em momentos diferentes e os resultados obtidos são inconsistentes. Enquanto o resultado for inconsistente, a operação final não pode ser inserida em um bloco e não há como completá-la. Isso ocorre depois que temos a propriedade dos dados, também precisamos arcar com algumas das deficiências que isso traz.
Para resolver esse problema, precisamos contar com oráculos. A blockchain é um sistema isolado e determinístico. Não pode obter dados ativamente de fora da cadeia. O surgimento da máquina oráculo é para resolver este problema. Há dois ou três anos surgiu o conceito da máquina oráculo, mas naquela época não havia muitos cenários aplicáveis, e tinha grandes limitações. Por exemplo, quando você deseja obter alguns dados de mercado, fazer upload de dados de estoque para a rede blockchain ou criar uma estrutura para colocar lógica na cadeia para execução, mas colocar o lado do ativo na cadeia e proteger o andamento normal das transações por meio de contratos inteligentes, etc., Neste momento, alguns dados precisam ser obtidos da cadeia, e a sincronização de dados precisa ser realizada periodicamente, incluindo pagamento bancário ou dados de varejo, e até mesmo alguns outros dados de eventos públicos, como condições climáticas, geografia informação, informação logística, informação desportiva, etc. Resultados de jogos, etc. Estes dados não podem ser obtidos sem a máquina oráculo. Isso tornará a ecologia na cadeia muito limitada. Com o desenvolvimento contínuo do ecossistema da Web 3, o vínculo entre os dois mundos da Web 3 e da Web 2 ficará cada vez mais próximo. Se quisermos que o Web3 seja adotado em larga escala, ou seja usado por mais pessoas, ele deve fornecer funções muito ricas, não apenas limitadas a algumas operações que só podem ser feitas através dos dados originais da cadeia.
A máquina oráculo provavelmente se tornou popular em 2020, quando era DeFiSummer, e a maioria das pessoas percebeu isso. No início, a máquina oráculo fazia coisas muito simples. Por exemplo, se você deseja obter dados externos e enviá-los para a rede descentralizada, ou seja, o blockchain, a maneira mais fácil é estabelecer um nó centralizado na cadeia, que é, construir um servidor, obter dados através do servidor e, finalmente, gravar os dados na rede blockchain desduplicada, então esse modelo é chamado de oráculo centralizado. Apesar de ser relativamente simples de implementar, trará alguns problemas, por exemplo, tem o risco de um único ponto de falha, ou seja, o nó centralizado pode causar downtime por motivos próprios básicos. Outra possibilidade é que, se o serviço fornecido pelo contrato inteligente na cadeia depender dos dados fornecidos pelo nó centralizado e se a quantidade de fundos envolvida no contrato inteligente na cadeia for muito grande, essa máquina oracle centralizada pode passar seus próprios dados que podem ser manipulados para lançar um ataque ao serviço. Contanto que os benefícios sejam grandes o suficiente e não haja como alcançar a integridade por meios técnicos, esse é um ponto único de falha. Queremos colocar o aplicativo na rede descentralizada, incluindo Ethereum ou outros ecossistemas da camada 2. Na verdade, também esperamos poder garantir a justiça de nosso aplicativo, ou seja, o contrato inteligente, por meio de centenas ou milhares de nós oracle em a rede e a segurança.
Obviamente, se dependermos de nós centralizados para obter terminais de dados, mesmo que outros aspectos de segurança possam ser garantidos, mas o terminal de dados de ativos mais importante não pode garantir a segurança, isso tornará todo o dApp sem sentido. Portanto, após a máquina oracular centralizada, há uma rede de máquinas oracle descentralizada, que pode resolver o risco de ponto único de falha que acabamos de mencionar. A maior diferença na rede oracle descentralizada não é que um único nodo oracle presta serviços para a rede descentralizada, mas sim através da rede oracle descentralizada. A rede oracle pode obter dados por meio de suas próprias fontes de dados e, após obter os resultados, pode realizar a agregação de dados com outras redes descentralizadas, o que também pode ser entendido como um processo de consenso, inclusive verificando se os dados existem nós ou se o os dados retornados desviam muito do valor médio ou simplesmente fazem um valor médio, agregam os dados etc. e, em seguida, gravam-nos na rede descentralizada. Um dos benefícios trazidos por esse método é que tecnicamente ele pode garantir que o serviço não será interrompido a menos que todos os nós da rede oracle descentralizada parem de servir, mas essa possibilidade é muito baixa. Além disso, do lado dos dados, também pode ser garantido que os dados fornecidos pelo oráculo ao contrato na cadeia não sejam controlados por um único nó, mas por vários nós. Se você quiser manipular dados para lançar um ataque, o custo será muito alto, o que equivale a atacar a Camada 2, ou mesmo uma rede descentralizada como a Ethereum, que basicamente dificilmente terá sucesso.
A rede descentralizada pode melhorar muito a segurança e a justiça dos dados recebidos por contratos inteligentes. Para os usuários, somos apenas uma rede oracle descentralizada, mas com base na rede oracle descentralizada, podemos fornecer alguns outros serviços, como serviços de dados, serviços de computação e serviços de cadeia cruzada. Se for baseado na máquina oracle para fornecer dados à rede, de fato, existem algumas operações mais complexas e caras que também podem ser concluídas off-chain, ou seja, é empacotado para a rede oracle off-chain para cálculo , e então escrito de volta para o blockchain alto de comparação de segurança. Se podemos obter dados fora da cadeia, também podemos obter dados de outras cadeias e gravá-los neste blockchain, que na verdade envolve cadeia cruzada. Contanto que a segurança da rede oracle descentralizada seja forte o suficiente, ela pode garantir a segurança dos serviços de dados, serviços de computação e serviços de cadeia cruzada baseados nela. A Chainlink fornece uma variedade de serviços baseados em oráculos descentralizados, que podem conectar dados da Web 3 e da Web 2, incluindo dados da camada 1 e da camada 2, para que todos possam obter o máximo possível de dados e serviços correspondentes.
Quais são os serviços prestados pelos oráculos Chainlink?
Em seguida, deixe-me apresentar brevemente os serviços fornecidos pelos oráculos Chainlink. Claro, existem muitos serviços baseados no Chainlink, e vou compartilhar alguns serviços com cenários mais aplicáveis.
Se você quiser fazer algumas inovações nas áreas de DeFi, GameFi, NFT e SocialFi no futuro, há uma grande probabilidade de precisar de um oráculo para obter dados. Porque você deve obter dados da cadeia de maneira muito descentralizada e segura e gravá-los de volta em seu contrato inteligente na cadeia.
O primeiro serviço é o feed de preços, que também pode ser um termo que você costuma ouvir antes, e vai explodir no DeFiSummer em 2020. Em 2020, muitos projetos DeFi apareceram, começando com Uniswap, seguido pelo contrato de empréstimo Compound e depois o projeto de ativos sintéticos Synthetics e outras aplicações. Todos eles têm uma grande demanda por dados fora da cadeia, porque apenas dados baseados em segurança podem ser Os dados podem ser utilizados pelos usuários de forma descentralizada por meio de contratos, sendo importante o serviço de feed de preços da oracle.
A figura acima é o fluxograma básico do serviço de feed de preços, que inclui 3 participantes importantes. A primeira é a rede descentralizada de máquinas oraculares que acabamos de mencionar; a segunda são os provedores de dados, que podem ser bolsas ou outras grandes instituições autorizadas, todas podendo servir como provedores de dados; a terceira é um contrato de usuário. O processo mostrado na figura acima é muito simples. Cada provedor de dados pode fornecer um nó da rede oracle Chanlink por meio da interface ou serviço da fonte de dados, e cada nó da rede oracle também pode obter dados de acordo com seu próprio serviço. , e então, através do processo de agregação, os dados obtidos por cada canal são gravados no contrato de verificação implantado na cadeia. Se passar na verificação, os dados podem ser gravados e usados pelos usuários no futuro, esse é todo o processo. O cliente só precisa usar o contrato para obter e usar vários dados.
Existem muitos casos de uso para alimentação de preços, como o Compound, Uniswap e Synthetics que mencionamos agora, eles precisam mapear os ativos em Web2 para Web3 e precisam de mecanismos externos para fornecer preços de ativos. Assim como um stablecoin, ele é baseado em quantos ativos podem emitir tantos stablecoins, e seu preço de ativo também deve ser obtido com base na máquina oráculo. Além disso, como algumas plataformas de gerenciamento de ativos e aplicativos populares de negociação de derivativos, eles são altamente dependentes de preços, portanto, são usuários importantes de serviços de alimentação de preços. Do ponto de vista da tendência, a demanda por serviços de feed de preços está aumentando exponencialmente. O uso de dados vem crescendo mesmo em mercados menos ativos.
Em seguida, apresentarei o segundo serviço mais distinto, Any API. Simplificando, ele ajuda os contratos inteligentes na cadeia a obter alguns dados não padrão, como alguns dados de cauda longa. Esses dados podem estar disponíveis apenas para determinadas pessoas ou determinados contratos, mas não são dados padrão, como preços de tokens ou preços de ativos. Muitos DApps exigem dados fora do padrão, por exemplo, aplicativos de negócios de seguros da Web 3 precisam obter dados meteorológicos ou dados de atraso de voo. Por exemplo, o gás de efeito estufa pode fazer alguns projetos semelhantes ao ESG, incluindo jogos de esportes eleitorais que podem ser combinados com mercados de previsão. Fornecemos mercados de dados com base em qualquer API. Em cada mercado de dados, existem vários provedores de dados que fornecem serviços externos com base em seus próprios dados. Desde que o usuário envie uma solicitação, ele pode gravar os dados de volta no contrato do usuário de acordo com os requisitos de serviço. Tanto o provedor de dados quanto o receptor de dados são determinados pelo mercado. Existe um mercado para usuários e provedores de dados, e a Chainlink não monopoliza oficialmente todos os dados e fornece dados para a cadeia.
O fluxo de trabalho de Any API e feed de preços é realmente bastante consistente. O contrato primeiro envia uma solicitação e, em seguida, a solicitação será descoberta pelos nós do Chanlink. Após a descoberta, o Chanlink pode selecionar os dados necessários de acordo com a solicitação e, em seguida, gravá-los de volta no blockchain. AnyAPI pode fornecer aos usuários uma variedade de dados, mas tem uma característica que, embora seja construída de forma relativamente rápida, é fornecida por um único nó. O que o AnyAPI quer fazer é obter dados o mais rápido possível de maneira simples, em vez de obter dados por meio da máquina oracle de rede descentralizada que mencionamos anteriormente.
Mais tarde, à medida que a diversidade de requisitos de dados aumentou, muitos dados não padronizados também esperavam ser gravados de volta na cadeia de maneira descentralizada. Também criamos um novo serviço chamado Functions no início de abril deste ano, que simplesmente executa qualquer solicitação do usuário por meio de uma rede oracle descentralizada. Os usuários podem usar alguma linguagem de programação avançada, como Java, para escrever o programa de operação, não pode mais ser escrito apenas na linguagem Solidity, o programa escrito em Java é definitivamente mais abundante que o Solidity. O serviço Functions pode encapsular o programa escrito em uma solicitação e enviá-lo para toda a rede oracle. Cada nó da rede realizará a mesma operação, que pode ser serviços de computação, serviços de aquisição de dados ou outros serviços. Depois que cada nó é executado e obtém o resultado, ele passa pelo processo de agregação que acabamos de mencionar e o grava de volta no contrato inteligente.
Comparado com o preço da ração, seu grau de liberdade é muito alto. Ou seja, o contrato inteligente pode receber uma interface externa para usar qualquer método que desejar. Ele também pode escrever parte da lógica que tem que fazer no contrato, e então não é executado pelo blockchain, mas pela máquina oracle, o que equivale a incorporar diretamente o serviço da máquina oracle no contrato inteligente, tornando-se um híbrido tipo de contrato inteligente. Se você fizer desta forma, então sua execução é garantida através da rede descentralizada, e suas operações não determinísticas são operações que não podem ser feitas no blockchain, e podem ser realizadas através da máquina oracle descentralizada A rede executa e retorna o resultado . No geral, pode melhorar muito a funcionalidade dos contratos inteligentes. As funções que ele pode fazer serão mais abundantes do que antes e também é muito simples de aplicar no lado do cliente. Você só precisa adicionar duas funções ao seu contrato e pode usar diretamente a rede oracle descentralizada como parte de seu smart contrato. de usar. E também é muito amigável para programadores Web2 tradicionais, pois a lógica de execução pode ser completada por meio de linguagens de programação tradicionais. O processo geral não mudou. A solicitação é enviada, depois enviada para a rede oracle descentralizada, agregada após a execução e, finalmente, escrita de volta no contrato inteligente do usuário.
O que foi dito acima é o que compartilhei sobre a máquina oracle e alguns serviços que a rede descentralizada baseada na máquina oracle pode fornecer.