Hvad er et blockchain-orakel, og hvordan fungerer det?

Hvad er blockchain-orakler?

Blockchain-orakler er enheder, der forbinder blockchains til eksterne systemer, hvilket gør det muligt for smarte kontrakter at udføre afhængigt af virkelige input og output. Oracles giver Web 3.0-økosystemet en metode til at oprette forbindelse til eksisterende ældre systemer, datakilder og avancerede beregninger.

Decentraliserede oracle-netværk (DON'er) muliggør implementering af hybride smarte kontrakter, hvor off-chain infrastruktur og on-chain kode er koblet til at levere komplekse decentraliserede applikationer (DApps), der reagerer på begivenheder i den virkelige verden og interagere med traditionelle systemer.

Lad os sige, at Alice og Bob ønsker at satse på resultatet af et hestevæddeløb. $80 i alt holdes i spærret af en smart kontrakt, hvor Alice satser $50 på hold X og Bob satser $30 på hold Y. Hvordan ved den smarte kontrakt, om den skal give pengene til Alice eller Bob, når spillet er slut? Løsningen er, at der kræves en orakelmekanisme for at hente nøjagtige matchresultater uden for kæden og sikkert og pålideligt levere dem til blockchain.

På grund af det distribuerede hovedbogsaspekt af blockchain skal hver node i netværket opnå det samme resultat givet det samme input. For eksempel, hvis en node forsøger at validere en anden nodes transaktion, vil den få et andet resultat. Denne arkitektur blev skabt for at være deterministisk.

Konsensus er teknikken til at blive enige om en dataværdi i blockchain, og determinisme er påkrævet for at noder kan nå en konsensus. Nogle af dem er måske bekendte for dig, såsom proof-of-work (PoW) med Nakamoto-konsensus og proof-of-stake (PoS) med byzantinsk konsensus. En af de vigtigste faktorer, der får blockchain til at fungere i første omgang, er konsensus.

Blockchain-verdenen skal dog forbindes med den faktiske verden. For at have DeFi skal vi få prisen på Ether (ETH) og andre kryptovalutaer ind i en kontrakt. Vi kræver meteorologiske data for at levere decentraliseret, tillidsfri forsikring. For at bruge blockchain til en af ​​dens mest væsentlige anvendelser, smarte kontrakter, har vi brug for data. Så, givet denne begrænsning, hvordan forbinder vi verdener?

Denne guide har til formål at forklare, hvad blockchain-orakler gør, blockchain-orakelproblemet og introducere forskellige blockchain-orakelprojekter.

Blockchain-orakelproblem

Blockchain-orakel-dilemmaet fremhæver en vigtig begrænsning af smarte kontrakter, dvs. de kan ikke forbindes med data og systemer uden for deres oprindelige blockchain-kontekst på nogen måde. Eksterne ressourcer omtales som "off-chain", mens data, der i øjeblikket registreres på blockchain, omtales som "on-chain."

Blokkæder opnår deres mest gavnlige egenskaber ved at være målrettet adskilt fra eksterne systemer, såsom forebyggelse af dobbeltforbrugsangreb, stærk konsensus om ægtheden af ​​brugertransaktioner og reduktion af netværksnedetid. For sikkert at interagere med off-chain-systemer fra en blockchain og for at bygge bro mellem to miljøer, skal du bruge et ekstra stykke infrastruktur kaldet et "oracle."

Fordi langt de fleste tilfælde af intelligent kontraktbrug, såsom DeFi, kræver viden om data fra den virkelige verden og begivenheder, der forekommer uden for kæden, er det afgørende at løse orakelproblemet. Som et resultat udvider orakler de typer digitale kontrakter, som blockchains kan muliggøre, ved at give en universel gateway til ressourcer uden for kæden, samtidig med at blockchains nøglesikkerhedskvaliteter bevares.

Aktivpriser for finansiering, identitetsbekræftelse for regeringen, tilfældighed til spil, vejrinformation til forsikring er blot nogle få af de industrier, der profiterer på at integrere orakler med smarte kontrakter.

Hvad gør blockchain-orakler?

Enhver enhed eller enhed, der forbinder en deterministisk blockchain med data uden for kæden, omtales som et blockchain-orakel. Hvert datainput dirigeres gennem en ekstern transaktion i disse orakler.

Vi kan dog være sikre på, at blockchainen indeholder al den information, der er nødvendig for at autentificere sig selv på denne måde. Orakler betragtes som blockchain-middleware, fordi de fungerer som et bindeled mellem de to riger.

Chainlink er industristandarden for decentraliserede orakler, fordi det overvinder både adgang til eksterne data og centraliseringen af ​​smarte kontraktproblemer. Så hvad er Chainlink-orakler?

Chainlink er et decentraliseret oracle-netværk, der leverer data fra den virkelige verden til blockchain-smarte kontrakter. LINK-tokens er digitale aktivtokens, der bruges til at betale for netværkstjenester.

På den anden side forårsager et enkelt centraliseret orakel det særlige problem, som en decentraliseret, blockchain-sikret smart kontrakt skal løse:et enkelt fejlpunkt. Så hvordan ville du vide, om dine data er nøjagtige, hvis oraklet er defekt eller kompromitteret? Hvad hjælper en sikker, pålidelig, smart kontrakt på blockchain, hvis de data, den er afhængige af, er mistænkelige?

Dette problem er løst af Chainlink (et decentraliseret netværk af noder), som bruger orakler til at levere data og information fra off-blockchain-kilder til on-blockchain smarte kontrakter. Denne teknik fjerner sammen med anden sikker teknologi de pålidelighedsproblemer, der kan opstå, hvis kun en enkelt centraliseret kilde bruges.

Chainlink er blockchain-agnostisk, da det forbinder alle større offentlige og private blockchain-miljøer ved hjælp af et enkelt framework, som giver et typisk abstraktionsniveau for kommunikation på tværs af netværk.

Derfor kan du henvise til decentraliserede data på kæden, som allerede er blevet udtrukket fra den virkelige verden og indsamlet ved hjælp af tjenester som Chainlink, der ligner et offentligt bibliotek, bortset fra decentraliserede data. Du kan endda oprette dine modulære oracle-netværk for at få den specifikke information, du har brug for. Derudover kan du udføre off-chain beregninger og overføre data til den faktiske verden.

Andre top blockchain-orakler er Witnet, Paralink, Provable og Dos.Network. Disse tjenester giver orakler, der består af en smart kontrakt og nogle komponenter uden for kæden, som kan forespørge applikationsbrugergrænseflader (API'er) og derefter sende transaktioner for at opdatere dataene i den smarte kontrakt regelmæssigt.

Typer af blockchain-orakler

Oracles giver en blockchain eller smart kontrakt til at kommunikere med eksterne data. I stedet fungerer de som en grænseflade til verden uden for blockchain. Udefrakommende data skal formidles til det lukkede blockchain-system under mange omstændigheder, især når smarte kontrakter er knyttet til begivenheder i den virkelige verden. Eksterne data forespørges, verificeres og autentificeres af kryptoorakler, som derefter videresender dem til det lukkede system. Derefter vil de validerede data blive brugt til at validere en smart kontrakt.

Hardware- og softwareorakler

Selv om dette ikke altid er tilfældet, analyserer de fleste kryptoorakler digitale data. Hardware-orakler leverer data fra den fysiske verden, mens software-orakler leverer data fra digitale kilder såsom hjemmesider, servere eller databaser. Derudover kan information fra kamerabevægelsessensorer og radiofrekvensidentifikationssensorer (RFID) leveres og videresendes af hardware-orakler. Realtidsdata, såsom valutakurser, prisvariationer og rejseinformation, kan leveres gennem software-orakler.

Indgående og udgående orakler

Oracles etablerer en tovejskommunikationskanal med blockchains, der sender data ind og ud. Mens udgående orakler kan levere blockchain-data til omverdenen, er indgående orakler mere tilbøjelige til at levere off-chain - eller den virkelige verden - data til blockchainen. Derudover kan de importerede data repræsentere næsten alt fra aktivprisudsving til meteorologiske forhold til verifikation af gennemførte betalinger.

For indgående orakler kan et almindeligt programmerbart scenario være:Hvis et aktiv når en bestemt pris, skal du afgive en købsordre. På den anden side advarer udgående orakler omverdenen om en begivenhed, der fandt sted i kæden.

Centraliserede og decentraliserede orakler

Et centraliseret orakel administreres af en enkelt enhed og fungerer som den smarte kontrakts eneste datakilde. Det kan være farligt at bruge én informationskilde, fordi kontraktens effektivitet udelukkende afhænger af den enhed, der er ansvarlig for oraklet.

En dårlig skuespillers fjendtlige indgriben vil også direkte påvirke den smarte kontrakt. Det grundlæggende problem med centraliserede orakler er, at de har et enkelt point of failure, hvilket gør kontrakter mere sårbare over for angreb og svagheder.

Nogle af målene for decentraliserede orakler ligner dem for offentlige blockchains, såsom at minimere modpartsrisikoen. For eksempel gør de informationen leveret til smarte kontrakter mere pålidelig ved ikke at være afhængig af en enkelt kilde til sandhed.

Den smarte kontrakt konsulterer flere orakler for at vurdere dataens gyldighed og nøjagtighed; Det er derfor, decentraliserede orakler også er kendt som konsensus-orakler. Andre blockchains kan bruge decentraliserede oracle-tjenester leveret af nogle blockchain-oracle-projekter.

Menneskelige orakler

Personer med specialiseret viden inden for en specifik sektor kan nogle gange fungere som orakler. De kan indsamle oplysninger fra forskellige kilder, kontrollere deres legitimitet og konvertere dem til smarte kontrakter. Fordi menneskelige orakler kan bruge kryptografi til at bekræfte deres identitet, er chancerne for, at en svindler udgiver sig for dem og giver manipulerede data små.

Kontraktspecifikke orakler

Disse orakler er lavet til at fungere med smarte kontrakter, der er enkeltstående. Hvis udvikleren har til hensigt at implementere adskillige smarte kontrakter, vil det være nødvendigt at bygge forskellige kontraktspecifikke orakler.

Kontraktspecifikke orakler er ikke den tid og det arbejde værd at holde dem opdateret. I stedet er de ubelejlige og bør kun bruges i specifikke situationer.

Beregnings-orakler

Vi har lige talt om orakler med hensyn til at søge og levere data indtil videre (også kendt som databærer-orakler eller automatiserede orakler). Orakler kan dog bruges til at udføre enhver vilkårlig "off-chain" computerløsning, hvilket er særligt fordelagtigt i betragtning af Ethereums iboende blokgasbegrænsning og meget høje beregningsomkostninger.

Beregnings-orakler, i stedet for blot at videresende resultaterne af en forespørgsel, kan bruges til at udføre beregninger på et sæt input og returnere et beregnet resultat, som ellers ville være umuligt at beregne på kæden. For for eksempel at estimere udbyttet af en obligationskontrakt kunne et beregningsorakel bruges til at udføre en beregningsmæssigt kompleks regressionsberegning.

Oracle-designmønstre

Pr. definition udfører alle diskuterede orakler nogle få nøgleroller. Disse funktioner inkluderer evnen til at:

  • Indsaml data fra en ikke-blockchain-kilde.
  • Send dataene på kæden ved hjælp af en signeret meddelelse.
  • Gør dataene tilgængelige ved at gemme dem i en smart kontrakts lager.

Når data er gemt i en smart kontrakts lager, kan andre automatiserede aftaler få adgang til dem via beskedopkald, der påkalder oraklets smart kontrakts "hente" funktion. Det kan også "kaldes" direkte af Ethereum-noder eller netværksaktiverede klienter ved at "se ind i" oraklets lager.

De tre vigtigste måder at opsætte et orakel på kan kategoriseres som følger:

Læs med det samme

Umiddelbart læste orakler giver oplysninger, der kun er nødvendige for en hurtig beslutning, såsom "er denne elev over 25?" De, der ønsker at forespørge på denne type data, gør det normalt på "just-in-time" basis, hvilket betyder, at opslag kun foretages, når informationen er nødvendig.

Eksempler er opkaldskoder, akademiske certifikater, institutionelle medlemskaber, lufthavnsidentifikation og andre orakler.

Udgiv-abonner

Et orakel, der effektivt leverer en broadcast-tjeneste for data, der sandsynligvis vil ændre sig (måske både regelmæssigt og hyppigt), bliver enten spurgt af en smart kontrakt på kæden eller overvåget for opdateringer af en off-chain daemon . Vejrdata, prisfeeds, økonomiske eller sociale statistikker og trafikdata er blot nogle få eksempler på udgiv-abonner-opsætningen.

Anmodning-svar

Den mest udfordrende kategori er request-response:Det er her datapladsen er for stor til at blive gemt i en smart kontrakt, og brugere forventes kun at bruge en lille del af hele informationen på en tid. Det er også en levedygtig forretningsstrategi for dataudbydere.

I praksis kan et orakel som dette implementeres som et system af on-chain smarte kontrakter og off-chain infrastruktur til at overvåge anmodninger og hente og returnere data. En dataanmodning fra en decentral applikation er ofte en asynkron procedure med flere trin som følger:

Applikationer af orakler i DApps

Oracle er en mekanisme til at bygge bro mellem off-chain-verdenen og smarte kontrakter, der bruges af mange DApps på markedet. Følgende er nogle forekomster af data, som orakler kan levere:

  • Tids- og intervaldata bruges til hændelsesudløsere baseret på nøjagtige tidsmålinger.

  • Data fra kapitalmarkederne, såsom prissætning af tokeniserede aktiver og værdipapirer.

  • Benchmark-referencedata, såsom renter, inkluderet i smarte finansielle derivater.

  • Vejrdata bruges for eksempel til at beregne forsikringspræmier baseret på vejrudsigter.

  • Geolokaliseringsdata, f.eks. dem, der bruges i forsyningskædesporing.

  • For forsikringskontrakter kræves skadesbekræftelse.

  • Sportsbegivenheder bruges til at løse forudsigelsesmarkeder og fantasy-sportskontrakter.

  • Flystatistik, såsom dem, der bruges af grupper og klubber til at samle flybilletter.

Pas på sikkerhedsproblemerne

Oracles spiller en afgørende rolle i smart kontraktudførelse ved at bringe eksterne data ind i ligningen. På den anden side udgør orakler en enorm fare, da de, hvis de er betroede kilder og kan hackes, kan bringe udførelsen af ​​de smarte kontrakter, de leverer, i fare.

Generelt, mens man overvejer ansættelsen af ​​et orakel, skal tillidsmodellen overvejes nøje. Du ofrer muligvis den smarte kontrakts sikkerhed ved at udsætte den for potentielt forkerte input, hvis vi antager, at oraklet kan stole på. Men hvis sikkerhedsantagelserne overvejes nøje, kan orakler være værdifulde.

Nogle af disse bekymringer kan løses via decentraliserede orakler, der giver Ethereum smarte kontrakter med eksterne data, der ikke er tillid til. Du skal omhyggeligt vælge det, før du kan begynde at udforske oraklernes bro mellem Ethereum og den virkelige verden.


Blockchain
  1. Blockchain
  2. Bitcoin
  3. Ethereum
  4. Digital valutaveksling
  5. Minedrift