Blockchain-orakler forklaret
Hjem
Artikler
Blockchain-orakler forklaret

Blockchain-orakler forklaret

Let √łvet
Offentliggjort Jan 22, 2020Opdateret Nov 28, 2023
7m

Bidrag fra f√¶llesskabet ‚Äď Forfatter: Vallery Mou


Hvad er et blockchain-orakel?

Blockchain-orakler er tredjepartstjenester, der forsyner smart contracts med eksterne oplysninger. De tjener som broer mellem blockchains og omverdenen.

Blockchains og smart contracts kan ikke f√• adgang til off-chain-data (data, der befinder sig uden for netv√¶rket). For mange kontraktlige aftaler er det imidlertid afg√łrende at have relevante oplysninger fra omverdenen for at kunne gennemf√łre aftalen.

Det er her, blockchain-orakler kommer ind i billedet, da de skaber et link mellem data off-chain og data p√• k√¶den. Orakler er vigtige i blockchain-√łkosystemet, fordi de udvider det omr√•de, hvor smart contracts kan fungere. Uden blockchain-orakler ville smart contracts have meget begr√¶nset brug, da de kun ville have adgang til data fra deres netv√¶rk.¬†

Det er vigtigt at bem√¶rke, at et blockchain-orakel ikke er selve datakilden, men snarere det lag, der foresp√łrger, verificerer og autentificerer eksterne datakilder og derefter videresender disse oplysninger. De data, der sendes af orakler, kan have mange former ‚Äď prisoplysninger, en vellykket gennemf√łrelse af en betaling eller den temperatur, der er m√•lt af en sensor.¬†

For at kalde data fra omverdenen skal den relevante smart contract påberåbes, og der skal bruges netværksressourcer. Nogle orakler har også mulighed for ikke blot at videregive oplysninger til smart contracts, men også at sende dem tilbage til eksterne kilder.

Der findes mange forskellige typer orakler ‚Äď hvordan et blockchain-orakel fungerer, afh√¶nger helt af, hvad det er designet til. I denne artikel gennemg√•s nogle af disse design.


Eksempel på et blockchain-orakel

Lad os antage, at Alice og Bob indgår et væddemål om, hvem vinderen af præsidentvalget i USA bliver. Alice tror, at den republikanske kandidat vil vinde, mens Bob tror, at demokraten vil blive vinderen. De bliver enige om betingelserne for væddemålet og låser deres midler i en smart contract, som frigiver alle midlerne til vinderen baseret på valgresultatet.

Eftersom denne smart contract ikke kan interagere med eksterne data, er den afh√¶ngig af et orakel til at give den de n√łdvendige oplysninger ‚Äď i dette tilf√¶lde resultaterne af pr√¶sidentvalget. N√•r valget er overst√•et, foresp√łrger oraklet en betroet API for at finde ud af, hvilken kandidat der har vundet, og videregiver disse oplysninger til den p√•g√¶ldende smart contract. Denne smart contract sender derefter midlerne til Alice eller Bob, afh√¶ngigt af resultatet.

Uden oraklet, der videregav dataene, ville der ikke have været nogen måde at afvikle væddemålet på, hvor én af deltagerne ikke kunne snyde. 


Hvad er de forskellige typer af blockchain-orakler?

Blockchain-orakler kan klassificeres efter en række forskellige kvaliteter: 

  • Kilde ‚Äď stammer dataene fra software eller hardware?

  • Retningen af information ‚Äď er den indg√•ende eller udg√•ende?

  • Tillid ‚Äď er den centraliseret eller decentraliseret?

Et enkelt orakel kan falde ind under flere kategorier. F.eks. er et orakel, der henter oplysninger fra et virksomhedswebsite, et centraliseret indgående softwareorakel.


Softwareorakler

Softwareorakler interagerer med online informationskilder og overf√łrer dem til blockchainen. Disse oplysninger kan komme fra onlinedatabaser, servere, websites ‚Äď stort set alle datakilder p√• nettet.

Det faktum, at softwareorakler er forbundet til internettet, g√łr det ikke kun muligt for dem at levere oplysninger til smart contracts, men ogs√• at sende disse oplysninger i realtid. Det g√łr dem til √©n af de mest almindelige typer af blockchain-orakler.¬†

Oplysninger, der typisk leveres af software-orakler, kan omfatte valutakurser, priser på digitale aktiver eller flyoplysninger i realtid.


Hardwareorakler

Nogle smart contracts skal have en gr√¶nseflade med den virkelige verden. Hardwareorakler er designet til at hente oplysninger fra den fysiske verden og g√łre dem tilg√¶ngelige for smart contracts. S√•danne oplysninger kan videregives fra elektroniske sensorer, stregkodescannere og andre informationsafl√¶sningsenheder.

Et hardwareorakel "oversætter" i bund og grund begivenheder fra den virkelige verden til digitale værdier, som kan forstås af smart contracts.

Et eksempel herp√• kunne v√¶re en sensor, der kontrollerer, om en lastbil med varer er ankommet til et lastrum. Hvis den g√łr det, videresender den oplysningerne til en smart contract, som derefter kan udf√łre beslutninger p√• baggrund af dem.

Hvis du vil vide mere, kan du læse Blockchain-use cases: Forsyningskæde.


