Vad är ett blockchain-orakel och hur fungerar det?

Vad är blockchain-orakel?

Blockchain-orakel är enheter som kopplar blockkedjor till externa system, vilket gör att smarta kontrakt kan utföras beroende på verkliga in- och utdata. Oracles ger Web 3.0-ekosystemet en metod för att ansluta till befintliga äldre system, datakällor och avancerade beräkningar.

Decentraliserade orakelnätverk (DON) möjliggör implementering av smarta hybridkontrakt, där off-chain-infrastruktur och on-chain-kod kopplas för att tillhandahålla komplexa decentraliserade applikationer (DApps) som reagerar på verkliga händelser och interagerar med traditionella system.

Låt oss säga att Alice och Bob vill satsa på resultatet av en hästkapplöpning. Totalt 80 $ hålls i deposition av ett smart kontrakt, där Alice satsar 50 $ på lag X och Bob satsar 30 $ på lag Y. Hur vet det smarta kontraktet om det ska ge pengarna till Alice eller Bob när spelet är över? Lösningen är att en orakelmekanism krävs för att hämta exakta matchningsresultat utanför kedjan och säkert och tillförlitligt leverera dem till blockkedjan.

På grund av den distribuerade huvudbokaspekten av blockkedjan måste varje nod i nätverket få samma resultat med samma input. Till exempel, om en nod försöker validera en annan nods transaktion kommer den att få ett annat resultat. Denna arkitektur skapades för att vara deterministisk.

Konsensus är tekniken för att komma överens om ett datavärde i blockchain, och determinism krävs för att noder ska nå konsensus. Några av dem kanske är bekanta för dig, som proof-of-work (PoW) med Nakamoto-konsensus och proof-of-stake (PoS) med bysantinsk konsensus. En av de viktigaste faktorerna som gör att blockchain fungerar i första hand är konsensus.

Men blockchain-världen måste ansluta till den faktiska världen. För att ha DeFi måste vi få in priset på Ether (ETH) och andra kryptovalutor i ett kontrakt. Vi kräver meteorologiska data för att tillhandahålla decentraliserade, tillitslösa försäkringar. För att använda blockchain för en av dess viktigaste användningsområden, smarta kontrakt, behöver vi data. Så, med tanke på denna begränsning, hur kopplar vi samman världarna?

Den här guiden syftar till att förklara vad blockchain-orakel gör, blockchain-orakelproblemet och introducera olika blockchain-orakelprojekt.

Blockchain-orakelproblem

Blockkedjeoraklets dilemmat belyser en viktig begränsning av smarta kontrakt, det vill säga att de inte kan ansluta till data och system utanför deras ursprungliga blockkedjekontext på något sätt. Externa resurser hänvisas till som "off-chain", medan data som för närvarande registreras på blockchain hänvisas till som "on-chain".

Blockkedjor uppnår sina mest fördelaktiga egenskaper genom att vara målmedvetet separerade från externa system, såsom förhindrande av angrepp med dubbla utgifter, stark konsensus om äktheten av användartransaktioner och minskning av nätverksavbrottstid. För att säkert interagera med system utanför kedjan från en blockchain och för att överbrygga klyftan mellan två miljöer, behöver du en extra del av infrastruktur som kallas ett "orakel."

Eftersom den stora majoriteten av smarta kontraktsanvändningsfall, som DeFi, kräver kunskap om verkliga data och händelser som inträffar utanför kedjan, är det avgörande att lösa orakelproblemet. Som ett resultat breddar orakel de typer av digitala kontrakt som blockkedjor kan möjliggöra genom att tillhandahålla en universell inkörsport till resurser utanför kedjan samtidigt som blockkedjans nyckelsäkerhetsegenskaper bibehålls.

Tillgångspriser för finans, identitetsverifiering för myndigheter, slumpmässighet för spel, väderinformation för försäkringar är bara några av de branscher som tjänar på att integrera orakel med smarta kontrakt.

Vad gör blockchain-orakel?

Alla enheter eller enheter som kopplar en deterministisk blockkedja till data utanför kedjan kallas ett blockkedjeorakel. Varje datainmatning dirigeras genom en extern transaktion i dessa orakel.

Men vi kan vara säkra på att blockkedjan innehåller all information som behövs för att autentisera sig på detta sätt. Orakel betraktas som blockchain-mellanvara eftersom de fungerar som en länk mellan de två världarna.

Chainlink är industristandarden för decentraliserade orakel eftersom den övervinner både åtkomst till extern data och centraliseringen av problem med smarta kontrakt. Så, vad är Chainlink-orakel?

Chainlink är ett decentraliserat orakelnätverk som matar verklig data till smarta blockchain-kontrakt. LINK-tokens är digitala tillgångstokens som används för att betala för nätverkstjänster.

Å andra sidan orsakar ett enda centraliserat orakel det speciella problem som ett decentraliserat, blockkedjesäkrat smart kontrakt ska lösa:en enda punkt av misslyckande. Så hur skulle du veta om din data är korrekt om oraklet är felaktigt eller äventyrat? Vad hjälper det med ett säkert, pålitligt, smart kontrakt på blockkedjan om data den förlitar sig på är misstänkt?

