
Orakujt e bllokçenit zgjidhin problemin e dërgimit të informacionit në bllokçen nga bota jasht. Por është e rëndësishme të dimë se cilët prej tyre mund të besojmë.
Në për lansimin e katalogut ne kemi shkruar për rëndësinë e orakujve për bllokçenin.
Aplikacionet e decentralizuara nuk kanë qasje në të dhëna jashtë bllokçenit. Prandaj, krijohen programe të vogla - orakuj - të cilat kanë qasje në të dhënat e nevojshme nga bota jasht dhe i regjistrojnë ato në bllokçen.
Në bazë të llojit të burimit të të dhënave, orakujt mund të ndahen në tri kategori: programorë, harduerikë dhe njerëzorë.
Orakujt programorë marrin dhe përpunojnë të dhëna nga interneti – siç janë temperatura e ajrit, çmimet e produkteve, vonesat e trenave dhe aeroplaneve. Informacioni vjen nga burime online, siç është API, dhe orakulli e nxjerr atë dhe e vendos në bllokçen. Për atë se si të krijoni një orakull programor të thjeshtë lexoni .
Orakujt harduerikë ndjekin objekte të botës reale me anë të pajisjeve dhe sensorëve. Për shembull, një kamerë, e kalibruar për kalimin e një vije, regjistron automjetet që hyjnë në një zonë të caktuar. Orakulli regjistron faktin e kalimit të vijës në bllokçen, dhe mbi këtë bazë, skripti i aplikacionit të decentralizuar mund, për shembull, të inicojë lëshimin e një gjobe dhe zbritjen e tokeneve nga llogaria e pronarit të automjetit.
Orakujt njerëzorë përdorin të dhëna të futur nga njeriu. Ata shihen si më të avancuarit për shkak të shikimit të pavarur mbi rezultatin e ngjarjes.
Së fundmi, ne ofruam një mjet që lejon regjistrimin e të dhënave të orakujve në bllokçen sipas një specifikimi të caktuar. Ai funksionon shumë thjesht: duhet vetëm të regjistroni , duke plotësuar specifikimin. Pas kësaj, mund të publikoni transaksionet e të dhënave sipas kësaj specifikimi përmes ndërfaqes së Waves Oracles. Lexoni më shumë rreth mjetit në .

Këto mjete dhe ndërfaqe të standardizuara lehtësojnë jetën si zhvilluesve ashtu edhe përdoruesve të shërbimeve në bllokçen. Instrumenti ynë është i dobishëm në mënyrë të veçantë për orakujt njerëzorë dhe mund të përdoret, për shembull, për regjistrimin e certifikatave ose të drejtave të autorit mbi objekte të caktuara.
Megjithatë, kur përdoren orakujt, lind pyetja e besueshmërisë së informacionit që ata ofrojnë. A është burimi i besueshëm? A do të merren të dhënat në kohë? Për më tepër, ekziston rreziku që orakulli të mashtrojë përdoruesit duke ofruar informacion të pasaktë për përfitime personale.
Si shembull, le të shqyrtojmë një orakull që ofron informacion mbi ngjarjet sportive për një bursë të decentralizuar të basteve.
Ngjarja është lufta kryesore e turneut UFC 242, Khabib Nurmagomedov kundër Dustin Poirier. Sipas vlerësimeve të basteve, Nurmagomedov është favorit i qartë i përballjes. Mund të shkonte në fitore me një koeficient prej 1,24, që i korrespondon një probabiliteti prej 76%. Koeficienti për fitoren e Poirier ishte 4,26 (22%), ndërsa probabiliteti për një rezultat të barabartë, bookmakerët e vlerësuan me koeficient 51,0 (2%).

