Што е виртуелна машина Ethereum (EVM) и како работи?

Етер (ЕТХ), која е втора по големина криптовалута во однос на пазарната капитализација, е популарна меѓу инвеститорите во криптовалути поради нејзиниот мајчин ЕТХ токен. Сепак, неговиот мајчин јазик за програмирање Solidity и виртуелната машина Ethereum (EVM) се од голема важност во пофалбата што ја добива од заедницата на програмери. Всушност, на Блок-синџир на Ethereum продолжува да привлекува децентрализирана апликација (DApp) програмери поради неговата флексибилност, огромниот опсег на достапни алатки за програмери и големата корисничка база на платформата.

Формирање на јадрото на архитектурата на блокчејнот, EVM е програмата што го извршува својот код на апликација или паметни договори, како што се нарекуваат, обезбедувајќи им средина за време на работа што работи на врвот на мрежата Ethereum. Уште повеќе, EVM е комплетен со Туринг и на тој начин може да работи која било програма кодирана на кој било програмски јазик, со што ќе им овозможи на програмерите лесно да креираат сопствени паметни договори и DApps за растечкиот Web3 простор. 

Покрај овие важни функционалности, EVM има пристап до сите јазли во мрежата, се справува со извршување на паметни договори и ефикасно се справува со сите трансакции на блокчејнот Ethereum, што ја прави една од најмоќните виртуелни машини што постојат денес.

Што е виртуелна машина Ethereum (EVM) и како работи?

Конципирано во 2013 година од програмер Виталик Бутерин, мрежата Ethereum го должи својот феноменален успех како претпочитан блокчејн за развивачите на DApp на виртуелната машина Ethereum (EVM) која беше дизајнирана од Гевин Вуд за време на неговиот мандат во Ethereum. Напишано во C++ и со помош на компајлерот на проектот LLVM, EVM е специјална машина за состојба која работи континуирано и чиишто непроменливи операции ја одредуваат состојбата на секој блок во блокчејнот Ethereum. 

EVM не само што регулира што јазлите можат или не можат да направат на дистрибуираната книга што ја одржува блокчејнот Ethereum, туку ги дефинира и специфичните правила за промена на состојбата од блок во блок. Последната функционалност е она што ја овозможува функционалноста на паметните договори по кои Ethereum стана познат.

За да се разбере што прави виртуелната машина Ethereum, треба да се погледне секоја од различните функции што ги служи за да се обезбеди непречено функционирање на мрежата Ethereum. За секој влез што го прима, EVM произведува излез што е детерминистички по природа и следи математичка функција во наједноставна смисла. 

Работејќи како машина за стек што ги турка минливите вредности до и од оџакот за потиснување, EVM има длабочина од 1024 ставки, при што секоја од нив е 256-битен збор. Исто така, одржува привремена меморија во форма на низа бајти, која се менува помеѓу две трансакции на блокчејнот Ethereum. Кодовите за паметни договори што се компајлирани се извршуваат од EVM во форма на колекција од 140 стандардни оптички кодови, додека други операции на стек специфични за блокчејн исто така се имплементирани од него.

Шеми на виртуелна машина Ethereum

Така, EVM има машинска состојба која е испарлива по природа за време на обработката на која било трансакција и глобална или светска состојба која содржи информации за различните сметки што се одржуваат на блокчејнот Ethereum. Сите дејства се регулирани со кодот EVM, кој сам по себе помина низ неколку повторувања од лансирањето на мрежата Ethereum во 2015 година, што доведе до постоење на различни имплементации на EVM што моментално се користи.

Всушност, EVM е одговорен за одржување на ниво на апстракција помеѓу илјадници Ethereum јазли и извршниот код, делувајќи како функција која обезбедува конзистентни резултати без да им открие многу детали на клиентите или јазлите.

Која е целта на виртуелната машина Ethereum (EVM)?

EVM сигурно ги напојува сите апликации што работат на мрежата Ethereum без пријавено поголемо прекинување. За програмерите, EVM делува како сеопфатна програма која работи со помали извршни програми кои се познати како паметни договори во Ethereum, притоа обезбедувајќи им слобода да ги пишуваат овие паметни договори во различни програмски јазици вклучувајќи Solidity, Vyper, Python и Yul, меѓу другите.

