Tehnologija pametnih ugovora

U zadnjih nekoliko godina pojam pametnih ugovora postao je sve poznatiji u blockchain svijetu, ali mnogi ne znaju da pametni ugovori nisu novi koncept. Iako nisu novi koncept, svakako su postali popularniji s razvojem i usvajanjem blockchain tehnologije, te su trenutno područje koje se aktivno istražuje unutar blockchain društva. Pametni ugovori donose mnoge potencijalne benefite u raznim branšama poslovanja, a o tim benefitima ćemo više pričati u nastavku ovog članka. 

Povijest pametnih ugovora

Prva teorija o pametnim ugovorima izašla je u kasnim 1990-im godinama. Tvorac teorije Nick Szabo, koji je u svome djelu “Formalizing and securing relationships on the public network” opisao pametne ugovore kao protokol elektroničkih transakcija koji izvršava uvjete ugovora. Opći su ciljevi zadovoljiti zajedničke ugovorne uvjete (kao što su uvjeti plaćanja, založno pravo, povjerljivost i jedno izvršenje), minimizirati iznimke, kako zlonamjerne tako i slučajne te smanjiti potrebu za posrednicima. Srodni ekonomski ciljevi uključuju smanjenje gubitka na prijevarama, arbitraži i troškovima izvršenja te drugim transakcijskim troškovima.

Ova teorija je objavljena gotovo 20 godina prije nego su se pametni ugovori počeli primjenjivati. Prvi pametni ugovori integrirani su u bitcoin 2009. godine. Iako je tadašnja verzija pametnih ugovora bila limitirana, i dalje se smatra pametnim ugovorom. Bitcoin u transakcijama koristi ograničeni kriptirani jezik kako bi omogućio Peer-2-Peer transfer vrijednosti gdje sudionici transakcije ne moraju nužno vjerovati jedni drugima, niti uključiti posrednika koji će osigurati provedbu transakcije (banka).

Definicija pametnih ugovora

Pametni ugovor računalni je protokol namijenjen digitalnom olakšanju, provjeri ili provođenju pregovora ili izvršenja ugovora. Pametni ugovori omogućuju obavljanje vjerodostojnih transakcija bez posrednika koji osigurava transparentnost. U ovom slučaju, transparentnost osigurava blockchain tehnologija.

Pametni ugovor siguran je i nezaustavljiv te predstavlja sporazum koji je automatski izvršiv. Prepoznavanje ove definicije dalje otkriva da je pametni ugovor u stvari računalni program koji je napisan na jeziku koji računalo ili ciljni stroj mogu razumjeti. 

Također obuhvaća sporazume stranaka u obliku poslovne logike. Druga temeljna ideja je da se pametni ugovori automatski izvršavaju kada se ispune određeni uvjeti. Oni su “samoizvršivi”, što znači da se svi ugovorni uvjeti izvršavaju onako kako je definirano i očekivano, čak i u prisutnosti određenih zapreka. Izvršenje je širi pojam koji obuhvaća tradicionalno izvršenje u okviru zakona, zajedno s provedbom posebnih mjera i kontrola koje omogućavaju izvršenje uvjeta ugovora bez potrebe za bilo kakvim posredovanjem. 

Treba napomenuti da se pravi pametni ugovori ne bi trebali oslanjati na tradicionalne metode izvršenja. Umjesto toga, oni bi trebali raditi na načelu da “programski kod je zakon”, što znači da arbitraža ili treća strana ne moraju kontrolirati ili utjecati na izvršenje pametnog ugovora. Pametni ugovori se samoprovode, za razliku od pravno izvršnih ugovora. 

Ukratko, pametni ugovor ima sljedeća četiri svojstva:

• Samoizvršiv

• Provediv

• Jezično jasan

• Siguran i nezaustavljiv

Minimalno su potrebna prva dva svojstva, dok posljednja dva u nekim scenarijima neće trebati ili se mogu implementirati. Na primjer, ugovor o financijskim derivatima možda ne mora biti semantički pouzdan i nezaustavljiv, ali bi radnju trebao barem automatski izvršiti na temeljnoj razini. S druge strane, obrazac o vlasništvu mora biti semantički pouzdan i cjelovit, pa zato, da bi se mogao implementirati kao pametni ugovor, jezik moraju razumjeti i računala i ljudi. Ian Grigg pozabavio se ovim pitanjem interpretacije svojim izumom Ricardianskih ugovora, koje ćemo detaljno opisati u idućem tehničkom članku.

Upotreba pametnih ugovora

