Orakli: Mostovi između blokčejna i spoljnog sveta

Orakli: Mostovi između blokčejna i spoljnog sveta

Zamislite tehnološki naprednu civilizaciju čije funkcionisanje i opstanak zavise od resursa koji dolaze iz običnog sveta. Plot može da liči na Matriks ako posmatramo apokaliptično, a može i na svakodnevna dešavanja ako je u pitanju blokčejn.

Blokčejn jeste napredna tehnologija, ali itekako zavisi od poptuno trivijalnih stvari iz realnog života. Recimo informacije da li je danas u Slankamenu pala ledena kiša.

Blokčejn je zatvoren sistem. Sam po sebi nema znanja o spoljnom svetu, a materijal iz spoljnog sveta je gorivo blokčejna. Pametni ugovori bez podataka iz spoljnog sveta su samo kodovi koji barataju on-chain informacijama. Praktično, ogroman deo primene blokčejn tehnologije pada u vodu ako pametne ugovore ne opskrbimo vrednim informacijama koje obitavaju izvan.

Tu na scenu stupaju orakli. U najkraćem, orakl je alat koji predstavlja sponu između blokčejna i realnog sveta odakle prikuplja potrebne informacije i dostavlja ih na blokčejn kako bi se aktivirala izvršenja pametnih ugovora. Recimo ako su se dve strane složila da je jedna drugoj nadoknadi štetu u slučaju da 3. decembra u Slankamenu padne ledena kiša i uništi useve, onda postoji potreba da taj podatak bude verodostojan. To rade orakli, pruže pametnom ugovoru dokaz da se događaj desio.

Orakle, imamo problem!

Međutim, šta se desi ako orakl pogreši? Ako lažira podatke u svrhu sticanja koristi? Taj esencijalni problem je poznat i kao orakl problem. Ukoliko protokol dobavlja informacije sa orakla koji iz bilo kog razloga šalje korumpirane, netačne ili zastarele podatke, onda je zdravo funkcionisanje tog protokola u potpunosti onemogućeno delovanjem iz samo jedne tačke. Sama ideja da protokol mora verovati organizaciji koja dostavlja podatke (oraklu) podriva trustless mehanizam imanentan pametnim ugovorima.

Smatra se da su tri faktora bitna kada govorimo o prevazilaženju orakl problema.

Tačnost: Orakl ne sme da aktivira izvršenje pametnog ugovora netačnim informacijama iz spoljnog sveta. U svakom trenutku mora da garantuje autentičnost podataka, što znači da se informacije prikupljaju sa relevantnih izvora. Takođe, orakl mora da obezbedi integritet podataka, tj mora da ih prosledi on-chain u neizmenjenoj verziji.

Dostupnost: Orakl ne sme da odlaže ili na bilo koji način spreči aktiviranje pametnog ugovora. To implicira da orakl uvek mora dostaviti informacije na zahtev.

Kompatibilnost podsticaja: Orakl treba da podstiče off-chain provajdere informacija da dostavljaju tačne podatke. Mehanizmi mogu sadržati nagrade za verodostojne informacije i penale u suprotnom.

Funkcionisanje orakla

Mehanizam orakla je, najprostije rečeno, dvoslojan i sastoji se od on-chain pametnog ugovora i off-chain nodova. Mreža off-chain nodova prikuplja različite informacije (koje mogu biti i on-chain informacije sa decentralizovanih menjačnica), računaju, analiziraju ih, proveravaju validnost i nakon postignutog konsenzusa, postuju rezultat u vidu pametnog ugovora koji više protokola može koristiti istovremeno.

Podela orakla

Postoji nekoliko podela orakla, ali za mnoge je najvažnija ona po modelu poverenja koji se koristi: centralizovani i decentralizovani. Dalju razradu možete naslutiti.

Razlike njihovih karakteristika su manje-više iste kao i između drugih centralizovanih i decentralizovanih struktura. Iako u nekim slučajevima efikasniji od decentralizovanih orakla, centralizovani pokazuju slabosti u zadovoljavanju sva tri gore pomenuta faktora za prevazilaženje orakl problema.

Kada centralizovani orakl dostavi podatak, ne postoji način da se utvrdi da je on tačan ili nije, ma koliko taj orakl imao dobru reputaciju. Hakovanje ili bilo kakva druga zloupotreba centralizovanog orakla automatski povlači izvršenje pametnog ugovora na osnovu pogrešnih informacija (garbage in – garbage out).

Decentralizovani orakli su dizajnirani da prevaziđu najveći problem centralizovanih sistema — central point of failure. Najjednostavnije rečeno, decentralizovani orakl je p2p mreža relevantnih izvora informacija koji konsenzusom odlučuju o tačnosti i kvalitetu off-chain podataka pre slanja na mrežu. U nekim slučajevima o tačnosti informacija se odlučuje glasanjem pomoću upravljačkih tokena mreže. Rezultati se potom sabiraju i kao tačan rezultat se uzima onaj sa najvećim brojem glasova. Ukoliko vam ovo zvuči kao mogući prostor za mahinaciju, pravo vreme je da se prisetimo koncepta Šelingove tačke u okviru teorije igara.

