Orakler kommer til undsætning

Orakler kommer til undsætning

Blockchain-orakler løser problemet med at levere information fra omverdenen til blockchain. Men det er vigtigt for os at vide, hvilke vi kan stole på.

В artiklen om lanceringen af ​​kataloget Bølger orakler vi skrev om betydningen af ​​orakler for blockchain.

Decentrale applikationer har ikke adgang til data uden for blockchain. Derfor skabes der små programmer – orakler – der får adgang til de nødvendige data fra omverdenen og registrerer dem på blockchainen.

Baseret på typen af ​​datakilde kan orakler opdeles i tre kategorier: software, hardware og menneskelig.

Software-orakler modtage og behandle data fra internettet - såsom lufttemperatur, råvarepriser, tog- og flyforsinkelser. Oplysninger kommer fra onlinekilder såsom API'er, og oraklet udtrækker dem og placerer dem på blockchain. Læs om, hvordan du laver et simpelt software-orakel her.

Hardware-orakler spor objekter i den virkelige verden ved hjælp af enheder og sensorer. For eksempel optager et videokamera, der er kalibreret til at krydse en linje, biler, der kører ind i et bestemt område. Oraklet registrerer det faktum at krydse en streg i blockchainen, og baseret på disse data kan det decentraliserede applikationsscript for eksempel igangsætte udstedelse af en bøde og debitering af tokens fra bilejerens konto.

Menneskelige orakler bruge data indtastet af mennesker. De anses for at være de mest progressive på grund af deres uafhængige syn på udfaldet af begivenheden.

Vi har for nylig leveret et værktøj, der gør det muligt at skrive oracle-data til blockchain i henhold til en given specifikation. Det fungerer ekstremt enkelt: du skal bare registrere dig orakel kortved at udfylde specifikationen. Datatransaktioner kan derefter publiceres i henhold til denne specifikation via Waves Oracles-grænsefladen. Læs mere om værktøjet på vores dokumentation.

Orakler kommer til undsætning

Sådanne standardiserede værktøjer og grænseflader gør livet lettere for både udviklere og brugere af blockchain-tjenester. Vores værktøj er specielt nyttigt til menneskelige orakler og kan f.eks. bruges til at registrere certifikater eller ophavsrettigheder til alle objekter.

Men når du bruger orakler, opstår spørgsmålet om tillid til de oplysninger, der modtages fra dem. Er kilden pålidelig? Vil data blive modtaget til tiden? Derudover er der risiko for, at oraklet vil snyde brugerne ved bevidst at give urigtige oplysninger til egen fordel.

Som et eksempel kan du overveje et orakel, der giver information om sportsbegivenheder til en decentraliseret spillebørs.

Begivenheden er hovedkampen i UFC 242-turneringen, Khabib Nurmagomedov vs. Dustin Poirier. Ifølge bookmakere er Nurmagomedov kampens klare favorit. Du kunne spille på hans sejr med odds 1,24, hvilket svarer til en sandsynlighed på 76%. Oddsene for Poiriers sejr var 4,26 (22%), og oddsene for uafgjort blev af bookmakere estimeret til 51,0 (2%).

Orakler kommer til undsætning

Scriptet accepterer brugerindsatser på alle tre mulige udfald, indtil det modtager information fra oraklet om det faktiske resultat af kampen. Dette er det eneste kriterium for fordeling af gevinster.

Det er nu kendt, at Nurmagomedov vandt. Lad os dog forestille os, at den skruppelløse ejer af oraklet, der planlagde bedraget på forhånd, placerede et væddemål på resultatet med de mest fordelagtige odds - uafgjort. Når væddemålsbanken har nået et stort volumen, begynder ejeren af ​​oraklet at registrere falsk information i blockchain om det formodede uafgjorte resultat af kampen. Det decentraliserede udvekslingsscript har ikke mulighed for at dobbelttjekke nøjagtigheden af ​​de modtagne data og fordeler kun gevinster i overensstemmelse med disse data.

Hvis den potentielle fortjeneste fra denne form for bedrageri er højere end den forventede indtægt for et ærligt orakel, og risikoen for at gå til retten er lav, øges sandsynligheden for uærlige handlinger fra ejeren af ​​oraklet betydeligt.

En mulig løsning på problemet er at anmode om data fra flere orakler og bringe de resulterende værdier til enighed. Der er flere typer konsensus:

  • alle orakler gav den samme information
  • de fleste orakler gav de samme oplysninger (2 ud af 3, 3 ud af 4 osv.)
  • bringer orakeldata til gennemsnitsværdien (der er mulige muligheder, hvor maksimum- og minimumværdierne først kasseres)
  • alle orakler gav ensartede oplysninger med en på forhånd aftalt tolerance (for eksempel kan økonomiske citater fra forskellige kilder variere med 0,00001, og det er en umulig opgave at opnå et nøjagtigt match)
  • vælg kun unikke værdier fra de modtagne data

Lad os vende tilbage til vores decentraliserede spillebørs. Når man bruger en "3 ud af 4" konsensus, vil et orakel, der rapporterer uafgjort, ikke være i stand til at påvirke udførelsen af ​​scriptet, forudsat at de tre andre orakler giver pålidelig information.
Men en skruppelløs bruger kan eje tre af de fire orakler, og så vil han kunne give et afgørende flertal.

Når du kæmper for oraklers integritet, kan du indføre en vurdering for dem eller et bødesystem for upålidelige data. Du kan også tage "gulerod"-ruten og tilbyde en belønning for ægthed. Men ingen tiltag vil helt undgå for eksempel ratinginflation eller et uretfærdigt flertal.

Så er det værd at opfinde komplekse tjenester, eller vil det være nok at have et konsensusværktøj, der giver dig mulighed for, som på en supermarkedshylde, at vælge for eksempel fem orakler, der leverer de nødvendige data, indstille typen af ​​konsensus og få resultatet?

For eksempel har en decentral applikation brug for temperaturdata i grader Celsius. I orakelkataloget finder vi fire orakler, der leverer sådanne data, indstiller konsensustypen til "gennemsnitlig" og fremsætter en anmodning.

Antag, at oraklerne gav følgende værdier: 18, 17, 19 og 21 grader. En forskel på tre grader kan være ret kritisk for udførelsen af ​​scriptet. Tjenesten behandler resultatet og får en gennemsnitlig temperaturværdi på 18.75 grader. Det decentrale applikationsscript vil modtage dette nummer og arbejde med det.

Orakler kommer til undsætning

I sidste ende ligger beslutningen hos forbrugeren: om man skal stole på et orakel og bruge dets data, eller om man skal bygge en konsensus mellem flere orakler valgt efter eget skøn.

Under alle omstændigheder er dataorakler et ret nyt felt. Det er på det stadie, hvor brugerne selv kan bestemme, i hvilken retning det skal udvikle sig. Derfor vil vi gerne høre din mening. Er ovenstående værktøj nødvendigt for orakler? Hvordan ser du på fremtiden for data-orakler generelt? Del din mening i kommentarerne og i vores officielle gruppe i Telegram.

Kilde: www.habr.com

Tilføj en kommentar