Mashine Halisi ya Ethereum (EVM)
Ukurasa ulihaririwa mwisho: 14 Februari 2026
Mashine halisi ya ethereum(EVM) ni mazingira ya mtandaoni yaliyotawanywa ambayo hutekeleza msimbo kwa uthabiti na kwa usalama katika nodi zote za Ethereum. Nodi huendesha EVM kutekeleza mkataba-erevu, kwa kutumia "gesi" kupima juhudi za kikokotozi zinazohitajika kwa shughuli, kuhakikisha ugawaji bora wa rasilimali na usalama wa mtandao.
Mahitaji ya awali
Uelewa fulani wa msingi wa istilahi za kawaida katika sayansi ya kompyuta kama vile baitiopens in a new tab, kumbukumbuopens in a new tab, na rundoopens in a new tab ni muhimu ili kuelewa EVM. Pia itasaidia kuwa na uelewa mzuri wa dhana za kriptografia/mnyororo wa bloku kama vile kazi za hashiopens in a new tab na Merkle treeopens in a new tab.
Kutoka leja hadi mashine ya hali
Mfano wa “daftari lililosambazwa” mara nyingi hutumika kuelezea kiambajengo kama sarafu ya mtandao, ambazo zinawezesha sarafu isiyo na kituo kimoja kwa kutumia zana za msingi za usimbaji fiche. Daftari hilo linaweka rekodi za shughuli ambazo lazima zizingatie seti ya sheria zinazodhibiti ni nini mtu anaweza na hawezi kufanya ili kubadilisha daftari hilo. Kwa mfano, anwani ya sarafu ya mtandaoni haiwezi kutumia sarafu ya mtandaoni zaidi ya ile ambayo tayari imepokea. Sheria hizi ndizo msingi wa miamala yote kwenye sarafu mtandaoni na viambajengo vingine vingi.
Ingawa Ethereum ina sarafu yake ya kidigitali ya asili (ether) inayofuata karibu sheria zilezile angavu, pia huwezesha kazi yenye nguvu zaidi: mkataba-erevu. Kwa kipengele hiki ngumu zaidi, mlinganisho wa kisasa zaidi unahitajika. Badala ya kuwa leja iliyosambazwa, Ethereum ni mashine ya haliopens in a new tab iliyosambazwa. Hali ya Ethereum ni muundo mkubwa wa data ambao hauhifadhi tu akaunti zote na salio, bali pia hali ya mashine, ambayo inaweza kubadilika kutoka bloku moja hadi nyingine kulingana na seti ya sheria zilizobainishwa awali, na ambayo inaweza kutekeleza msimbo wowote wa mashine. Sheria maalum za kubadilisha hali kutoka kizuizi hadi kizuizi zinafafanuliwa na EVM.
Mchoro umechukuliwa kutoka Ethereum EVM illustratedopens in a new tab
Kazi ya mpito ya hali ya Ethereum
EVM hufanya kama kazi ya hisabati ingekuwa: Kwa kuzingatia ingizo, hutoa matokeo ya kubaini. Kwa hivyo, inasaidia sana kuelezea Ethereum rasmi zaidi kama kuwa na kazi ya mpito ya hali:
1Y(S, T)= S'Kutokana na hali (S) ya zamani iliyo halali na seti mpya ya miamala halali (T), kazi ya mpito ya hali ya Ethereum Y(S, T) hutoa hali mpya halali ya towe S'
Hali
Katika muktadha wa Ethereum, hali ni muundo mkubwa wa data unaoitwa modified Merkle Patricia Trie, unaoshikilia akaunti zote zikiwa zimeunganishwa kwa hashi na kupunguzwa hadi hashi moja ya mzizi iliyohifadhiwa kwenye mnyororo wa bloku.
Miamala
Miamala ni maagizo yaliyosainiwa kwa njia fiche kutoka kwa akaunti. Kuna aina mbili za miamala: zile zinazosababisha simu za ujumbe na zile zinazosababisha kuundwa kwa mkataba.
Uundaji wa mkataba husababisha kuundwa kwa akaunti mpya ya mkataba yenye bytecode ya mkataba-erevu iliyokusanywa. Wakati wowote akaunti nyingine inapopiga simu kwa mkataba huo, hutekeleza bytecode yake.
Maagizo ya EVM
EVM hutekeleza kama mashine ya rundoopens in a new tab yenye kina cha vipengee 1024. Kila kipengee ni neno la biti 256, ambalo lilichaguliwa kwa urahisi wa matumizi na ufichaji wa taarifa wa 256-biti (kama vile heshi za Keccak-256 au saini za secp256k1).
Wakati wa utekelezaji, EVM hudumisha kumbukumbu ya muda mfupi (kama safu ya baiti yenye anwani ya neno), ambayo haidumu kati ya miamala.
Ghala la muda
Ghala la muda ni hifadhi ya ufunguo-thamani kwa kila muamala inayofikiwa kupitia opcodes za TSTORE na TLOAD. Hudumu katika wito wote wa ndani wakati wa muamala mmoja lakini husafishwa mwishoni mwa muamala. Tofauti na kumbukumbu, ghala la muda huundwa kama sehemu ya hali ya EVM badala ya fremu ya utekelezaji, lakini haihifadhiwi kwenye hali ya kimataifa. Ghala la muda huwezesha ugawanaji wa hali ya muda kwa ufanisi wa gesi katika wito wa ndani wakati wa muamala.
Ghala
Mikataba ina ghala la Merkle Patricia trie (kama safu ya maneno yenye anwani ya neno), inayohusishwa na akaunti husika na ni sehemu ya hali ya kimataifa. Ghala hili la kudumu ni tofauti na ghala la muda, ambalo linapatikana tu kwa muda wa muamala mmoja na haliundi sehemu ya trie ya ghala la kudumu ya akaunti.
Opcodes
Bytecode iliyokusanywa ya mkataba-erevu hutekelezwa kama idadi ya opcode za EVM, ambazo hufanya shughuli za kawaida za rundo kama XOR, AND, ADD, SUB, n.k. EVM pia inatekeleza idadi ya shughuli za rundo maalum kwa mnyororo wa bloku, kama vile ADDRESS, BALANCE, BLOCKHASH, n.k. Seti ya opcode pia inajumuisha TSTORE na TLOAD, ambazo hutoa ufikiaji wa ghala la muda.
Michoro imechukuliwa kutoka Ethereum EVM illustratedopens in a new tab
Utekelezaji wa EVM
Utekelezaji wote wa EVM lazima uzingatie vipimo vilivyoelezwa katika karatasi ya kiufundi ya Ethereum.
Katika historia ya miaka kumi ya Ethereum, EVM imefanyiwa marekebisho kadhaa, na kuna utekelezaji kadhaa wa EVM katika lugha mbalimbali za programu.
Programu za utekelezaji za Ethereum zinajumuisha utekelezaji wa EVM. Kwa kuongezea, kuna utekelezaji mwingi wa pekee, pamoja na:
- Py-EVMopens in a new tab - Python
- evmoneopens in a new tab - C++
- ethereumjs-vmopens in a new tab - JavaScript
- revmopens in a new tab - Rust
Masomo zaidi
- Ethereum Yellowpaperopens in a new tab
- Jellopaper aka KEVM: Semantics of EVM in Kopens in a new tab
- The Beigepaperopens in a new tab
- Opcodes za Mashine Halisi ya Ethereumopens in a new tab
- Marejeleo Mwingiliano ya Opcodes za Mashine Halisi ya Ethereumopens in a new tab
- Utangulizi mfupi katika nyaraka za Solidityopens in a new tab
- Mastering Ethereum - Mashine Halisi ya Ethereumopens in a new tab