Lição 1

Introdução aos Oráculos Ethereum (Oráculos Ethereum)

Bem-vindo a este curso. Ao começar esta jornada para explorar o mundo dos oráculos Ethereum, você aprenderá como as redes blockchain se comunicam com o mundo exterior. Os oráculos são como uma ponte que conecta a certeza dos contratos inteligentes com a realidade em constante mudança do mundo real. O objetivo deste curso é decifrar os meandros por trás dos oráculos e torná-los mais fáceis de entender e abordar.

Qual é o significado de Oracles (Oráculos)?

A rede descentralizada do Ethereum e seus contratos inteligentes estão completamente isolados do mundo real. Esse isolamento garante consistência, segurança e integridade. No entanto, isso também representa uma limitação: esses contratos inteligentes não podem acessar ou validar dados externos por conta própria. Então, e se a execução de um contrato depender do preço atual do ouro, das condições climáticas em uma determinada cidade ou dos resultados eleitorais?

Os oráculos preenchem essa lacuna. Como mensageiros, eles coletam, validam e entregam informações do mundo real para contratos inteligentes, expandindo assim o leque de possibilidades para aplicativos descentralizados.

Imagine a seguinte situação:

Solidity//Um contrato inteligente simulado segue datacontract externo GoldPriceBet { Oracle OracleInstance;//Uma instância Oracle em tempo real gold instance address bettor; uint256 wagerAmount; Função placeGoldPriceBet (uint PredictedPrice) externo a pagar { bettor = msg.sender;        wagerAmount = msg.valor;        Aqui, normalmente invocaríamos o oráculo para buscar o preço atual do ouro }}

Comentários de código:

  • OracleOracleInstance; Este é um espaço reservado para o nosso GoldPriceBetcontrato para interagir com para obter o preço atual do ouro (Oracle) contrato.
  • A A função placeGoldPriceBet permite aos usuários fazer apostas para prever o preçode ouro. Idealmente, após fazer uma aposta, os oráculos seriam chamados para obter o preço do ouro em tempo real e determinar os resultados.

Ecossistemas Diversos de Oráculos

De uma maneira geral, os oráculos se dividem em duas categorias principais:

Oráculos centralizados

Operados por uma única entidade ou organização, os oráculos centralizados são eficientes e podem obter dados rapidamente. No entanto, seu calcanhar de Aquiles é a confiança. A execução de contratos inteligentes depende da integridade desta entidade centralizada. Dados manipulados ou errôneos podem levar a resultados inesperados.

Oráculos descentralizados

Para mitigar as deficiências dos sistemas centralizados, oráculos descentralizados surgiram. Aqui, uma rede de múltiplos oráculos fornece dados. Um contrato inteligente pode usar um método de agregação, como média ou mediana, para chegar a um valor. Ao descentralizar as fontes de dados, esses oráculos reduzem o risco associado à manipulação humana ou a pontos únicos de falha.

Solidity//Um contrato inteligente ilustrativo aproveitando um framework Oracle flexível contrato CommodityPriceFeed { Oracle Descentralizado [] OracleArray;//Um array de oráculos descentralizados function deriveAveragePrice () external view returns (uint256) { uint256 valorCumulativo = 0; for (uint i = 0; i < oracleArray.length; i++) {            valorCumulativo += oracleArray[i].fetchPrice();        } return valorCumulativo/ oracleArray.length;    }}

Comentários de código:

  • DecentralizedOracle [] OracleArray; este é um array que armazena várias instâncias de oráculos descentralizados.
  • A obterPreçoMédioA função calcula o preço médio obtido de todos os oráculos em OracleArray. Ele passa por cada um dos oráculos, obtém o preço e, em seguida, divide pelo número de oráculos para obter a média.

Aplicativos oráculos do mundo real

As aplicações potenciais dos oráculos são muito amplas e diversas:

  • Derivativos financeiros: Instrumentos financeiros como opções exigem acesso a preços de ativos do mundo real para executar contratos.
  • Seguro inteligente: Imagine um contrato de seguro de viagem inteligente que compensa automaticamente os usuários quando um voo é atrasado. Esses dados vêm de um rastreador de aviação.
  • Verificação da cadeia de fornecimento: Ao inserir dados externos na blockchain, é possível rastrear produtos em tempo real desde a fabricação até a entrega ao cliente.
  • Jogos descentralizados: Os jogos online baseados em blockchain podem usar oráculos para influenciar os resultados do jogo com base em eventos do mundo real, como resultados de partidas esportivas.
    Saiba mais sobre oráculos:O que é um Oráculo na Blockchain?