Skripti pranon baste nga përdoruesit për të tre rezultatet e mundshme, derisa të marrë informacion nga orakulli për rezultatin real të luftës. Ky është kriteri i vetëm për shpërndarjen e fitimeve.
Tani është e njohur se Nurmagomedov fitoi. Megjithatë, le të imagjinojmë se një pronar i pabesë i orakullit, duke planifikuar mashtimin, bëri bast për rezultatin me koeficientin më të favorshëm - barazim. Kur fondi i basteve arriti një vëllim të madh, pronari i orakullit inicion regjistrimin në blockchain të informacionit të rremë për një rezultat të supozuar barazimi. Skripti i bursës decentralizuese nuk ka mundësi të verifikojë saktësinë e të dhënave të marra dhe thjesht shpërndan fitimet sipas këtyre të dhënave.
Nëse fitimi potencial nga një mashtrim i tillë është më i lartë se të ardhurat e parashikuara të një orakulli të ndershëm, dhe për më tepër, rreziku i padisë është i ulët, probabiliteti i veprimeve të padrejta nga pronari i orakullit rritet ndjeshëm.
Një nga zgjidhjet e mundshme për këtë problem është kërkesa për të dhëna nga disa orakuj dhe arritja e konsensusit mbi vlerat e marra. Mund të dallohen disa lloje konsensusi:
- të gjithë orakujt ofruan informacion të njëjtë
- shumica e orakujve ofruan informacion të njëjtë (2 nga 3, 3 nga 4, etj.)
- bashkimi i të dhënave të orakujve në vlerën mesatare (mund të existojnë varianta ku fillimisht përjashtohen vlera maksimale dhe minimale)
- të gjitha orakujt ofruan të njëjtën informacion me një devijim të lejuar të paracaktuar (p.sh., vlerat financiare nga burime të ndryshme mund të ndryshojnë deri në 0.00001, dhe marrja e një përputhjeje të saktë është një detyrë e pamundur)
- zgjidhni vetëm vlerat unike nga të dhënat e marra
Le të kthehemi te bursa jonë e decentralizuar të basteve. Duke përdorur konsensusin "3 nga 4", një orakull që raporton një rezultat të barabartë në një garë, nuk do të ishte në gjendje të ndikonte në ekzekutimin e skriptit nëse tre orakuj të tjerë do të ofronin informacion të saktë.
Por përdoruesi mashtrues mund të zotërojë edhe tre nga katër orakujt, dhe atëherë ai do të ishte në gjendje të sigurojë shumicën vendimtare.
Në luftën për ndershmërinë e orakujve, mund të implementohet një sistem renditjeje ose një sistem ndëshkimesh për saktësinë e të dhënave. Po ashtu, mund të përdoret edhe një qasje "të mirë" duke ofruar shpërblim për saktësinë. Por asnjë masë nuk do të mund të parandalojë plotësisht, për shembull, manipulimin e renditjes ose një shumicë të pandershme.
Pra, a duhet të shpikim shërbime të ndërlikuara, apo do të mjaftonte të kishim një mjet për konsensusin, që do t'i lejonte përdoruesit, si në raftin e një supermarketi, të zgjidhnin, për shembull, pesë orakuj që ofrojnë të dhënat e nevojshme, të përcaktonin llojin e konsensusit dhe të merrnin rezultatin?
Për shembull, një aplikacion i decentralizuar ka nevojë për të dhëna për temperaturën në gradë celsius. Në katalogun e orakujve gjejmë katër orakuj që ofrojnë këto të dhëna, përcaktojmë llojin e konsensusit "mesatarja" dhe bëjmë një kërkesë.
Supozoni se orakujt dhanë vlerat: 18, 17, 19 dhe 21 gradë. Diferenca prej tre gradësh mund të jetë mjaft kritike për ekzekutimin e skriptit. Shërbimi proceson rezultatin dhe merr mesataren e temperaturës — 18.75 gradë. Ky numër do të marrë skripti i aplikacionit decentralizuar dhe do të punojë me të.

Në fund të fundit, vendimi mbetet tek konsumatori: a do të besojë në një orakull të vetëm dhe të përdorë të dhënat e tij, apo do të ndërtojë një konsensus të disa orakujve të zgjedhur sipas dëshirës.
Në çdo rast, orakujt e të dhënave janë një fushë mjaft e re. Ajo është në atë fazë në të cilën vetë përdoruesit mund të përcaktojnë në cilin drejtim duhet të zhvillohet. Prandaj, ne duam të dëgjojmë mendimin tuaj. A është i nevojshëm instrumenti i përshkruar më lart për orakujt? Si e shihni të ardhmen e orakujve të të dhënave në përgjithësi? Ndani mendimin tuaj në komentet dhe në grupin tonë zyrtar në .
Burimi: habr.com