Поради оваа флексибилност што ја нуди EVM, блокчејнот Ethereum создаде илјадници DApps во децентрализирано финансирање (Дефи) неотпанлив знак (NFT) простор. Секоја од овие DApps и паметните договори од кои се направени се претвораат во бајтекод што се внесува во EVM и се дистрибуира меѓу сите јазли во мрежата Ethereum. Кога се применува паметен договор, EVM е одговорен за комуникација со сите јазли и за ефектуирање на промените на состојбата кога ќе се постигне консензус.

Може да се каже дека EVM е вметнат во секој Ethereum јазол за извршување на паметни договори користејќи бајтекод наместо основниот програмски јазик, со што се изолира физичкиот домаќин компјутер од машинскиот код на кој работи Ethereum.

Придобивки од виртуелната машина Ethereum (EVM)

Поради начинот на кој работи EVM, програмерите можат да го извршат кодот без да се грижат за неговото влијание врз остатокот од мрежата или можноста тој да игра бегство со податоци или лични датотеки хостирани на кој било од компјутерите со јазли. 

Дополнително, тие можат да извршуваат сложени паметни договори на различни компјутерски средини со дистрибуиран консензус. Ова осигурува дека неуспехот на еден јазол нема негативно влијание врз функционирањето на DApp или паметниот договор, бидејќи кодот EVM останува ист кај сите јазли. Освен тоа, бидејќи податоците на сметката се одржуваат на глобално ниво во EVM, програмерите сметаат дека се совршени за пишување прилагоден код за паметен договор и создавање на различни DApps кои можат да пристапат до овој глобален сет на податоци и да произведуваат сигурни резултати. 

Светоста на исходот е она што го прави EVM, особено, и блокчејнот Ethereum воопшто добро прилагодени за одржливото проширување на DApps и паметниот договор Ethereum екосистемот. Додадете ја на ова библиотеката со стандардни кодови достапни за програмерите да избираат, зголемен број на EVM-компатибилни слој-2 блокчејн и можни се голем број потенцијални случаи на употреба на EVM, и лесно е да се види зошто EVM е претпочитана платформа за Веб3 развој.

Недостатоци на виртуелната машина Ethereum (EVM)

И покрај многуте предности што ги нуди EVM, има одредени негативни страни што треба да ги земат предвид програмерите и претприемачите кои градат на Ethereum. Најважните од нив се високите такси за трансакции или трошоците за гас поврзани со водење паметен договор на мрежата Ethereum. 

Платени во ETH, овие такси варираат во зависност од сложеноста на договорот и мрежниот метеж во моментот на извршување, што го прави императив за програмерите и претприемачите да цените на нивните услуги соодветно. Дополнително, бидејќи Solidity е најпреферираниот јазик за кодирање на EVM, тоа значи дека програмерите треба да имаат соодветно искуство со него и да поседуваат мал број техничка експертиза за да создадат ефикасни паметни договори користејќи го. 

Последново е важно бидејќи секое дополнително барање за пресметување ќе доведе до повисоки трошоци за гас и на крајот ќе се покаже штетно за успехот на проектот. Ако програмерите изберат да кодираат користејќи други јазици, тие треба да бидат внимателни во решавањето на какви било вродени повторувања во кодот бидејќи EVM сепак ќе продолжи да ги компајлира. Додека надградбата на паметните договори е можна во подоцнежна фаза, тоа доаѓа со безбедносни ризици поврзани со создавање на посреднички паметен договор кој ја повикува адресата на оригиналниот паметен договор.

Иднината на ЕВМ

И покрај револуционерните промени што ги донесе EVM во блокчејн екосистемот, оваа технологија за читање и извршување код се подобрува од голем број блокчејн проекти. 

со вкрстена интероперабилност како најважен аспект за програмерите, многу блокчејнови компатибилни со EVM се поддржани, при што повеќето нудат помал гас и побрзи брзини на трансакции од протоколот Ethereum. Како резултат на тоа, овие блокчејнови сега можат беспрекорно да комуницираат со корисниците на Ethereum и го олеснуваат трансферот на средства до нивните сопствени мрежи користејќи блокчејн мостови.

Сепак, со протоколот Ethereum кој успешно го заврши спојувањето во септември 2022 година, следната цел е да се префрли од EVM до Ethereum WebAssembly (eWASM). Дизајниран да биде многу модуларен и независен од платформата, eWASM се најавува како следен менувач на играта за протоколот Ethereum и може да ги мотивира другите блокчејнови да ја искористат оваа средина за извршување и за паметни договори. Сепак, дали eWASM ќе го заменат EVM како механизам за паметни договори со најголема доверба е прашање на кое ќе одговори само времето.