Derivativos financeiros e plataformas de negociação

As plataformas financeiras exigem informações em tempo real sobre preços de ativos, taxas de juros ou outros indicadores econômicos. As plataformas descentralizadas de derivativos usam oráculos para garantir que contratos, como futuros e opções, sejam liquidados com base em dados de mercado precisos e invioláveis.

//Um exemplo de contrato inteligente para uma opção convenientecontrato DecentralizedOption { Oracle PriceOracle; uint256 strikePrice = 1000;//Valor de exemplo function exerciseOption () external { uint256 currentPrice = priceOracle.fetchCurrentPrice ();        if (currentPrice strikePrice>) {            // Lógica para exercer a opção        }    }}

Comentários de código:

  • O Opção Descentralizadao contrato interage com os oráculos para obter o preço atual.
  • Quando um usuário exerce uma opção, o contrato verifica o preço atual em relação a um preço de execução predefinido para determinar o resultado.

Seguro inteligente

Os oráculos promoveram o desenvolvimento de plataformas de seguros descentralizadas, fornecendo dados como padrões climáticos necessários para seguros agrícolas, condições de voo necessárias para seguros de viagem ou atividade sísmica necessária para seguros contra terremotos.

contrato de seguro de atraso de voo Solidity { Oráculo FlightStatusOracle; função reivindicarSeguro (string numeroVoo) externo { string status = flightstatusOracle.getFlightStatus (numeroVoo); if (strcmp (status, " Atrasado") == 0) { // Lógica para compensar o segurado }}}

Comentários de código:

  • Seguro de Atraso de Voocontratos usam oráculos para obter status de voo.
  • Dependendo do status do voo, ele indenizará o segurado caso o voo atrase.

Verificação da cadeia de suprimentos

Para soluções descentralizadas de cadeia de suprimentos, os oráculos podem fornecer dados verificáveis em cada etapa, desde a aquisição de matéria-prima até a entrega do produto, para garantir autenticidade do produto e aquisição ética.

contrato de fornecimento da cadeia de suprimentos { Oracle LocationOracle; endereço ProductOwner; função verificarLocalDoProduto (endereço ProductID) externo visualização retorna (string memória) {        return locationOracle.fetchProductLocation(productID);    }}

Comentários de código:

  • Este contrato utiliza oráculos para obter a localização dos produtos em qualquer estágio da cadeia de fornecimento.
  • Ele pode ser usado para rastrear produtos e verificar sua origem e rota.

Jogos descentralizados

Jogos que integram eventos do mundo real, como os resultados de eventos esportivos ou movimentos do mercado de ações, podem ser construídos de forma descentralizada usando oráculos para obter os dados necessários.

Contrato SolidityContract SportsBet { Oracle SportsResultOracle; Função placeBet (string teamName) externa pagável { // Lógica para fazer uma aposta } função resolveBet () externa { string winningTeam = sportsResultOracle.getMatchResult(); // Lógica para recompensar os vencedores com base no resultado }}

Comentários de código:

  • SportsBet permite que os usuários façam apostas nos resultados de eventos esportivos.
  • Em seguida, interage com os oráculos para obter resultados de partidas e resolver apostas de acordo.
    Agora temos uma exploração preliminar do mundo dos oráculos do Ethereum. Nos próximos cursos, vamos mergulhar nas complexidades da integração dos oráculos com contratos inteligentes. Se o conteúdo te deixar muito animado, mantenha o entusiasmo pela aprendizagem. Porque o mundo dos dados descentralizados está nos chamando!
Exclusão de responsabilidade
* O investimento em criptomoedas envolve riscos significativos. Prossiga com cuidado. O curso não pretende ser um conselho de investimento.
* O curso é criado pelo autor que se juntou ao Gate Learn. Qualquer opinião partilhada pelo autor não representa o Gate Learn.
Catálogo
Lição 1

Introdução aos Oráculos Ethereum (Oráculos Ethereum)

Bem-vindo a este curso. Ao começar esta jornada para explorar o mundo dos oráculos Ethereum, você aprenderá como as redes blockchain se comunicam com o mundo exterior. Os oráculos são como uma ponte que conecta a certeza dos contratos inteligentes com a realidade em constante mudança do mundo real. O objetivo deste curso é decifrar os meandros por trás dos oráculos e torná-los mais fáceis de entender e abordar.

Qual é o significado de Oracles (Oráculos)?

A rede descentralizada do Ethereum e seus contratos inteligentes estão completamente isolados do mundo real. Esse isolamento garante consistência, segurança e integridade. No entanto, isso também representa uma limitação: esses contratos inteligentes não podem acessar ou validar dados externos por conta própria. Então, e se a execução de um contrato depender do preço atual do ouro, das condições climáticas em uma determinada cidade ou dos resultados eleitorais?

Os oráculos preenchem essa lacuna. Como mensageiros, eles coletam, validam e entregam informações do mundo real para contratos inteligentes, expandindo assim o leque de possibilidades para aplicativos descentralizados.

Imagine a seguinte situação:

Solidity//Um contrato inteligente simulado segue datacontract externo GoldPriceBet { Oracle OracleInstance;//Uma instância Oracle em tempo real gold instance address bettor; uint256 wagerAmount; Função placeGoldPriceBet (uint PredictedPrice) externo a pagar { bettor = msg.sender;        wagerAmount = msg.valor;        Aqui, normalmente invocaríamos o oráculo para buscar o preço atual do ouro }}

Comentários de código:

  • OracleOracleInstance; Este é um espaço reservado para o nosso GoldPriceBetcontrato para interagir com para obter o preço atual do ouro (Oracle) contrato.
  • A A função placeGoldPriceBet permite aos usuários fazer apostas para prever o preçode ouro. Idealmente, após fazer uma aposta, os oráculos seriam chamados para obter o preço do ouro em tempo real e determinar os resultados.

Ecossistemas Diversos de Oráculos

De uma maneira geral, os oráculos se dividem em duas categorias principais:

Oráculos centralizados

Operados por uma única entidade ou organização, os oráculos centralizados são eficientes e podem obter dados rapidamente. No entanto, seu calcanhar de Aquiles é a confiança. A execução de contratos inteligentes depende da integridade desta entidade centralizada. Dados manipulados ou errôneos podem levar a resultados inesperados.

Oráculos descentralizados

Para mitigar as deficiências dos sistemas centralizados, oráculos descentralizados surgiram. Aqui, uma rede de múltiplos oráculos fornece dados. Um contrato inteligente pode usar um método de agregação, como média ou mediana, para chegar a um valor. Ao descentralizar as fontes de dados, esses oráculos reduzem o risco associado à manipulação humana ou a pontos únicos de falha.

Solidity//Um contrato inteligente ilustrativo aproveitando um framework Oracle flexível contrato CommodityPriceFeed { Oracle Descentralizado [] OracleArray;//Um array de oráculos descentralizados function deriveAveragePrice () external view returns (uint256) { uint256 valorCumulativo = 0; for (uint i = 0; i < oracleArray.length; i++) {            valorCumulativo += oracleArray[i].fetchPrice();        } return valorCumulativo/ oracleArray.length;    }}

Comentários de código:

  • DecentralizedOracle [] OracleArray; este é um array que armazena várias instâncias de oráculos descentralizados.
  • A obterPreçoMédioA função calcula o preço médio obtido de todos os oráculos em OracleArray. Ele passa por cada um dos oráculos, obtém o preço e, em seguida, divide pelo número de oráculos para obter a média.

Aplicativos oráculos do mundo real

As aplicações potenciais dos oráculos são muito amplas e diversas:

  • Derivativos financeiros: Instrumentos financeiros como opções exigem acesso a preços de ativos do mundo real para executar contratos.
  • Seguro inteligente: Imagine um contrato de seguro de viagem inteligente que compensa automaticamente os usuários quando um voo é atrasado. Esses dados vêm de um rastreador de aviação.
  • Verificação da cadeia de fornecimento: Ao inserir dados externos na blockchain, é possível rastrear produtos em tempo real desde a fabricação até a entrega ao cliente.
  • Jogos descentralizados: Os jogos online baseados em blockchain podem usar oráculos para influenciar os resultados do jogo com base em eventos do mundo real, como resultados de partidas esportivas.
    Saiba mais sobre oráculos:O que é um Oráculo na Blockchain?

Derivativos financeiros e plataformas de negociação

As plataformas financeiras exigem informações em tempo real sobre preços de ativos, taxas de juros ou outros indicadores econômicos. As plataformas descentralizadas de derivativos usam oráculos para garantir que contratos, como futuros e opções, sejam liquidados com base em dados de mercado precisos e invioláveis.

//Um exemplo de contrato inteligente para uma opção convenientecontrato DecentralizedOption { Oracle PriceOracle; uint256 strikePrice = 1000;//Valor de exemplo function exerciseOption () external { uint256 currentPrice = priceOracle.fetchCurrentPrice ();        if (currentPrice strikePrice>) {            // Lógica para exercer a opção        }    }}

Comentários de código:

  • O Opção Descentralizadao contrato interage com os oráculos para obter o preço atual.
  • Quando um usuário exerce uma opção, o contrato verifica o preço atual em relação a um preço de execução predefinido para determinar o resultado.

Seguro inteligente

Os oráculos promoveram o desenvolvimento de plataformas de seguros descentralizadas, fornecendo dados como padrões climáticos necessários para seguros agrícolas, condições de voo necessárias para seguros de viagem ou atividade sísmica necessária para seguros contra terremotos.

contrato de seguro de atraso de voo Solidity { Oráculo FlightStatusOracle; função reivindicarSeguro (string numeroVoo) externo { string status = flightstatusOracle.getFlightStatus (numeroVoo); if (strcmp (status, " Atrasado") == 0) { // Lógica para compensar o segurado }}}

Comentários de código:

  • Seguro de Atraso de Voocontratos usam oráculos para obter status de voo.
  • Dependendo do status do voo, ele indenizará o segurado caso o voo atrase.

Verificação da cadeia de suprimentos

Para soluções descentralizadas de cadeia de suprimentos, os oráculos podem fornecer dados verificáveis em cada etapa, desde a aquisição de matéria-prima até a entrega do produto, para garantir autenticidade do produto e aquisição ética.

contrato de fornecimento da cadeia de suprimentos { Oracle LocationOracle; endereço ProductOwner; função verificarLocalDoProduto (endereço ProductID) externo visualização retorna (string memória) {        return locationOracle.fetchProductLocation(productID);    }}

Comentários de código:

  • Este contrato utiliza oráculos para obter a localização dos produtos em qualquer estágio da cadeia de fornecimento.
  • Ele pode ser usado para rastrear produtos e verificar sua origem e rota.

Jogos descentralizados

Jogos que integram eventos do mundo real, como os resultados de eventos esportivos ou movimentos do mercado de ações, podem ser construídos de forma descentralizada usando oráculos para obter os dados necessários.

Contrato SolidityContract SportsBet { Oracle SportsResultOracle; Função placeBet (string teamName) externa pagável { // Lógica para fazer uma aposta } função resolveBet () externa { string winningTeam = sportsResultOracle.getMatchResult(); // Lógica para recompensar os vencedores com base no resultado }}

Comentários de código:

  • SportsBet permite que os usuários façam apostas nos resultados de eventos esportivos.
  • Em seguida, interage com os oráculos para obter resultados de partidas e resolver apostas de acordo.
    Agora temos uma exploração preliminar do mundo dos oráculos do Ethereum. Nos próximos cursos, vamos mergulhar nas complexidades da integração dos oráculos com contratos inteligentes. Se o conteúdo te deixar muito animado, mantenha o entusiasmo pela aprendizagem. Porque o mundo dos dados descentralizados está nos chamando!
Exclusão de responsabilidade
* O investimento em criptomoedas envolve riscos significativos. Prossiga com cuidado. O curso não pretende ser um conselho de investimento.
* O curso é criado pelo autor que se juntou ao Gate Learn. Qualquer opinião partilhada pelo autor não representa o Gate Learn.