Што такое віртуальная машына Ethereum (EVM) і як яна працуе?

Эфір (ETH), якая з'яўляецца другой па велічыні крыптавалютай з пункту гледжання рынкавай капіталізацыі, папулярная сярод інвестараў у криптовалюту з-за свайго роднага токена ETH. Тым не менш, яго родная мова праграмавання Solidity і віртуальная машына Ethereum (EVM) згулялі важную ролю ў прыхільнасці, якую ён атрымлівае ад супольнасці распрацоўшчыкаў. На самай справе, Блокчэйн Ethereum працягвае прыцягваць дэцэнтралізаванае прыкладанне (DApp) распрацоўшчыкаў дзякуючы сваёй гнуткасці, шырокаму спектру даступных інструментаў распрацоўшчыка і вялікай базе карыстальнікаў платформы.

Складаючы ядро ​​архітэктуры блокчейна, EVM - гэта праграма, якая выконвае код свайго прыкладання або разумныя кантракты, як іх называюць, забяспечваючы асяроддзе для іх выканання, якое працуе па-над сеткай Ethereum. Больш за тое, EVM поўная па Цьюрынгу і, такім чынам, можа запускаць любую праграму, закадзіраваную на любой мове праграмавання, што дазваляе распрацоўшчыкам лёгка ствараць індывідуальныя смарт-кантракты і DApps для расце Web3 прасторы. 

У дадатак да гэтых важных функцый, EVM мае доступ да ўсіх вузлоў у сетцы, апрацоўвае выкананне смарт-кантрактаў і эфектыўна апрацоўвае ўсе транзакцыі ў блокчейне Ethereum, што робіць яго адной з самых магутных віртуальных машын, якія існуюць сёння.

Што такое віртуальная машына Ethereum (EVM) і як яна працуе?

Канцэптуалізацыя праграмістам у 2013 годзе Віталік Бутерин, сваім фенаменальным поспехам у якасці пераважнага блокчейна для распрацоўшчыкаў DApp сетка Ethereum абавязана віртуальнай машыне 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 у дэцэнтралізаваныя фінансы (DeFi) і невызначальны маркер (NFT) прасторы. Кожнае з гэтых DApp і смарт-кантрактаў, з якіх яны складаюцца, пераўтворыцца ў байт-код, які падаецца ў EVM і размяркоўваецца паміж усімі вузламі ў сетцы Ethereum. Калі смарт-кантракт разгортваецца, EVM адказвае за сувязь з усімі вузламі і ажыццяўленне змены стану, калі кансенсус быў дасягнуты.

Можна сказаць, што EVM устаўляецца ў кожны вузел Ethereum для выканання смарт-кантрактаў з выкарыстаннем байт-кода замест базавай мовы праграмавання, такім чынам ізалюючы фізічны хост-кампутар ад машыннага кода, на якім працуе Ethereum.

Перавагі віртуальнай машыны Ethereum (EVM)

Дзякуючы таму, як працуе EVM, распрацоўшчыкі могуць выконваць код, не клапоцячыся аб яго ўплыве на астатнюю частку сеткі або аб магчымасці таго, што ён прагульвае дадзеныя або асабістыя файлы, размешчаныя на любым з камп'ютараў вузла. 

Акрамя таго, яны могуць запускаць складаныя разумныя кантракты ў розных вылічальных асяроддзях з размеркаваным кансенсусам. Гэта гарантуе, што збой аднаго вузла не акажа негатыўнага ўплыву на працу DApp або смарт-кантракту, паколькі код EVM застаецца аднолькавым ва ўсіх вузлах. Больш за тое, паколькі дадзеныя ўліковых запісаў захоўваюцца на глабальным узроўні ў EVM, распрацоўшчыкі лічаць іх ідэальнымі для напісання карыстальніцкага кода смарт-кантрактаў і стварэння асобных DApps, якія могуць атрымліваць доступ да гэтага глабальнага набору даных і ствараць надзейныя вынікі. 