Pametni ugovori mogu se primijeniti u bilo kojoj industriji gdje je to potrebno, ali većina trenutnih slučajeva upotrebe odnosi se na financijsku industriju. To je zbog činjenice da je blockchain našao mnoge slučajeve upotrebe u industriji financija i potaknuo veliko zanimanje fintech industrije za blockchain tehnologiju. U nedavnom znanstvenom radu u sferi pametnih ugovorna predložena je ideja za novu upotrebu pametnih ugovora u financijskoj industriji. Ideja je izgraditi standardne predloške koji pružaju okvir za podršku pravnim sporazumima za financijske instrumente.

Ovu je ideju predložio Clack Etal u svom radu objavljenom 2016. pod nazivom SM. Predlošci ugovora, temelji, dizajn krajolika i upute za istraživanje. U radu je također predloženo da se jezici specifični za domenu (DSL) trebaju oblikovati kao podrška dizajnu i primjeni predložaka pametnih ugovora. Predložen je jezik pod nazivom CLACK, zajednički jezik za proširivanje znanja ugovora. Ovaj je jezik zamišljen da pruža velik izbor funkcija u rasponu od podržavanja pravne proze do mogućnosti izvođenja na više platformi i više kriptografskih funkcija.

Nedavni rad na razvoju predložaka pametnih ugovora koji podržavaju zakonito provodive pametne ugovore proveden je od strane Clack Alela. U ovom radu predlažu rad na pametnim obrascima ugovora koji ima dva glavna cilja: oblik zahtjeva u pametnim ugovorima te mogućnost dizajna. Glavni je cilj ovog rada istražiti kako se pravno sučelje ​​može povezati s kodom pomoću “markup” programskog jezika. Rad također pokriva dio o tome kako se mogu stvoriti, oblikovati, izvršavati i serijalizirati pametni pravni ugovori za skladištenje i transport. To je rad koji je u toku i otvoreno je područje za daljnja istraživanja i razvoj. Ugovori u financijskoj industriji nisu novi koncept, a različiti DSL-ovi već se koriste u financijskoj industriji. Na primjer, dostupni su DSL-ovi koji podržavaju razvoj proizvoda osiguranja, predstavljaju energetske derivate ili se koriste za izradu strategija trgovanja.

Također je važno razumjeti koncept DSL-ova jer se ta vrsta programskog jezika može razviti za programiranje pametnih ugovora. Ovi su jezici razvijeni s ograničenom ekspresivnošću za određenu domenu ili područje od interesa. Jezici specifični za domenu (DSL-ovi) razlikuju se od programskih jezika opće namjene (GPL). DSL-ovi imaju mali skup značajki koje su dovoljne i optimizirane za domenu u kojoj je namjenjeno korištenje tog programskog jezika i za razliku od GPL-ova obično se ne koriste za izgradnju velikih aplikativnih programa opće namjene. Na temelju dizajnerske filozofije DSL-ova može se predvidjeti da će takvi jezici biti razvijeni posebno za pisanje pametnih ugovora. Takvi DSL-ovi već postoje, a Solidity je jedan takav jezik koji je uveden u Ethereum blockchain sa svrhom pisanja pametnih ugovora. 

Ideja upotrebe jezika specifičnih za određenu domenu pri programiranju pametnih ugovora može se dalje proširiti na grafički jezik specifičan za određenu domenu. Tada nastaje platforma za modeliranje pametnih ugovora na kojoj stručnjak u određenoj domeni (a ne programer, primjerice odvjetnik) može koristiti grafičko sučelje za definiranje i sastavljanje semantike i financijskih parametara ugovora. Jednom kada je tok definiran i dovršen, on se prvo može pustiti na testnet, da se provjeri kako funkcionira. Zatim ga se implementira iz testneta na ciljanu platformu, koja je pretežito blockchain. 

Što je Oracle?

Oracle je važan dio ekosustava pametnog ugovora. On je sučelje koje pametnim ugovorima isporučuje podatke iz vanjskog izvora. Ograničenje pametnih ugovora je da ne mogu pristupiti vanjskim podacima, koji bi mogli biti potrebni za kontrolu izvršenja poslovne logike; na primjer, cijena dionice ili nekog drugog vrijednosnog proizvoda koja je ugovoru potrebna za oslobađanje plaćanja dividendi. Oracle se može koristiti za pružanje vanjskih podataka pametnim ugovorima. 

Ovisno o industriji i zahtjevima, Oracle može isporučiti različite vrste podataka, od vremenskih izvješća, vijesti iz stvarnog svijeta i korporativnih akcija do podataka koji dolaze s Internet of Things uređaja (loT). Oracles su povjerljivi entiteti koji koriste siguran kanal za prijenos podataka na pametni ugovor.

