Vi förklarar blockkedjeorakel
Hem
Artiklar
Vi förklarar blockkedjeorakel

Vi förklarar blockkedjeorakel

Avancerad
Publicerad Jan 22, 2020Uppdaterad Nov 28, 2023
7m

Från communityn – Författare: Vallery Mou


Vad är ett blockkedje-orakel?

Blockkedjeorakler är tjänster från tredje part som ger extern information till smarta kontrakt. De fungerar som broar mellan blockkedjor och omvärlden.

Blockkedjor och smarta kontrakt kan inte komma åt data utanför kedjan (data som finns utanför nätverket). För många kontraktsavtal är det dock viktigt att ha relevant information från omvärlden för att genomföra avtalet.

Det är här blockkedjeorakel kommer in i bilden, eftersom de ger en länk mellan data utanför kedjan och på kedjan. Orakler är viktiga inom blockkedjeekosystem, eftersom de breddar området där smarta kontrakt kan fungera. Utan blockkedjeorakel skulle smarta kontrakt ha mycket begränsad användning, eftersom de bara skulle ha tillgång till data från sina nätverk. 

Det är viktigt att komma ihåg att ett blockkedjeorakel inte är själva datakällan, utan snarare det lager som frågar, verifierar och autentiserar externa datakällor och sedan vidarebefordrar den informationen. Data som överförs av orakler finns i många olika former – prisinformation, framgångsrikt slutförande av en betalning eller temperaturen uppmätt av en sensor. 

För att få data från omvärlden måste det smarta kontraktet åberopas och nätverksresurser måste spenderas. Vissa orakler har även förmågan att inte bara vidarebefordra information till smarta kontrakt, utan att skicka tillbaka den till externa källor.

Det finns många olika typer av orakel – hur ett blockkedjeorakel fungerar beror helt på vad det är designat för. Den här artikeln kommer att gå igenom några av dessa typer.


Exempel på ett blockkedjeorakel

Anta att Alice och Bob satsar på vem vinnaren av presidentvalet i USA kommer att bli. Alice tror att den republikanska kandidaten kommer att vinna, medan Bob tror att demokraten kommer att bli vinnaren. De är överens om villkoren för vadet och låser sina pengar i ett smart kontrakt, vilket kommer att släppa alla tillgångar till vinnaren baserat på resultatet i valet.

Eftersom det smarta kontraktet inte kan interagera med externa data, måste det lita på ett orakel för att få den nödvändiga informationen – som i detta fall är resultatet av presidentvalet. Efter att valet är över frågar oraklet ett pålitligt API för att ta reda på vilken kandidat som har vunnit och vidarebefordrar denna information till det smarta kontraktet. Kontraktet skickar sedan tillgångarna till Alice eller Bob, beroende på resultatet.

Om oraklet inte vidarebefordrar data finns det inte något sätt att bestämma resultatet från detta vad, på ett sätt som inte kunde bestämmas av en av deltagarna. 


Vilka är de olika typerna av blockkedjeorakel?

Blockkedjeorakel kan klassificeras beroende på ett antal olika kvaliteter: 

  • Källa – kommer data från programvara eller hårdvara?

  • Informationsriktning – är den inkommande eller utgående?

  • Förtroende – är det centraliserat eller decentraliserat?

Ett enda orakel kan ingå i flera kategorier. Ett orakel som hämtar information från en företagswebbplats är till exempel ett centraliserat inkommande programvaruorakel.


Programvaruorakler

Programvaruorakel interagerar med informationskällor online och överför dessa till blockkedjan. Denna information kan komma från onlinedatabaser, servrar, webbplatser – i huvudsak vilken datakälla som helst på webben.

Det faktum att programvaruorakel är anslutna till internet gör det inte bara möjligt för dem att tillhandahålla information till smarta kontrakt, utan också att överföra den informationen i realtid. Detta gör dem till en av de vanligaste typerna av blockkedjeorakel. 

Information som vanligtvis tillhandahålls av programvarorakel kan vara växelkurser, digitala tillgångspriser eller information om flygplansrutter i realtid.


Hårdvaruorakel

Vissa smarta kontrakt måste ha ett gränssnitt med den verkliga världen. Hårdvaruorakel är utformade för att få information från den fysiska världen och göra informationen tillgänglig för smarta kontrakt. Sådan information kan vidarebefordras från elektroniska sensorer, streckkodsläsare och andra informationsläsningsenheter.

Ett hårdvaruorakel ”översätter” i huvudsak verkliga händelser till den digitala värden som kan förstås av smarta kontrakt.

Ett exempel på detta kan vara en sensor som kontrollerar om en lastbil som transporterar varor har anlänt till en lastkaj. Om den har gjort det vidarebefordrar den informationen till ett smart kontrakt som sedan kan utföra beslut baserat på detta.

Om du vill läsa mer om detta kan du kolla in Blockkedjans användningsområden: leveranskedjor.


Inkommande och utgående orakel

Inkommande orakler överför information från externa källor till smarta kontrakt, medan utgående orakler skickar information från smarta kontrakt till omvärlden. 

Ett exempel på ett inkommande orakel är ett som berättar för ett smart kontrakt vad temperaturen är från en sensor. Ett exempel på ett utgående orakel kan föreställas som ett smart lås. Om tillgångar sätts in på en adress skickar det smarta kontraktet denna information via ett utgående orakel till en mekanism som låser upp det smarta låset.


Centraliserade och decentraliserade orakel

Ett centraliserat orakel styrs av en enda enhet och är den enda leverantören av information för det smarta kontraktet. Att bara använda en informationskälla kan vara riskabelt – kontraktets effektivitet beror helt på den enhet som kontrollerar oraklet. Alla skadliga störningar från en bedragare kommer också att ha en direkt inverkan på det smarta kontraktet. Det största problemet med centraliserade orakel är förekomsten av en enda felpunkt, vilket gör kontrakten mindre motståndskraftiga mot sårbarheter och attacker.

Decentraliserade orakel har några av målen som offentliga blockkedjor har – att undvika motpartsrisk. De ökar tillförlitligheten hos informationen till smarta kontrakt genom att inte förlita sig på en enda källa. Det smarta kontraktet frågar flera orakler för att bestämma datagiltigheten och -noggrannhet – det är därför decentraliserade orakler också kan kallas konsensusorakel.

Vissa blockkedjeprojekt tillhandahåller decentraliserade orakeltjänster till andra blockkedjor. Decentraliserade orakler kan även vara användbara på förutsägelsemarknader, där giltigheten av ett visst resultat kan verifieras genom social konsensus.

Även om decentraliserade orakler siktar på att uppnå pålitlighet, är det viktigt att notera att precis som pålitliga blockkedjenätverk eliminerar decentraliserade orakler inte helt förtroendet från en enda källa, utan distribuerar det snarare mellan många deltagare.


Kontraktsspecifika orakler

Ett kontraktsspecifikt orakel är utformat för att användas av ett enda smart kontrakt. Detta innebär att om du vill distribuera flera smarta kontrakt så måste ett proportionerligt antal kontraktsspecifika orakler utvecklas.

Denna typ av orakel anses vara mycket tidskrävande och dyra att underhålla. Företag som vill extrahera data från olika källor kan tycka att detta tillvägagångssätt är mycket opraktiskt. Eftersom kontraktsspecifika orakel kan utformas från grunden för att tjäna ett specifikt syfte, har å andra sidan utvecklarna hög flexibilitet för att skräddarsy dem efter specifika krav.


Mänskliga orakel

Ibland kan även individer med specialkunskaper inom ett visst område fungera som orakel. De kan undersöka och verifiera äktheten av information från olika källor och översätta informationen till smarta kontrakt. Eftersom mänskliga orakel kan verifiera sin identitet med hjälp av kryptografi, är risken att en bedragare förfalskar sin identitet och tillhandahåller felaktiga data relativt låg.


Orakelproblemet

Eftersom smarta kontrakt utför beslut baserat på data från orakler, är de nyckeln till ett hälsosamt blockkedje-ekosystem. Den största utmaningen med att utforma orakel är att om oraklet hackas, så kommer det smarta kontraktet som förlitar sig på det också att hackas. Detta kallas ofta för orakelproblemet. 

Eftersom orakel inte är en del av det huvudsakliga blockkedjesamförståndet är de tyvärr inte en del av de säkerhetsmekanismer som offentliga blockkedjor kan tillhandahålla. Tillitskonflikten mellan tredjepartsorakel och det pålitliga genomförandet av smarta kontrakt är fortfarande en mestadels olöst fråga.

Attacker från mellanhänder kan också vara ett hot, där en skadlig aktör får tillgång till dataflödet mellan oraklerna och kontraktet och modifierar eller förfalskar data.  


Sammanfattningsvis

En pålitlig mekanism som underlättar kommunikationen mellan smarta kontrakt och omvärlden är avgörande för det globala antagandet av blockkedjor. Utan blockkedjeorakel skulle smarta kontrakt bara behöva förlita sig på information som redan finns i deras nätverk, vilket avsevärt skulle begränsa deras kapacitet.

Decentraliserade orakel har potential att införa skyddsmekanismer som kan eliminera flera systemiska risker från blockkedje-ekosystemet. Blockkedjeorakel är fortfarande en av de kritiska byggstenarna som ska implementeras på ett säkert, tryggt och pålitligt sätt för att blockkedje-ekosystemet ska kunna växa.