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.