Također mogu digitalno “potpisati” podatke što dokazuje da je izvor podataka vjerodostojan. Pametni ugovori tada se mogu pretplatiti na Oracles, a zatim pametni ugovori mogu izvući podatke s Oraclea ili ih Oracles može automatski slati na pametne ugovore. Također je bitno da Oracles ne može manipulirati podacima koje pružaju i mora biti u stanju pružiti vjerodostojne podatke. Iako pametni ugovor automatski “vjeruje” Oracleu, u nekim slučajevima će možda biti moguće da podaci nisu ispravni zbog manipulacije. Stoga je neophodno da Oracles ne može promijeniti podatke. Pomoću invoativne tehnologije, Oracle je moguće provjeriti, a također postoji i Smart Oracle.

Uvođenje pametnih ugovora na blockchain

Pametni ugovori mogu se ili ne moraju rasporediti na blockchain, ali ima smisla rasporediti ih na blockchain zbog distribuiranog i decentraliziranog mehanizma konsenzusa koji pruža blockchain. Ethereum je primjer blockchain platforme koja izvorno podržava razvoj i implementaciju pametnih ugovora. Pametni ugovori na Ethereum blockchain-u su obično samo dio šire aplikacije poput Decentralizirane Autonomne Organizacije (DAOs), primjer DAO sustava možete vidjeti u upravnom sustavu UBIK-a. Pametni ugovori implementirani u bitcoin puno su jednostavnije verzije od onih implementiranih na ethereumovom blockchainu. Ti pametni ugovori služe za provođenje transakcija s “odgodom plaćanja” i slične stvari. Ove vremenske blokade omogućavaju zaključavanje transakcije do određenog vremena ili sve do određenog broja blokova, na taj način se nameće osnovni ugovor da se određena transakcija može otključati samo ako su ispunjeni određeni uvjeti (proteklo vrijeme ili broj blokova). 

Na primjer, možete implementirati uvjete kao što su “Platite društvu X, Y količinu bitcoina nakon 3 mjeseca”. Međutim, to je vrlo ograničeno i na njih treba gledati samo kao na primjer osnovnog pametnog ugovora. Pored gore navedenog primjera , Bitcoinov kriptirani jezik, iako ograničen, može se koristiti za izgradnju osnovnih pametnih ugovora. Jedan primjer osnovnog pametnog ugovora je financiranje Bitcoin adrese koju može potrošiti svatko tko demonstrira “hash collision attack”. Ovo je bilo natjecanje objavljeno na Bitcointalk forumu gdje su bitcoini postavljeni kao nagrada za onoga tko uspije pronaći hash collision za hash funkcije. Ovo uvjetno otključavanje Bitcoina samo pri demonstraciji uspješnog napada osnovna je vrsta pametnog ugovora.

Razne druge blockchain platforme podržavaju pametne ugovore, poput Monax, Lisk, Counterparty, Stellar, Hyperledger fabric, Corda i Axoni core. Pametni ugovori mogu se razviti na različitim jezicima. Kritični zahtjev je, međutim, vrlo bitan determinizam, jer je od vitalnog značaja da bez obzira na mjesto gdje se provodi kod pametnog ugovora, on daje iste rezultate svaki put i svugdje. 

Ovaj zahtjev determinističke prirode u pametnim ugovorima je primjenjiv JEDINO ako je programski kod pametnog ugovora apsolutno bez greške. Validacija i provjera pametnih ugovora aktivno je područje istraživanja u blockchain zajednici. Različiti jezici razvijeni su za izgradnju pametnih ugovora poput Solidity-a, koji radi na Ethereum Virtual Machine (EVM). Vrijedno je napomenuti da su to platforme koje već podržavaju mainstream jezike za razvoj pametnog ugovora, poput Lisk-a koji podržava JavaScript. No još jedan istaknuti primjer je Hyperledger fabric koji podržava Golan & Java i JavaScript za razvoj pametnog ugovora.

Postoji gotovo neograničen broj potencijalnih primjena pametnih ugovora te oblika u kojima se mogu naći. Nadamo se da ste nešto naučili iz ovog tehničkog članka. U idućem članku o pametnim ugovorima ući ćemo detaljnije u sustave gdje se primjenjuju pametni ugovori te kako to djeluje na sustav. 

This image has an empty alt attribute; its file name is cta-crobitcoin-final-1024x197.png

* indicates required


We use Mailchimp as our marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp’s privacy practices here.

The post Tehnologija pametnih ugovora appeared first on Hrvatski Bitcoin Portal.


Ovaj post je originalno objavljen na ovom sajtu.
Share On Facebook
Share On Twitter
Share On Linkedin
Share On Reddit