Idealno, decentralizovani orakl poseduje sve osobine inherentne decentralizovanim mrežama; on je permisionless, trustless i njime ne upravlja i ne administrira nikakav pojedinačni centar odlučivanja. Treba podcrtati reč idealno jer u praksi je decentralizacija ipak više spektar nego binarni izbor.

Postoje i delimično decentralizovani orakli koji su otvoreni, tj. svako može da učestvuje, ali neki centar moći ipak odlučuje koji nodovi su odobreni, a koji isključeni na osnovu istorije performansi.

Osim ove podele, orakli se razlikuju i po pitanju načina dobavljanja informacija. Tako imamo one koji ih prikupljaju online, sa vebsajtova, klaud servera i slično, kao i one koji dobijaju podatke iz offline izvora kao što su qr skeneri, razne vrste elektronskih senzora i drugih uređaja koji mogu čitati informacije.

Potom imamo i takozvane inbound i outbound orakle. Ova podela se odnosi na smer putanje informacija. Inbound orakli prenose informacije iz offchain izvora ka onchain pametnim ugovorima, dok outbound orakli šalju informacije sa blokčejna na ka nekom eksternom cilju koji može biti neki drugi lanac, aplikacija, baza podataka i slično.

Ukoliko posmatramo orakle zastupljene na Ethereumu, njih možemo podeliti po principu rada. Publish-subscribe orakli prikazuju data feed-ove sa kojih pametni ugovori mogu regularno da koriste potrebne informacije. Sa druge strane, request-response orakli imaju dijametralan pristup. Kontrakti potražuju potreban set informacija od orakla koji im to odobrava po specifičnom zahtevu.

Primena orakla

Da bolje razumemo postojanje orakla valja se još jednom podsetiti osobenosti blokčejna, preciznije nekih njegovih ograničenja. Blokčejn je, dakle, decentralizovani sistem koji se oslanja na skup nodova koji izvršavaju transakcije. Međutim, blokčejn je i deterministički sistem. To znači da za zadato početno stanje i određen input nodovi uvek moraju da daju isti rezultat. U principu, nodovi se slažu samo oko toga da li on-chain podaci koje čitaju tačni ili ne i time čine konsenzus za svaku transakciju.

Kada bi pametni ugovori imali urođenu osobinu da direktno dobijaju off-chain podatke to bi narušilo determinističku prirodu blokčejna. Dobar primer koji to odslikava je obična razmena neke dve valute, neka to budu ETH i BTC. Jasno je da se usled volatilnosti, odnos njihovih vrednosti menja iz sekunde u sekund. Kada bi pametni ugovori mogli direktno da prikupljaju odnos cena dve valute u realnom vremenu onda bi nodovi primali različite vrednosti. A to znači da bi i outputi bili različiti za isti pametni ugovor pa bi bilo ugroženo pouzdano funkcionisanje blokčejna.

DeFi

Ekosistem decentralizovanih finansija obuhvata p2p razmene, trgovinu, pozajmljivanje i druge vrste kripto transakcija. Sve ove operacije iziskuju rad sa širokim spektrom informacija koje se kontinuirano menjaju. Stoga nije iznenađenje što je DeFi jedan od najvažnijih oblasti primene orakla.

Na primer, cenovni orakli omogućavaju da se utvrdi korisnik ima dovoljno sredstava tj. da li je u svakom trenutku njegova pozajmica overkolateralizovana u meri kojoj protokol zahteva.

Drugi primer je vezan za sintetičku imovinu. Protokoli na kojima možete trgovati sintetičkim derivatima koriste cenovne orakle da vežu (peg-uju) vrednost svojih tokena za vrednost neke druge imovine (zlata, nekretnina, drugih valuta i sl.). Takođe, i automatski market mejkeri koriste orakle koji apdejtuju cene za svaku pojedinačnu razmenu valuta.

… i ne samo DeFi

Naravno, orakli imaju bitnu rolu i izvan decentralizovanih finansija. Pri početku teksta pomenuli smo primer iz oblasti osiguranja. Bez preciznih saznanja da li se u određenom trenutku ili intervalu desio neki bitan gogađaj kao što je recimo ledena kiša koja može da uništi neku poljoprivrendu kulturu, ne bi bilo moguće da dve strane postignu konzezus. Tome služe orakli.

Isto tako dinamički NFT-jevi koriste orakle kako bi mogli da menjaju karakteristike u odnosu na određene događaje iz spoljnog sveta.

Za kraj, pomenućemo da ekosistem orakla obuhvata više igrača od kojih je najveći i najpoznatiji svakako Chainlink. Neki od ostalih su Redstone, Chronicle, Band Protocol, Pyth Network, Tellor, UMA.