Oracolele vin în ajutor

Oracolele vin în ajutor

Oracolele blockchain rezolvă problema furnizării de informații din lumea exterioară către blockchain. Dar este important pentru noi să știm în care putem avea încredere.

В articol despre lansarea catalogului Waves Oracles am scris despre importanța oracolelor pentru blockchain.

Aplicațiile descentralizate nu au acces la date din afara blockchain-ului. Prin urmare, sunt create mici programe - oracole - care au acces la datele necesare din lumea exterioară și le înregistrează pe blockchain.

În funcție de tipul sursei de date, oracolele pot fi împărțite în trei categorii: software, hardware și uman.

Oracole software primiți și procesați date de pe Internet - cum ar fi temperatura aerului, prețurile mărfurilor, întârzierile trenurilor și avioanelor. Informațiile provin din surse online, cum ar fi API-urile, iar oracolul le extrage și le plasează în blockchain. Citiți despre cum să faceți un oracol software simplu aici.

Oracole hardware urmăriți obiectele din lumea reală folosind dispozitive și senzori. De exemplu, o cameră video calibrată să traverseze o linie înregistrează mașinile care intră într-o anumită zonă. Oracolul înregistrează faptul trecerii unei linii în blockchain, iar pe baza acestor date, scriptul aplicației descentralizate poate, de exemplu, să inițieze emiterea unei amenzi și debitarea de jetoane din contul proprietarului mașinii.

Oracole umane utilizați datele introduse de oameni. Sunt considerați cei mai progresiști ​​datorită viziunii lor independente asupra rezultatului evenimentului.

Am furnizat recent un instrument care permite ca datele oracle să fie scrise în blockchain în conformitate cu o specificație dată. Funcționează extrem de simplu: trebuie doar să vă înregistrați card oracolprin completarea caietului de sarcini. Tranzacțiile de date pot fi apoi publicate conform acestei specificații prin interfața Waves Oracles. Citiți mai multe despre instrument la documentația noastră.

Oracolele vin în ajutor

Astfel de instrumente și interfețe standardizate fac viața mai ușoară atât dezvoltatorilor, cât și utilizatorilor de servicii blockchain. Instrumentul nostru este util în special pentru oracolele umane și poate fi folosit, de exemplu, pentru a înregistra certificate sau drepturi de autor pentru orice obiect.

Dar atunci când folosiți oracole, se pune problema încrederii în informațiile primite de la acestea. Este de încredere sursa? Vor fi primite datele la timp? În plus, există riscul ca oracolul să înșele utilizatorii furnizând în mod deliberat informații incorecte în propriul beneficiu.

Ca exemplu, luați în considerare un oracol care oferă informații despre evenimente sportive pentru un schimb de pariuri descentralizat.

Evenimentul este lupta principală a turneului UFC 242, Khabib Nurmagomedov vs. Dustin Poirier. Potrivit caselor de pariuri, Nurmagomedov este favoritul clar al luptei. Ai putea paria pe victoria lui cu cota de 1,24, ceea ce corespunde unei probabilități de 76%. Cota pentru victoria lui Poirier a fost de 4,26 (22%), iar cota de egalitate a fost estimată de casele de pariuri la 51,0 (2%).

Oracolele vin în ajutor

Scriptul acceptă pariuri ale utilizatorilor pe toate cele trei rezultate posibile până când primește informații de la oracol despre rezultatul real al bătăliei. Acesta este singurul criteriu de repartizare a câștigurilor.

Acum se știe că Nurmagomedov a câștigat. Cu toate acestea, să ne imaginăm că proprietarul fără scrupule al oracolului, planificând înșelăciunea în avans, a pariat pe rezultatul cu cele mai favorabile cote - o remiză. Când banca de pariuri a atins un volum mare, proprietarul oracolului inițiază înregistrarea informațiilor false în blockchain despre presupusul rezultat al luptei. Scriptul de schimb descentralizat nu are capacitatea de a verifica din nou acuratețea datelor primite și distribuie doar câștigurile în conformitate cu aceste date.

Dacă profitul potențial din acest tip de înșelăciune este mai mare decât veniturile estimate ale unui oracol cinstit, iar riscul de a merge în instanță este scăzut, probabilitatea acțiunilor necinstite din partea proprietarului oracolului crește semnificativ.

O posibilă soluție la problemă este să solicitați date de la mai multe oracole și să aduceți la un consens valorile rezultate. Există mai multe tipuri de consens:

  • toate oracolele furnizau aceleași informații
  • majoritatea oracolelor au furnizat aceleași informații (2 din 3, 3 din 4 etc.)
  • aducerea datelor oracol la valoarea medie (sunt posibile opțiuni în care valorile maxime și minime sunt mai întâi eliminate)
  • toate oracolele au furnizat informații uniforme cu o toleranță pre-acordată (de exemplu, cotațiile financiare din diferite surse pot diferi cu 0,00001, iar obținerea unei potriviri exacte este o sarcină imposibilă)
  • selectați numai valori unice din datele primite

Să revenim la bursa noastră de pariuri descentralizată. Când se folosește un consens „3 din 4”, un oracol care raportează o remiză nu ar putea influența execuția scenariului, cu condiția ca celelalte trei oracole să ofere informații de încredere.
Dar un utilizator fără scrupule poate deține trei dintre cele patru oracole și apoi va putea oferi o majoritate decisivă.

Luptând pentru integritatea oracolelor, puteți introduce un rating pentru acestea sau un sistem de amenzi pentru date nesigure. De asemenea, poți să urmezi traseul „morcovilor” și să oferi o recompensă pentru autenticitate. Dar nicio măsură nu va evita complet, de exemplu, inflația de rating sau o majoritate nedreaptă.

Deci merită să inventezi servicii complexe, sau va fi suficient să ai un instrument de consens care să îți permită, ca la raftul unui supermarket, să selectezi, de exemplu, cinci oracole care furnizează datele necesare, să stabilești tipul de consens și să obții Rezultatul?

De exemplu, o aplicație descentralizată are nevoie de date de temperatură în grade Celsius. În catalogul oracolelor, găsim patru oracole care furnizează astfel de date, setează tipul de consens la „medie” și fac o solicitare.

Să presupunem că oracolele au dat următoarele valori: 18, 17, 19 și 21 de grade. O diferență de trei grade poate fi destul de critică pentru execuția scriptului. Serviciul prelucrează rezultatul și primește o valoare medie a temperaturii de 18.75 grade. Scriptul aplicației descentralizate va primi acest număr și va funcționa cu el.

Oracolele vin în ajutor

În cele din urmă, decizia îi revine consumatorului: dacă să aibă încredere într-un oracol și să-și folosească datele sau să construiască un consens din mai multe oracole alese la discreția sa.

În orice caz, oracolele de date sunt un domeniu destul de nou. Este în stadiul în care utilizatorii înșiși pot determina în ce direcție ar trebui să se dezvolte. De aceea vrem să auzim părerea ta. Este instrumentul de mai sus necesar pentru oracole? Cum vedeți viitorul oracolelor de date în general? Împărtășește-ți părerea în comentarii și în grupul nostru oficial în Telegramă.

Sursa: www.habr.com

Adauga un comentariu