Ethereum: kako funkcioniraju pametni ugovori?

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

Šta su pametni ugovori i čemu služe

Bitcoin protokol ne predviđa mogućnost stvaranje zaista složenih pametnih ugovora, jer je u osnovi dizajniran samo da omogući transakcije. 

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

2014. suosnivač Ethereuma Vitalik Buterin je izričito napisao u bijeli papir da je mreža koju je dizajnirao a platforma nove generacije zasnovana na pametnim ugovorima, te da su alternativne aplikacije za Bitcoin bazirane na blockchain tehnologiji također uključivale korištenje digitalnih sredstava za predstavljanje prilagođenih valuta i finansijskih instrumenata, nezamjenjive imovine i složenijih aplikacija. 

Konkretno, potonji, odnosno pametni ugovori, definirani su kao aplikacije koje uključuju direktnu kontrolu digitalne imovine putem koda koji implementira proizvoljna pravila, ili decentralizirane autonomne organizacije zasnovane na blockchainu, tzv. DAO-ovi.  

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 kreiranje 'ugovora' koji se mogu koristiti za kodiranje proizvoljnih funkcija prijelaza stanja, omogućavajući korisnicima da kreiraju bilo koji od gore opisanih sistema. – kao i mnoge druge koje još nismo zamislili – jednostavnim pisanjem logike u nekoliko redova koda”.

Dakle, pametni ugovori na Ethereumu su linije koda pomoću kojih je to moguće programirajte automatsko izvršavanje instrukcija preko mreže, kada su ispunjeni određeni uslovi, bez potrebe da se njihovo izvršenje povjeri posredniku.

U stvari, sam Buterin je termin „ugovori” stavio pod navodnike, jer su oni pre nego stvarni ugovori između strana. kompjuterski programi koje izvršava decentralizovano Mreža. 

Općenito gledano, stoga, njihov rad nije mnogo komplikovan. 

pametan ugovor
Pametni ugovori se izvršavaju kada se provjere uslovi sadržani u njima

Uvođenje pametnih ugovora na Ethereum blockchain

Prije svega, jedan ili više programera očigledno moraju kreirati pametni ugovor pisanjem odgovarajućih linija koda, a zatim moraju pošaljite 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. 

Dakle, ne samo njegovo objavljivanje nego i izvršenje instrukcija je nepovratno kada se objavi na blockchainu. 

Dakle, ono što je zaista važno su upute koje sadrži – koje mogu biti najrazličitije – i koliko ih ljudi koristi. Zaista, da bi se instrukcije pametnog ugovora zaista izvršile, moraju postojati jednu 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, svi potrebni uslovi moraju biti ispunjeni. 

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 da bi se stvarno 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, "kontrolisan" od strane mreže, a ne centralnog entiteta. Oni mogu pohraniti ETH ili tokene, a također mogu samostalno šalju transakcije na mreži.

Kako komunicirati s kodom i općenito s dApps-ima

Korisnici mogu komunicirati sa pametnim ugovorima slanjem transakcija koje pokreću jednu od funkcija definiranih u njihovom kodu. 

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

Očigledno, ovisno o tome koje su instrukcije 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/