March 24, 2023


Ether (ETH), koji je druga najveća kriptovaluta po tržišnoj kapitalizaciji, popularan je među investitorima u kriptovalute zbog svog izvornog tokena, ETH. Međutim, izvorni programski jezik Solidity i Ethereum Virtual Machine (EVM) ključni su za pohvale koje dobiva od zajednice programera. Zapravo, Ethereum blockchain nastavlja privlačiti programere decentraliziranih aplikacija (DApp) zbog svoje fleksibilnosti, širokog raspona dostupnih razvojnih alata i velike baze korisnika platforme.

EVM čini srž blockchain arhitekture, softvera koji izvršava svoj aplikacijski kod ili pametne ugovore, kako se nazivaju, pružajući im runtime okruženje koje se izvodi na vrhu Ethereum mreže. Štoviše, EVM je Turing kompletan i stoga može pokrenuti bilo koji program kodiran u bilo kojem programskom jeziku, omogućujući programerima da jednostavno kreiraju prilagođene pametne ugovore i DApps za sve veći Web3 prostor.

Uz ove važne funkcije, EVM ima pristup svim čvorovima u mreži, upravlja izvršavanjem pametnih ugovora i učinkovito upravlja svim transakcijama na Ethereum blockchainu, što ga čini jednim od najmoćnijih virtualnih strojeva koji danas postoje.

Što je Ethereum Virtual Machine (EVM) i kako radi?

Dizajniran 2013. godine od strane programera Vitalika Buterina, mreža Ethereum duguje svoj golemi uspjeh kao preferirani blockchain za DApp programere Ethereum Virtual Machine (EVM) koji je Gavin Wood dizajnirao tijekom svog mandata u Ethereumu. Napisan u C++ i koristeći LLVM Project kompajler, EVM je poseban stroj stanja koji se stalno pokreće čije statičke operacije određuju stanje svakog bloka u Ethereum blockchainu.

EVM ne samo da upravlja što čvorovi mogu ili ne mogu učiniti s distribuiranom knjigom koju održava Ethereum blockchain, već također definira specifična pravila za promjenu stanja od bloka do bloka. Potonja funkcija je ono što omogućuje funkcionalnost pametnog ugovora po kojoj je Ethereum postao poznat.

Da bismo razumjeli što Ethereum Virtual Machine radi, potrebno je pogledati svaku od različitih funkcija kojima služi u osiguravanju glatkog rada Ethereum mreže. Za svaki ulaz koji primi, EVM proizvodi izlaz koji je determinističke prirode i slijedi matematičku funkciju u najjednostavnijem smislu.

Radeći poput stroja za slaganje koji gura privremene vrijednosti na i sa steka za kompresiju, EVM ima dubinu od 1024 elementa, od kojih je svaki 256-bitna riječ. Također održava privremenu memoriju u obliku niza bajtova, koji se mijenja između dvije transakcije na Ethereum blockchainu. Tokeni pametnih ugovora koje je sastavio EVM implementirani su kao skup od 140 standardnih operativnih tokena, dok su druge operacije slaganja specifične za blockchain također implementirane.

Sheme Ethereum virtualnog stroja

Dakle, EVM ima inherentno nestabilno stanje stroja tijekom obrade bilo koje transakcije i globalno ili globalno stanje koje sadrži informacije o različitim računima koji se drže na Ethereum blockchainu. Svim radnjama upravlja EVM token, koji je i sam prošao kroz nekoliko iteracija od pokretanja Ethereum mreže 2015., što je rezultiralo različitim implementacijama EVM-a koje se trenutno koriste.

Zapravo, EVM je odgovoran za održavanje razine apstrakcije između tisuća Ethereum čvorova i izvršnog koda, te djeluje kao funkcija koja daje dosljedne rezultate bez izlaganja mnogih detalja klijentima ili čvorovima.

Koja je svrha Ethereum Virtual Machine (EVM)?

EVM pouzdano pokreće sve aplikacije koje se izvode na Ethereum mreži bez prijavljivanja većih zastoja. Za programere, EVM djeluje kao sveobuhvatan program koji pokreće manje, izvršne programe poznate kao pametni ugovori u Ethereumu, dok im daje slobodu pisanja ovih pametnih ugovora u raznim programskim jezicima uključujući Solidity, Vyper, Python i Yul , između ostalih.

Zbog ove fleksibilnosti koju pruža EVM, Ethereum blockchain iznjedrio je tisuće DApp-ova u području decentraliziranih financija (DeFi) i nepropadljivih tokena (NFT). I DApps i pametni ugovori generirani iz njih pretvaraju se u bajt kod koji se unosi u EVM i distribuira među svim čvorovima u Ethereum mreži. Kada se implementira pametni ugovor, EVM je odgovoran za komunikaciju sa svim čvorovima i mijenjanje stanja kada se postigne konsenzus.

Može se reći da je EVM umetnut unutar svakog Ethereum čvora za izvršavanje pametnih ugovora korištenjem bajtkoda umjesto temeljnog programskog jezika, čime se izolira stvarno glavno računalo od strojnog koda na kojem Ethereum radi.

Prednosti Ethereum virtualnog stroja (EVM)

Zbog načina na koji EVM radi, programeri mogu izvršiti kod bez brige o tome da će utjecati na ostatak mreže ili da bi mogao neispravno raditi s podacima ili profilima koji se nalaze na bilo kojem čvornom računalu.

Osim toga, mogu pokrenuti složene pametne ugovore u različitim računalnim okruženjima s distribuiranim konsenzusom. To osigurava da kvar jednog čvora nema negativan utjecaj na rad DApp-a ili pametnog ugovora, jer EVM kod ostaje isti na svim čvorovima. Nadalje, budući da se podaci o računu održavaju globalno u EVM-u, programeri ga smatraju idealnim za pisanje prilagođenog koda pametnog ugovora i stvaranje tokena DApps koji mogu pristupiti ovom globalnom skupu podataka i proizvesti pouzdane rezultate.

Svetost rezultata ono je što posebno EVM i Ethereum blockchain čini savršenom za održivu ekspanziju DApps i Ethereum ekosustava pametnih ugovora. Dodajte ovome standardnu ​​biblioteku tokena koja je dostupna programerima na izbor, sve veći broj EVM-kompatibilnih Layer 2 blockchaina i mnoštvo potencijalnih slučajeva upotrebe EVM-a, i lako je vidjeti zašto je EVM platforma izbora za Web3 razvoj.

Nedostaci Ethereum virtualnog stroja (EVM)

Unatoč brojnim prednostima koje pruža EVM, postoje neki nedostaci koje programeri i poduzetnici koji se oslanjaju na Ethereum moraju uzeti u obzir. Još su važnije visoke transakcijske naknade ili troškovi plina povezani s pokretanjem pametnog ugovora na Ethereum mreži.

Ove naknade koje se plaćaju u ETH-u razlikuju se ovisno o složenosti ugovora i zagušenosti mreže u trenutku izvršenja, zbog čega je za programere i poduzetnike neophodno da svoje usluge cijene u skladu s tim. Osim toga, budući da je Solidity jezik izbora za kodiranje preko EVM-a, to znači da programeri moraju imati dovoljno iskustva s njim i imati minimalnu tehničku stručnost za stvaranje učinkovitih pametnih ugovora koristeći ga.

Potonje je važno jer će svi dodatni zahtjevi za računanjem rezultirati višim troškovima plina i na kraju će biti štetni za uspjeh projekta. Ako programeri odluče programirati na drugim jezicima, moraju paziti da riješe bilo kakva dupliciranja svojstvena kodu jer će EVM svejedno nastaviti s kompajliranjem. Iako je nadogradnja pametnih ugovora moguća u kasnijoj fazi, dolazi sa sigurnosnim rizicima povezanim sa stvaranjem posredničkog pametnog ugovora koji upućuje na adresu izvornog pametnog ugovora.

Budućnost EVM-a

Unatoč revolucionarnim promjenama koje je EVM donio u blockchain ekosustavu, ovu tehnologiju za čitanje i izvođenje koda unaprjeđuju brojni blockchain projekti.

Budući da je interoperabilnost među lancima najvažniji aspekt za programere, podržani su mnogi lanci blokova kompatibilni s EVM-om, od kojih većina nudi manji gas i veće brzine transakcija od Ethereum protokola. Kao rezultat toga, ovi lanci blokova sada mogu besprijekorno komunicirati s korisnicima Ethereuma i olakšati prijenos sredstava na vlastite mreže koristeći mostove lanca blokova.

Međutim, s Ethereum protokolom koji je uspješno dovršio integraciju u rujnu 2022., sljedeći cilj je migrirati s EVM-a na Ethereum WebAssembly (eWASM). Dizajniran da bude visoko modularan i neovisan o platformi, eWASM se reklamira kao sljedeća promjena pravila za Ethereum protokol i mogao bi potaknuti druge lance blokova da koriste ovo okruženje za izvršavanje i za pametne ugovore. Međutim, hoće li eWASM-ovi zamijeniti EVM kao najpouzdaniji mehanizam za pametne ugovore pitanje je na koje će samo vrijeme odgovoriti.