Det här problemet löses av Chainlink (ett decentraliserat nätverk av noder), som använder orakel för att tillhandahålla data och information från källor utanför blockkedjan till smarta kontrakt i blockkedjan. Denna teknik, tillsammans med annan säker teknik, tar bort de tillförlitlighetssvårigheter som kan uppstå om bara en enda centraliserad källa används.

Chainlink är blockkedjeagnostisk eftersom den kopplar samman alla större offentliga och privata blockkedjemiljöer med ett enda ramverk, vilket ger en typisk abstraktionsnivå för kommunikation över nätverk.

Därför kan du referera till decentraliserad data i kedjan som redan har extraherats från den verkliga världen och samlats in med hjälp av tjänster som Chainlink, som liknar ett offentligt bibliotek, förutom decentraliserad data. Du kan till och med skapa dina modulära orakelnätverk för att få den specifik information du behöver. Dessutom kan du utföra beräkningar utanför kedjan och överföra data till den faktiska världen.

Andra toppblockkedjeorakel är Witnet, Paralink, Provable och Dos.Network. Dessa tjänster tillhandahåller orakel som består av ett smart kontrakt och vissa komponenter utanför kedjan som kan fråga efter applikationsanvändargränssnitt (API) och sedan skicka transaktioner för att uppdatera data i det smarta kontraktet regelbundet.

Typer av blockchain-orakel

Oracles ger en blockchain eller smart kontrakt för att kommunicera med extern data. Istället fungerar de som ett gränssnitt till världen utanför blockkedjan. Extern data måste förmedlas till det slutna blockkedjesystemet under många omständigheter, särskilt när smarta kontrakt är kopplade till verkliga händelser. Extern data efterfrågas, verifieras och autentiseras av kryptoorakel, som sedan vidarebefordrar den till det slutna systemet. Efter det skulle den validerade datan användas för att validera ett smart kontrakt.

Orakel för maskinvara och programvara

Även om detta inte alltid är fallet, analyserar de flesta kryptoorakel digital data. Hårdvaruorakel levererar data från den fysiska världen, medan mjukvaruorakel levererar data från digitala källor som webbplatser, servrar eller databaser. Dessutom kan information från kamerans rörelsesensorer och sensorer för radiofrekvensidentifiering (RFID) levereras och vidarebefordras av hårdvaruorakel. Realtidsdata, såsom växelkurser, prisvariationer och reseinformation, kan levereras genom mjukvaruorakel.

Inkommande och utgående orakel

Oracles etablerar en tvåvägskommunikationskanal med blockkedjor och skickar data in och ut. Medan utgående orakel kan leverera blockkedjedata till omvärlden, är det mer sannolikt att inkommande orakel levererar data utanför kedjan – eller verklig-världen – till blockkedjan. Dessutom kan den importerade informationen representera nästan allt från prissvängningar på tillgångar till meteorologiska förhållanden till verifiering av genomförda betalningar.

För inkommande orakel kan ett vanligt programmerbart scenario vara:Om en tillgång når ett specifikt pris, lägg en köporder. Å andra sidan varnar utgående orakel omvärlden om en händelse som inträffade i kedjan.

Centraliserade och decentraliserade orakel

Ett centraliserat orakel hanteras av en enda enhet och fungerar som det smarta kontraktets enda datakälla. Att bara använda en informationskälla kan vara farligt eftersom kontraktets effektivitet enbart är beroende av den enhet som ansvarar för oraklet.

En dålig skådespelares fientliga ingripande kommer också att direkt påverka det smarta kontraktet. Den grundläggande frågan med centraliserade orakel är att de har en enda punkt av misslyckande, vilket gör kontrakt mer sårbara för attacker och svagheter.

En del av målen för decentraliserade orakel liknar dem för offentliga blockkedjor, som att minimera motpartsrisken. Till exempel gör de informationen som levereras till smarta kontrakt mer tillförlitlig genom att inte vara beroende av en enda källa till sanning.

Det smarta kontraktet konsulterar flera orakel för att bedöma datas giltighet och riktighet; det är därför decentraliserade orakel också kallas konsensusorakel. Andra blockkedjor kan använda decentraliserade orakeltjänster som tillhandahålls av vissa blockkedjeorakelprojekt.

Mänskliga orakel

Personer med specialkunskaper inom en specifik sektor kan ibland fungera som orakel. De kan samla in information från olika källor, kontrollera dess legitimitet och omvandla den till smarta kontrakt. Eftersom mänskliga orakel kan använda kryptografi för att verifiera sin identitet, är chansen liten att en bedragare utger sig för att vara dem och ge manipulerad data.

Kontraktsspecifika orakel

Dessa orakel är gjorda för att fungera med smarta kontrakt som är enstaka. Om utvecklaren har för avsikt att använda flera smarta kontrakt kommer det att bli nödvändigt att bygga olika kontraktsspecifika orakel.

Kontraktsspecifika orakel är inte värda den tid och det arbete som krävs för att hålla dem uppdaterade. Istället är de obekväma och bör endast användas i specifika situationer.