Святасць выніку - гэта тое, што робіць EVM, у прыватнасці, і блокчейн Ethereum у цэлым добра прыдатнымі для ўстойлівага пашырэння экасістэмы DApps і смарт-кантрактаў Ethereum. Дадайце да гэтага бібліятэку стандартных кодаў, даступных для выбару распрацоўшчыкаў, усё большую колькасць EVM-сумяшчальных блокчейны ўзроўню 2 і вялікая колькасць патэнцыйных варыянтаў выкарыстання EVM, і лёгка зразумець, чаму EVM з'яўляецца пераважнай платформай для Web3 распрацоўка.

Недахопы віртуальнай машыны Ethereum (EVM)

Нягледзячы на ​​мноства пераваг, якія прапануе EVM, ёсць пэўныя недахопы, якія неабходна ўлічваць распрацоўшчыкам і прадпрымальнікам, якія будуюць на Ethereum. Найбольш важным з іх з'яўляецца высокая камісія за транзакцыі або выдаткі на газ, звязаныя з выкананнем смарт-кантракту ў сетцы Ethereum. 

Гэтыя зборы, якія аплачваюцца ў ETH, вар'іруюцца ў залежнасці ад складанасці кантракта і загружанасці сеткі на момант выканання, што робіць неабходным для распрацоўшчыкаў і прадпрымальнікаў цэняць свае паслугі адпаведна. Акрамя таго, паколькі Solidity з'яўляецца найбольш пераважнай мовай для кадавання на EVM, гэта азначае, што распрацоўшчыкі павінны мець дастатковы досвед працы з ёй і валодаць невялікім тэхнічным вопытам для стварэння эфектыўных смарт-кантрактаў з яе выкарыстаннем. 

Апошняе важна, паколькі любыя дадатковыя патрабаванні да вылічэнняў прывядуць да павышэння выдаткаў на газ і ў канчатковым выніку апынуцца шкоднымі для поспеху праекта. Калі распрацоўшчыкі выбіраюць кадзіраванне з выкарыстаннем іншых моў, яны павінны быць асцярожнымі пры вырашэнні любых неад'емных паўтораў у кодзе, паколькі EVM усё роўна прыступіць да іх кампіляцыі. Нягледзячы на ​​тое, што мадэрнізацыя смарт-кантрактаў магчымая на больш познім этапе, гэта звязана з рызыкамі для бяспекі, звязанымі са стварэннем прамежкавага смарт-кантракту, які спасылаецца на адрас зыходнага смарт-кантракту.

Будучыня EVM

Нягледзячы на ​​рэвалюцыйныя змены, унесеныя EVM у экасістэму блокчейн, гэтая тэхналогія для чытання і выканання кода удасканальваецца шэрагам блокчейн-праектаў. 

з крос-ланцуговая сумяшчальнасць з'яўляючыся найбольш важным аспектам для распрацоўшчыкаў, многія блокчейны, сумяшчальныя з EVM, падтрымліваюцца, і большасць з іх прапануе меншы газ і больш высокую хуткасць транзакцый, чым пратакол Ethereum. У выніку гэтыя блокчейны цяпер могуць бесперашкодна ўзаемадзейнічаць з карыстальнікамі Ethereum і палягчаюць перавод сродкаў у іх уласныя сеткі з дапамогай блокчейн-масты.

Аднак, калі пратакол Ethereum паспяхова завяршыў аб'яднанне ў верасні 2022 г., наступная мэта з'яўляецца пераход ад EVM для Ethereum WebAssembly (eWASM). Распрацаваны як вельмі модульны і незалежны ад платформы, eWASM рэкламуецца як наступны варыянт, які зменіць гульню для пратаколу Ethereum, і можа матываваць іншыя блокчейны выкарыстоўваць гэта асяроддзе выканання для смарт-кантрактаў. Аднак, ці заменяць eWASM EVM як найбольш надзейны механізм для смарт-кантрактаў, гэта пытанне, на які адкажа толькі час.