Indgående og udgående orakler

Indgående orakler sender oplysninger fra eksterne kilder til smart contracts, mens udgående orakler sender oplysninger fra smart contracts til den eksterne verden. 

Et eksempel på et indgående orakel er et orakel, der fortæller en smart contract, hvilken temperatur der er målt af en sensor. Et eksempel på et udgående orakel kan være en smart lås. Hvis der indsættes midler til en adresse, sender en pågældende smart contract disse oplysninger via et udgående orakel til en mekanisme, der låser smartlåsen op.


Centraliserede og decentraliserede orakler

Et centraliseret orakel kontrolleres af en enkelt enhed og er den eneste leverand√łr af oplysninger til en p√•g√¶ldende smart contract. Det kan v√¶re risikabelt at bruge kun √©n informationskilde ‚Äď effektiviteten af en smart contract afh√¶nger helt af den enhed, der kontrollerer oraklet. Desuden vil enhver ondsindet indblanding fra en ondsindet akt√łr have en direkte indvirkning p√• den p√•g√¶ldende smart contract. Hovedproblemet med centraliserede orakler er, at der findes et enkelt fejlpunkt, hvilket g√łr smart contracts mindre modstandsdygtige over for s√•rbarheder og angreb.

Decentraliserede orakler har nogle af de samme m√•l som public blockchains ‚Äď at undg√• modpartsrisiko. De √łger p√•lideligheden af de oplysninger, der leveres til smart contracts, ved ikke at v√¶re afh√¶ngige af en enkelt sandhedskilde. Den p√•g√¶ldende smart contract foresp√łrger flere orakler for at bestemme dataenes gyldighed og n√łjagtighed ‚Äď derfor kan decentraliserede orakler ogs√• kaldes konsensusorakler.

Nogle blockchain-projekter leverer decentraliserede orakeltjenester til andre blockchains. Decentraliserede orakler kan også være nyttige på markeder for forudsigelser, hvor gyldigheden af et bestemt resultat kan verificeres ved social konsensus.

Mens decentraliserede orakler sigter mod at opnå trustlessness, er det vigtigt at bemærke, at decentraliserede orakler ligesom trustless blockchain-netværk ikke helt fjerner tillid, men snarere fordeler den mellem mange deltagere.


Kontraktspecifikke orakler

Et kontraktspecifikt orakel er et orakel, der er designet til at blive brugt af en enkelt smart contract. Det betyder, at hvis man √łnsker at implementere flere smart contracts, skal der udvikles et forholdsm√¶ssigt antal kontraktspecifikke orakler.

Denne type orakel anses for at v√¶re meget tidskr√¶vende og dyr at vedligeholde. Virksomheder, der √łnsker at udtr√¶kke data fra en r√¶kke forskellige kilder, kan finde denne fremgangsm√•de meget upraktisk. P√• den anden side har udviklerne stor fleksibilitet til at skr√¶ddersy dem til specifikke krav, da kontraktspecifikke orakler kan designes fra bunden til at tjene en specifik use case.


Menneskelige orakler

Nogle gange kan personer med specialiseret viden inden for et bestemt omr√•de ogs√• fungere som orakler. De kan unders√łge og verificere oplysningernes √¶gthed fra forskellige kilder og overs√¶tte dem til smart contracts. Eftersom menneskelige orakler kan verificere deres identitet ved hj√¶lp af kryptografi, er muligheden for, at en svindler forfalsker sin identitet og leverer korrupte data, relativt lille.


Orakelproblemet

Eftersom smart contracts udf√łrer beslutninger baseret p√• data fra orakler, er de afg√łrende for et sundt blockchain-√łkosystem. Den st√łrste udfordring ved at designe orakler er, at hvis oraklet er kompromitteret, er den smart contract, der er afh√¶ngig af det, ogs√• kompromitteret. Dette kaldes ofte for orakelproblemet.¬†

Eftersom orakler ikke er en del af den prim√¶re blockchain-konsensus, er de desv√¶rre ikke en del af de sikkerhedsmekanismer, som public blockchains kan tilbyde. Tillidskonflikten mellem orakler fra tredjeparter og den trustless udf√łrelse af smart contracts er stadig et stort set ul√łst problem.

MITM-angreb (man-in-the-middle) kan ogs√• v√¶re en trussel, hvor en ondsindet akt√łr f√•r adgang til datastr√łmmen mellem oraklerne og kontrakten og √¶ndrer eller forfalsker dataene. ¬†


Sammenfatning

En p√•lidelig mekanisme, der letter kommunikationen mellem smart contracts og den eksterne verden, er afg√łrende for den globale udbredelse af blockchains. Uden blockchain-orakler ville smart contracts kun kunne basere sig p√• oplysninger, der allerede findes i deres netv√¶rk, hvilket ville begr√¶nse deres muligheder betydeligt.

Decentraliserede orakler har potentiale til at indf√łre sikkerhedsmekanismer, der kan fjerne en stor del af systemiske risici fra blockchain-√łkosystemet. Blockchain-orakler er fortsat √©n af de vigtige byggesten, der skal implementeres p√• en sikker, p√•lidelig og trustless m√•de, for at blockchain-√łkosystemet kan vokse.¬†