Beräkningsorakel

Vi har precis pratat om orakel i termer av att söka och tillhandahålla data hittills (även känd som databärarorakel eller automatiserade orakel). Orakel kan dock användas för att utföra alla godtyckliga "off-chain" beräkningslösningar, vilket är särskilt fördelaktigt med tanke på Ethereums inneboende blockgasbegränsning och mycket höga beräkningskostnad.

Beräkningsorakel, snarare än att bara förmedla resultaten av en fråga, kan användas för att utföra beräkningar på en uppsättning indata och returnera ett beräknat resultat som annars skulle vara omöjligt att beräkna i kedjan. Till exempel, för att uppskatta avkastningen på ett obligationskontrakt, kan ett beräkningsorakel användas för att utföra en beräkningsmässigt komplex regressionsberäkning.

Oracle designmönster

Per definition har alla diskuterade orakel några nyckelroller. Dessa funktioner inkluderar förmågan att:

  • Samla in data från en icke-blockkedjekälla.
  • Skicka data i kedjan med ett signerat meddelande.
  • Gör informationen tillgänglig genom att lagra den i lagringen av ett smart kontrakt.

När data väl har lagrats i ett smart kontrakts lagring kan andra automatiserade avtal komma åt det via meddelandeanrop som anropar oraklets smarta kontrakts "hämta"-funktion. Det kan också "anropas" direkt av Ethereum-noder eller nätverksaktiverade klienter genom att "se in i" oraklets lagring.

De tre huvudsakliga sätten att ställa in ett orakel kan kategoriseras enligt följande:

Läs omedelbart

Okakellästa omedelbart ger information som bara krävs för ett snabbt beslut, till exempel "är den här eleven över 25?" De som vill fråga efter den här typen av data gör det oftast på "just-in-time"-basis, vilket innebär att uppslagningen endast görs när informationen behövs.

Exempel är nummerkoder, akademiska certifikat, institutionella medlemskap, flygplatsidentifiering och andra orakel.

Publicera-prenumerera

Ett orakel som effektivt tillhandahåller en sändningstjänst för data som sannolikt kommer att ändras (kanske både regelbundet och ofta) blir antingen efterfrågad av ett smart kontrakt på kedjan eller bevakas efter uppdateringar av en off-chain daemon . Väderdata, prisflöden, ekonomi- eller socialstatistik och trafikdata är bara några exempel på publicera-prenumerera-inställningen.

Begäran-svar

Den mest utmanande kategorin är begäran-svar:Det är här datautrymmet är för stort för att lagras i ett smart kontrakt, och användare förväntas bara använda en liten del av hela informationen vid en tid. Det är också en hållbar affärsstrategi för dataleverantörer.

I praktiken kan ett orakel som detta implementeras som ett system med smarta kontrakt i kedjan och infrastruktur utanför kedjan för att övervaka förfrågningar och hämta och returnera data. En databegäran från en decentraliserad applikation är ofta en asynkron procedur med flera steg enligt följande:

Applikationer av orakel i DApps

Oracle är en mekanism för att överbrygga gapet mellan världen utanför kedjan och smarta kontrakt som används av många DApps på marknaden. Följande är några exempel på data som orakel kan tillhandahålla:

  • Tids- och intervalldata används för händelseutlösare baserat på exakta tidsmätningar.

  • Data från kapitalmarknaderna, såsom prissättningspaket av tokeniserade tillgångar och värdepapper.

  • Referensdata för benchmark, såsom räntor, inkluderade i smarta finansiella derivat.

  • Väderdata, till exempel, används för att beräkna försäkringspremier baserat på väderprognoser.

  • Geolokaliseringsdata, t.ex. den som används vid spårning av försörjningskedjan.

  • För försäkringsavtal krävs skadeverifiering.

  • Sportevenemang används för att lösa förutsägande marknader och fantasysportkontrakt.

  • Flygstatistik, som den som används av grupper och klubbar för att slå ihop flygbiljetter.

Se upp för säkerhetsproblemen

Oracles spelar en avgörande roll i smart kontraktsutförande genom att ta med extern data i ekvationen. Å andra sidan utgör orakel en enorm fara eftersom de, om de är pålitliga källor och kan hackas, kan äventyra genomförandet av de smarta kontrakt de matar in.

I allmänhet, när man överväger att anställa ett orakel, måste förtroendemodellen övervägas noggrant. Du kan offra det smarta kontraktets säkerhet genom att utsätta det för potentiellt felaktiga indata om vi antar att oraklet kan litas på. Men om säkerhetsantagandena övervägs noggrant kan orakel vara värdefulla.

En del av dessa problem kan lösas via decentraliserade orakel, vilket ger Ethereum smarta kontrakt med extern data som inte är betrodd. Du måste noggrant välja den innan du kan börja utforska oraklens bro mellan Ethereum och den verkliga världen.


Blockchain
  1. Blockchain
  2.   
  3. Bitcoin
  4.   
  5. Ethereum
  6.   
  7. Digital valutaväxling
  8.   
  9. Brytning