Ethereum: kako funkcioniraju pametni ugovori?

Pametni ugovori glavna su značajka koja je Ethereum učinila tako uspješnim. 

Što su pametni ugovori i čemu služe

Protokol Bitcoin ne predviđa mogućnost stvaranje uistinu složenih pametnih ugovora, jer je u osnovi dizajniran samo za omogućavanje transakcija. 

Nasuprot tome, Ethereum, koji je rođen 6 godina nakon Bitcoina, od samog je početka dizajniran da u osnovi bude mreža sposobna za hosting i izvršavanje pametnih ugovora

2014. suosnivač Ethereuma Vitalik Buterin izričito napisao u Popis dopuštenih da je mreža koju je projektirao a platforma sljedeće generacije temeljena na pametnim ugovorima, te da su alternativne aplikacije Bitcoinu temeljene na blockchain tehnologiji također uključivale korištenje digitalne imovine za predstavljanje prilagođenih valuta i financijskih instrumenata, nezamjenjive imovine i složenijih aplikacija. 

Konkretno, potonji, odnosno pametni ugovori, definirani su kao aplikacije koje uključuju izravnu kontrolu digitalne imovine kodom koji implementira proizvoljna pravila, odnosno decentralizirane autonomne organizacije temeljene na blockchainu, tzv. Taoi.  

Vitalik je napisao: 

“Ono što Ethereum namjerava pružiti je blockchain s ugrađenim programskim jezikom koji je kompletan po Turingu koji se može koristiti za stvaranje 'ugovora' koji se mogu koristiti za kodiranje proizvoljnih funkcija prijelaza stanja, omogućujući korisnicima stvaranje bilo kojeg od gore opisanih sustava – kao i mnoge druge koje još nismo zamislili – jednostavnim pisanjem logike u nekoliko redaka koda”.

Dakle, pametni ugovori na Ethereumu su linije koda pomoću kojih je to moguće programirati automatsko izvršavanje instrukcija preko mreže, kada su ispunjeni određeni uvjeti, a da njihovo izvršenje ne moraju povjeriti posredniku.

Zapravo, sam Buterin je pojam "ugovori" stavio pod navodnike, jer umjesto stvarnih ugovora između strana, oni su računalni programi koje izvršava decentralizirana mreža. 

Općenito gledano, stoga njihov rad nije jako kompliciran. 

pametan ugovor
Pametni ugovori se izvršavaju nakon što se provjere uvjeti sadržani u njima

Uvođenje pametnih ugovora na Ethereum blockchain

Prije svega, jedan ili više programera očito mora stvoriti pametni ugovor pisanjem odgovarajućih redaka koda, a zatim moraju pošaljite ga na Ethereum mrežu. 

U tehničkom smislu, objavljivanje na Ethereum blockchainu znači da ga svi čvorovi u mreži primaju i izvršavaju. Jednom objavljene, sve instrukcije u njemu uvijek će se izvršavati od strane svih čvorova na potpuno isti način. 

Stoga, ne samo njegovo objavljivanje nego i izvršenje instrukcija je nepovratno nakon što se objavi na blockchainu. 

Dakle, ono što je stvarno važno su upute koje sadrži – koje mogu biti najrazličitije – i koliko ih ljudi koristi. Doista, da bi se upute pametnog ugovora stvarno izvršile, moraju postojati jedna ili više transakcija koje ih pozivaju

Također je vrijedno zapamtiti da ove upute općenito uključuju korištenje resursa, kao što su podaci ili tokeni, kako bi se one stvarno izvršile, moraju biti ispunjeni svi uvjeti postavljeni prema potrebi. 

Ponekad ti podaci dolaze izvana, zahvaljujući takozvanim proročištima, dok ponekad jednostavno dolaze iz transakcija na blockchainu. 

Obično transakcija koja pokreće izvršenje instrukcija sadržanih u pametnom ugovoru uključuje plaćanje a naknada u ETH, a u mnogim slučajevima kako bi se zapravo pokrenulo izvršenje uključuje i plaćanje ili slanje tokena specifičnih za sam pametni ugovor ili druge pametne ugovore. 

Tehnički, pametni ugovori su vrsta računa na ethereum blockchain, koji "kontrolira" mreža, a ne središnji entitet. Mogu pohraniti ETH ili tokene, a također mogu samostalno šalju transakcije na mreži.

Kako komunicirati s kodom i općenito s dAppsima

Korisnici mogu komunicirati s pametnim ugovorima slanjem transakcija koje pokreću jednu od funkcija definiranih unutar njihovog koda. 

Stoga je funkcioniranje pametnih ugovora na Ethereumu općenito vrlo jednostavno: samo pošaljite transakciju određene vrste pametnom ugovoru, a to će pokrenuti izvršenje svih instrukcija sadržanih u funkciji pametnog ugovora od strane čvorova koju poziva sama transakcija. 

Očito, ovisno o tome koje su upute sadržane u funkciji koja se poziva, mogu se generirati vrlo različite posljedice, koje variraju ne samo od pametnog ugovora do pametnog ugovora, već i od funkcije do funkcije. 

Ogromna složenost pametnih ugovora stoga proizlazi upravo iz onoga što pojedinačni pametni ugovori rade, a ne općenito iz činjenice da ih mreža Ethereum podržava i izvršava. Štoviše, apsolutno je nemoguće navesti kako sve vrste pametnih ugovora na mreži zapravo funkcioniraju. 


Izvor: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/