Ethereum: kako delujejo pametne pogodbe?

Pametne pogodbe so glavna značilnost, zaradi katere je Ethereum tako uspešen. 

Kaj so pametne pogodbe in čemu so namenjene

Protokol Bitcoin ne predvideva možnosti ustvarjanje resnično zapletenih pametnih pogodb, ker je bil v osnovi zasnovan samo za omogočanje transakcij. 

Nasprotno pa je bil Ethereum, ki se je rodil 6 let po Bitcoinu, že od samega začetka zasnovan kot omrežje, ki je sposobno gostovanje in izvajanje pametnih pogodb

Leta 2014 je soustanovitelj Ethereuma Vitalik Buterin je izrecno zapisal v whitepaper da je bilo omrežje, ki ga je načrtoval a platforma naslednje generacije, ki temelji na pametnih pogodbah, in da so alternativne aplikacije za Bitcoin, ki temeljijo na tehnologiji veriženja blokov, vključevale tudi uporabo digitalnih sredstev za predstavljanje prilagojenih valut in finančnih instrumentov, nezamenljivih sredstev in bolj zapletenih aplikacij. 

Predvsem slednje, torej pametne pogodbe, so bile opredeljene kot aplikacije, ki vključujejo neposreden nadzor digitalnih sredstev s kodo, ki izvaja arbitrarna pravila, ali decentralizirane avtonomne organizacije, ki temeljijo na blockchainu, t.i. DAO.  

Vitalik je napisal/a: 

"Ethereum namerava zagotoviti blokovno verigo z vgrajenim programskim jezikom, popolnim s Turingom, ki se lahko uporablja za ustvarjanje 'pogodb', ki se lahko uporabljajo za kodiranje poljubnih funkcij prehoda stanja, kar uporabnikom omogoča ustvarjanje katerega koli od zgoraj opisanih sistemov – pa tudi mnoge druge, ki si jih še nismo predstavljali – preprosto s pisanjem logike v nekaj vrsticah kode«.

Tako so pametne pogodbe na Ethereumu vrstice kode, s katerimi je to mogoče programirajte samodejno izvajanje navodil po omrežju, ko so izpolnjeni določeni pogoji, ne da bi bilo treba njihovo izvedbo zaupati posredniku.

Pravzaprav je Buterin sam izraz "pogodbe" postavil v narekovaje, ker so namesto resničnih pogodb med strankama računalniških programov, ki jih izvaja decentraliziran omrežje. 

S splošnega vidika torej njihovo delovanje ni zelo zapleteno. 

pametna pogodba
Pametne pogodbe se izvršijo, ko so preverjeni pogoji, ki jih vsebujejo

Uvajanje pametnih pogodb v verigo blokov Ethereum

Najprej mora eden ali več razvijalcev očitno ustvariti pametno pogodbo tako, da napiše ustrezne vrstice kode, nato pa morajo pošljite v omrežje Ethereum. 

Tehnično gledano, njegova objava v blockchainu Ethereum pomeni, da ga vsa vozlišča v omrežju sprejmejo in izvedejo. Ko so objavljena, bodo vsa navodila v njem vedno izvajala vsa vozlišča na popolnoma enak način. 

Zato ne samo njegove objave, ampak tudi izvajanje navodil je nepovratno ko je objavljen v blockchainu. 

Zato so res pomembna navodila, ki jih vsebuje – ki so lahko najrazličnejša – in koliko ljudi jih uporablja. Dejansko, da se navodila pametne pogodbe dejansko izvajajo, morajo obstajati eno ali več transakcij, ki jih prikličejo

Prav tako je vredno zapomniti, da ta navodila na splošno vključujejo uporabo virov, kot so podatki ali žetoni, tako da se dejansko izvajajo, izpolnjeni morajo biti vsi potrebni pogoji. 

Včasih ti podatki prihajajo od zunaj, zahvaljujoč tako imenovanim orakljem, včasih pa preprosto izvirajo iz transakcij v verigi blokov. 

Običajno transakcija, ki sproži izvedbo navodil, ki jih vsebuje pametna pogodba vključuje plačilo a provizija v ETH, v mnogih primerih pa za dejansko sprožitev izvedbe vključuje tudi plačilo ali pošiljanje žetonov, specifičnih za samo pametno pogodbo ali druge pametne pogodbe. 

Tehnično so pametne pogodbe vrsta računa na ethereum blockchain, ki ga »nadzoruje« omrežje in ne osrednji subjekt. Lahko shranjujejo ETH ali žetone in lahko tudi samostojno pošiljanje transakcij v omrežju.

Kako komunicirati s kodo in na splošno z dApps

Uporabniki lahko komunicirajo s pametnimi pogodbami s pošiljanjem transakcij, ki sprožijo eno od funkcij, definiranih v njihovi kodi. 

Zato je delovanje pametnih pogodb na Ethereumu na splošno zelo preprosto: samo pošljite transakcijo določene vrste v pametno pogodbo in to bo sprožilo izvedbo vseh navodil, ki jih vsebuje funkcija pametne pogodbe, ki jo prikliče vozlišča. sama transakcija. 

Očitno je, odvisno od tega, katera navodila vsebujejo poklicana funkcija, lahko generirane zelo različne posledice, ki se razlikujejo ne le od pametne pogodbe do pametne pogodbe, temveč tudi od funkcije do funkcije. 

Ogromna kompleksnost pametnih pogodb torej izhaja prav iz tega, kaj počnejo posamezne pametne pogodbe, in ne na splošno iz dejstva, da jih omrežje Ethereum podpira in izvaja. Poleg tega je popolnoma nemogoče našteti, kako dejansko delujejo vse vrste pametnih pogodb v omrežju. 


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