Ի՞նչ է Ethereum վիրտուալ մեքենան (EVM) և ինչպես է այն աշխատում:

Եթեր (ETH), որը շուկայական կապիտալիզացիայի առումով երկրորդ ամենամեծ կրիպտոարժույթն է, տարածված է կրիպտոարժույթի ներդրողների շրջանում իր հայրենի ETH նշանի պատճառով: Այնուամենայնիվ, նրա մայրենի Solidity ծրագրավորման լեզուն և Ethereum վիրտուալ մեքենան (EVM) կարևոր դեր են խաղում ծրագրավորողների համայնքից ստացած հիացմունքի մեջ: Փաստորեն, որ Ethereum blockchain- ը շարունակում է գրավել ապակենտրոնացված հավելված (DApp) ծրագրավորողներ՝ շնորհիվ իր ճկունության, մշակողների գործիքների լայն շրջանակի և հարթակի մեծ օգտատերերի բազայի:

Ձևավորելով բլոկչեյնի ճարտարապետության առանցքը՝ EVM-ն այն ծրագիրն է, որը կատարում է իր հավելվածի կոդը կամ խելացի պայմանագրեր, ինչպես կոչվում են՝ նրանց համար ապահովելով գործարկման ժամանակի միջավայր, որն աշխատում է Ethereum ցանցի վերևում: Ավելին, EVM-ն ամբողջությամբ Turing-ով է և, հետևաբար, կարող է գործարկել ցանկացած ծրագիր, որը կոդավորված է ծրագրավորման ցանկացած լեզվով, դրանով իսկ թույլ տալով ծրագրավորողներին հեշտությամբ ստեղծել հատուկ խելացի պայմանագրեր և DApp-ներ աճող զարգացման համար: Web3- ը տեղ. 

Ի հավելումն այս կարևոր գործառույթների, EVM-ն ունի մուտք դեպի ցանցի բոլոր հանգույցները, կառավարում է խելացի պայմանագրերի կատարումը և արդյունավետորեն իրականացնում բոլոր գործարքները Ethereum բլոկչեյնի վրա՝ դարձնելով այն այսօր գոյություն ունեցող ամենահզոր վիրտուալ մեքենաներից մեկը:

Ի՞նչ է Ethereum վիրտուալ մեքենան (EVM) և ինչպես է այն աշխատում:

Հայեցակարգվել է 2013 թվականին ծրագրավորողի կողմից Vitalik Buterin, Ethereum ցանցը իր ֆենոմենալ հաջողությամբ՝ որպես DApp մշակողների համար նախընտրելի բլոկչեյն, պարտական ​​է Ethereum վիրտուալ մեքենային (EVM), որը նախագծվել է Գևին Վուդի կողմից Ethereum-ում իր պաշտոնավարման ընթացքում: Գրված C++-ով և օգտագործելով LLVM Project կոմպիլյատորը, EVM-ը հատուկ վիճակի մեքենա է, որը գործում է անընդհատ և որի անփոփոխ գործողությունները որոշում են Ethereum բլոկչեյնում յուրաքանչյուր բլոկի վիճակը: 

EVM-ն ոչ միայն կարգավորում է այն, ինչ հանգույցները կարող են կամ չեն կարող անել Ethereum բլոկչեյնի կողմից պահպանվող բաշխված մատյանում, այլ նաև սահմանում է բլոկից բլոկ վիճակ փոխելու հատուկ կանոններ: Վերջին ֆունկցիոնալությունն այն է, ինչը թույլ է տալիս խելացի պայմանագրային գործառույթը, որով հայտնի է դարձել Ethereum-ը:

Հասկանալու համար, թե ինչ է անում Ethereum վիրտուալ մեքենան, պետք է դիտարկել այն տարբեր գործառույթներից յուրաքանչյուրը, որը նա կատարում է Ethereum ցանցի անխափան աշխատանքը ապահովելու համար: Յուրաքանչյուր մուտքագրման համար, որը նա ստանում է, EVM-ն արտադրում է ելք, որն իր բնույթով որոշիչ է և հետևում է մաթեմատիկական ֆունկցիայի ամենապարզ իմաստով: 

Աշխատելով որպես կույտային մեքենա, որը մղում է անցողիկ արժեքներ դեպի և հետ մղվող կույտ, EVM-ն ունի 1024 տարրի խորություն, որոնցից յուրաքանչյուրը 256-բիթանոց բառ է: Այն նաև պահպանում է ժամանակավոր հիշողություն բայթային զանգվածի տեսքով, որը փոխվում է Ethereum բլոկչեյնի երկու գործարքների միջև։ Խելացի պայմանագրերի կոդերը, որոնք կազմվել են, կատարվում են EVM-ի կողմից 140 ստանդարտ օպերացիոն կոդերի հավաքածուի տեսքով, մինչդեռ բլոկչեյնին հատուկ ստեկի այլ գործողություններ նույնպես իրականացվում են նրա կողմից:

Ethereum վիրտուալ մեքենայի սխեմաներ

Այսպիսով, EVM-ն ունի մեքենայական վիճակ, որն իր բնույթով անկայուն է ցանկացած գործարքի մշակման ժամանակ և գլոբալ կամ համաշխարհային վիճակ, որը պարունակում է տեղեկատվություն Ethereum բլոկչեյնում պահպանվող տարբեր հաշիվների վերաբերյալ: Բոլոր գործողությունները կառավարվում են EVM կոդով, որն ինքնին անցել է մի քանի կրկնությունների միջով 2015 թվականին Ethereum ցանցի գործարկումից ի վեր, ինչը հանգեցրել է ներկայումս օգտագործվող EVM-ի տարբեր իրականացումների գոյությանը:

Փաստորեն, EVM-ն պատասխանատու է հազարավոր Ethereum հանգույցների և կատարող կոդի միջև աբստրակցիայի մակարդակի պահպանման համար, որը գործում է որպես մի ֆունկցիա, որը ապահովում է հետևողական արդյունքներ՝ առանց հաճախորդներին կամ հանգույցներին շատ մանրամասներ հայտնելու:

Ո՞րն է Ethereum վիրտուալ մեքենայի (EVM) նպատակը:

EVM-ն հուսալիորեն սնուցում է բոլոր հավելվածները, որոնք աշխատում են Ethereum ցանցում, առանց որևէ լուրջ պարապուրդի: Մշակողների համար EVM-ն հանդես է գալիս որպես համապարփակ ծրագիր, որն իրականացնում է ավելի փոքր գործարկվող ծրագրեր, որոնք հայտնի են որպես «խելացի պայմանագրեր» Ethereum-ում, միաժամանակ տրամադրելով նրանց այս խելացի պայմանագրերը գրելու ազատություն: մի շարք ծրագրավորման լեզուներ ներառյալ Solidity, Vyper, Python և Yul, ի թիվս այլոց:

EVM-ի կողմից առաջարկվող այս ճկունության շնորհիվ Ethereum բլոկչեյնը ստեղծել է հազարավոր DApp-ներ ապակենտրոնացված ֆինանսավորում (DeFi) և ոչ ֆունկցիոնալ նշան (NFT) տարածություն. Այս DApp-ներից յուրաքանչյուրը և խելացի պայմանագրերը, որոնցից նրանք կազմված են, վերածվում են բայթկոդի, որը սնվում է EVM-ում և բաշխվում Ethereum ցանցի բոլոր հանգույցների միջև: Երբ գործարկվում է խելացի պայմանագիր, EVM-ն պատասխանատու է բոլոր հանգույցների հետ հաղորդակցվելու և կոնսենսուսի հասնելու դեպքում վիճակի փոփոխություններ իրականացնելու համար:

Կարելի է ասել, որ EVM-ը տեղադրվում է յուրաքանչյուր Ethereum հանգույցի ներսում՝ խելացի պայմանագրեր իրականացնելու համար՝ օգտագործելով բայթկոդի բազային ծրագրավորման լեզվի փոխարեն, այդպիսով մեկուսացնելով ֆիզիկական հյուրընկալող համակարգիչը մեքենայի կոդից, որի վրա աշխատում է Ethereum-ը:

Ethereum վիրտուալ մեքենայի (EVM) առավելությունները

Հաշվի առնելով EVM-ի գործելաոճը, ծրագրավորողները կարող են գործարկել կոդը՝ չանհանգստանալով ցանցի մնացած մասի վրա դրա ազդեցության կամ որևէ հանգույցային համակարգչի վրա տեղակայված տվյալների կամ անձնական ֆայլերի հետ սխալ խաղալու հնարավորության մասին: 

Բացի այդ, նրանք կարող են բարդ խելացի պայմանագրեր գործարկել տարբեր հաշվողական միջավայրերի վրա՝ բաշխված կոնսենսուսով: Սա ապահովում է, որ մեկ հանգույցի ձախողումը որևէ բացասական ազդեցություն չունենա DApp-ի կամ խելացի պայմանագրի գործարկման վրա, քանի որ EVM կոդը մնում է նույնը բոլոր հանգույցներում: Ավելին, քանի որ հաշվի տվյալները պահպանվում են EVM-ում գլոբալ մակարդակում, մշակողները գտնում են, որ այն կատարյալ է խելացի պայմանագրային կոդ գրելու և հստակ DApp-ներ ստեղծելու համար, որոնք կարող են մուտք գործել այս գլոբալ տվյալների հավաքածու և արտադրել հուսալի արդյունքներ: 

Արդյունքի սրբությունն այն է, ինչը 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-ին՝ որպես խելացի պայմանագրերի ամենավստահելի մեխանիզմ, հարց է, որին միայն ժամանակը կտա: