Mashine Pepe ya Ethereum (EVM)
Mashine Pepe ya Ethereum (EVM) ni mazingira pepe yaliyogatuliwa ambayo hutekeleza msimbo kwa uthabiti na usalama kwenye nodi zote za Ethereum. Nodi huendesha EVM ili kutekeleza mikataba mahiri, zikitumia "gesi" kupima juhudi za kikokotoo zinazohitajika kwa operesheni, kuhakikisha ugawaji mzuri wa rasilimali na usalama wa mtandao.
Mahitaji ya Awali
Uelewa wa kimsingi wa istilahi za kawaida katika sayansi ya kompyuta kama vile baiti (opens in a new tab), kumbukumbu (opens in a new tab), na staki (opens in a new tab) ni muhimu ili kuelewa EVM. Pia itakuwa na manufaa kuwa na uelewa mzuri wa dhana za kriptografia/mnyororo wa vitalu kama vile fomula za heshi (opens in a new tab) na mti wa Merkle (opens in a new tab).
Kutoka leja hadi mashine ya hali
Mfano wa 'leja iliyosambazwa' mara nyingi hutumika kuelezea minyororo ya vitalu kama Bitcoin, ambayo huwezesha sarafu-fiche iliyogatuliwa kwa kutumia zana za kimsingi za kriptografia. Leja hutunza rekodi ya shughuli ambayo lazima ifuate seti ya sheria zinazosimamia kile ambacho mtu anaweza na hawezi kufanya ili kurekebisha leja. Kwa mfano, anwani ya Bitcoin haiwezi kutumia Bitcoin nyingi zaidi ya ilivyopokea hapo awali. Sheria hizi ndizo msingi wa miamala yote kwenye Bitcoin na minyororo mingine mingi ya vitalu.
Ingawa Ethereum ina sarafu-fiche yake asili (Etha) ambayo inafuata karibu sheria zilezile zinazoeleweka, pia inawezesha utendaji wenye nguvu zaidi: mikataba mahiri. Kwa kipengele hiki changamano zaidi, mfano wa hali ya juu zaidi unahitajika. Badala ya leja iliyosambazwa, Ethereum ni mashine ya hali (opens in a new tab) iliyosambazwa. Hali ya Ethereum ni muundo mkubwa wa data ambao haushikilii tu akaunti na salio zote, bali hali ya mashine, ambayo inaweza kubadilika kutoka kitalu hadi kitalu kulingana na seti ya sheria zilizobainishwa mapema, na ambayo inaweza kutekeleza msimbo wowote wa mashine. Sheria mahususi za kubadilisha hali kutoka kitalu hadi kitalu hufafanuliwa na EVM.
Mchoro umechukuliwa kutoka Ethereum EVM illustrated (opens in a new tab)
Fomula ya mpito wa hali ya Ethereum
EVM hufanya kazi kama fomula ya hisabati inavyofanya: Ikipewa ingizo, hutoa tokeo thabiti. Kwa hivyo inasaidia sana kuelezea Ethereum rasmi zaidi kama yenye fomula ya mpito wa hali:
Y(S, T)= S'
Ikipewa hali halali ya zamani (S) na seti mpya ya miamala halali (T), fomula ya mpito wa hali ya Ethereum Y(S, T) hutoa hali mpya halali ya tokeo S'
Hali
Katika muktadha wa Ethereum, hali ni muundo mkubwa wa data unaoitwa Trie ya Merkle Patricia iliyorekebishwa, ambayo huweka akaunti zote zikiwa zimeunganishwa na heshi na zinazoweza kupunguzwa hadi kwenye heshi moja ya mzizi iliyohifadhiwa kwenye mnyororo wa vitalu.
Miamala
Miamala ni maagizo yaliyotiwa saini kwa njia ya kriptografia kutoka kwenye akaunti. Kuna aina mbili za miamala: ile inayosababisha miito ya ujumbe na ile inayosababisha uundaji wa mkataba.
Uundaji wa mkataba husababisha kuundwa kwa akaunti mpya ya mkataba iliyo na msimbo wa baiti wa mkataba mahiri uliokusanywa. Kila wakati akaunti nyingine inapofanya mwito wa ujumbe kwenye mkataba huo, hutekeleza msimbo wake wa baiti.
Maagizo ya EVM
EVM hutekelezwa kama mashine ya staki (opens in a new tab) yenye kina cha vipengee 1024. Kila kipengee ni neno la biti 256, ambalo lilichaguliwa kwa urahisi wa matumizi na kriptografia ya biti 256 (kama vile heshi za Keccak-256 au saini za secp256k1).
Wakati wa utekelezaji, EVM hudumisha kumbukumbu ya muda (kama safu ya baiti inayoelekezwa kwa neno), ambayo haidumu kati ya miamala.
Hifadhi ya muda
Hifadhi ya muda ni hifadhi ya ufunguo-thamani kwa kila muamala inayofikiwa kupitia misimbo ya operesheni ya TSTORE na TLOAD. Inadumu katika miito yote ya ndani wakati wa muamala huo huo lakini inafutwa mwishoni mwa muamala. Tofauti na kumbukumbu, hifadhi ya muda inaundwa kama sehemu ya hali ya EVM badala ya fremu ya utekelezaji, lakini haijatolewa kwa hali ya kimataifa. Hifadhi ya muda huwezesha ushiriki wa hali ya muda unaotumia gesi vizuri katika miito ya ndani wakati wa muamala.
Hifadhi
Mikataba ina trie ya hifadhi ya Merkle Patricia (kama safu ya maneno inayoelekezwa kwa neno), inayohusishwa na akaunti husika na sehemu ya hali ya kimataifa. Hifadhi hii ya kudumu inatofautiana na hifadhi ya muda, ambayo inapatikana tu kwa muda wa muamala mmoja na haifanyi sehemu ya trie ya hifadhi ya kudumu ya akaunti.
Misimbo ya operesheni
Msimbo wa baiti wa mkataba mahiri uliokusanywa hutekelezwa kama idadi ya misimbo ya operesheni ya EVM, ambayo hufanya operesheni za kawaida za staki kama vile XOR, AND, ADD, SUB, n.k. EVM pia hutekeleza idadi ya operesheni za staki mahususi kwa mnyororo wa vitalu, kama vile ADDRESS, BALANCE, BLOCKHASH, n.k. Seti ya msimbo wa operesheni pia inajumuisha TSTORE na TLOAD, ambayo hutoa ufikiaji wa hifadhi ya muda.
Michoro imechukuliwa kutoka Ethereum EVM illustrated (opens in a new tab)
Utekelezaji wa EVM
Utekelezaji wote wa EVM lazima ufuate vipimo vilivyoelezwa katika Waraka wa Manjano wa Ethereum.
Katika historia ya miaka kumi ya Ethereum, EVM imepitia marekebisho kadhaa, na kuna utekelezaji kadhaa wa EVM katika lugha mbalimbali za programu.
Wateja wa utekelezaji wa Ethereum wanajumuisha utekelezaji wa EVM. Zaidi ya hayo, kuna utekelezaji mwingi wa kujitegemea, ikiwa ni pamoja na:
- Py-EVM (opens in a new tab) - Python
- evmone (opens in a new tab) - C++
- ethereumjs-vm (opens in a new tab) - JavaScript
- revm (opens in a new tab) - Rust
Usomaji Zaidi
- Waraka wa Manjano wa Ethereum (opens in a new tab)
- Jellopaper au KEVM: Semantiki za EVM katika K (opens in a new tab)
- Waraka wa Beige (opens in a new tab)
- Misimbo ya Operesheni ya Mashine Pepe ya Ethereum (opens in a new tab)
- Rejeleo Shirikishi la Misimbo ya Operesheni ya Mashine Pepe ya Ethereum (opens in a new tab)
- Utangulizi mfupi katika nyaraka za Solidity (opens in a new tab)
- Kujua Ethereum - Mashine Pepe ya Ethereum (opens in a new tab)
Mada Zinazohusiana
Mafunzo: Mashine Pepe ya Ethereum (EVM) / Misimbo ya Operesheni kwenye Ethereum
- Kuelewa Vipimo vya EVM vya Waraka wa Manjano – Mwongozo wa hatua kwa hatua wa vipimo rasmi vya EVM kutoka kwenye Waraka wa Manjano wa Ethereum.
- Uhandisi wa Kinyume wa Mkataba – Jinsi ya kufanya uhandisi wa kinyume wa mkataba mahiri uliokusanywa kwa kutumia misimbo ya operesheni ya EVM.