Kwa kweli ni tukio muhimu zaidi katika historia ya Ethereum, The Merge, ilifanyika Septemba 15, 2022. Iliashiria mpito wa mtandao kutoka hadi , ikibadilisha kwa msingi jinsi Ethereum inavyofikia makubaliano. Lakini kwa nini inaitwa ‘ ’ na sio ‘the transition’? Proof of Work Proof of Stake the Merge Kabla ya The Merge, Ethereum ilitumia utaratibu wa Proof of Work, ambao ulihitaji ‘wachimbaji’ kutatua mafumbo magumu ya kriptografia, ili kuhalalisha miamala, na kuunda vizuizi vipya. PoW ni nzuri, lakini ina mapungufu mengi, kama vile kutumia nguvu kubwa ya kompyuta na kusababisha matumizi makubwa ya umeme na wasiwasi wa kimazingira, idadi ndogo ya miamala kwa sababu ya muda wake mrefu wa uthibitishaji, hivyo, changamoto kwa idhini ya taasisi, uwezekano mkubwa wa hatari ya katikati, kwani inaweza kuunganishwa kwa vyombo vichache vyenye nguvu vya uchimbaji madini, n.k. Hizi na sababu nyingine zilikuwa msukumo ambao ulifanya Ethereum Foundation, miaka mitatu tu baada ya kuanzishwa, kuanza kujenga makubaliano mapya yanayoitwa Proof of Stake, yaliyolenga kutatua masuala mengi ambayo yaliikabili PoW. Tarehe 1 Desemba 2020, Ethereum ilizindua toleo lake la kwanza la PoS, mnyororo mpya unaoitwa Beacon chain. Beacon Chain haikuwa ikishughulikia miamala ya watumiaji. Kusudi lake pekee lilikuwa kuratibu vidhibiti na kufikia makubaliano kwa kutumia utaratibu mpya unaoitwa Gasper. Miamala bado ilikuwa ikishughulikiwa katika mnyororo mkuu wa Proof of Work, kwa hivyo minyororo yote, mnyororo mkuu wa Ethereum na Beacon chain, ilikuwa ikifanya kazi sambamba. Kwa karibu miaka miwili, minyororo hii miwili ilifanya kazi kwa kujitegemea. Kisha, mnamo Septemba 15, 2022, mnyororo wa asili uliacha utaratibu wake wa uchimbaji madini na kuunganishwa moja kwa moja na Beacon Chain. Kwa hivyo, minyororo miwili ikawa moja. Ndiyo maana inaitwa The Merge, sio The transition. Leo, Ethereum inafanya kazi kama blockchain yenye tabaka mbili. Safu ya makubaliano, ambayo zamani ilikuwa Beacon Chain, inashughulikia mapendekezo ya vizuizi, uthibitisho, na kukamilika. Safu ya utekelezaji, mnyororo wa asili wa Ethereum, unashughulikia usindikaji wa miamala. Huenda umeona haya yakirejelewa kama Eth2 na Eth1, mtiririko huo, lakini Ethereum Foundation iliondoa jina hilo kwa sababu ilionyesha mitandao miwili tofauti badala ya tabaka mbili za mfumo mmoja. Makala haya yanazingatia safu ya makubaliano. Hasa, jinsi Beacon Chain inavyofanya kazi kama mashine ya hali. BeaconState ni nini? Ili kuelewa jinsi mabadiliko ya mashine ya hali yanavyofanyika, kwanza tunahitaji kuelewa kile ambacho hali halisi ina wakati wa kuanza kwa mnyororo. Hali ya Beacon Chain inawakilishwa na kitu kimoja kinachoitwa BeaconState. Inashikilia kila kitu ambacho safu ya makubaliano inahitaji kufanya kazi. Wakati mwingine inarejelewa kama “God object”. Vipimo vyenyewe vinagawanya mashamba kwa madhumuni, ambayo ndiyo njia wazi zaidi ya kuzipitia. class BeaconState(Container): genesis_time: uint64 genesis_validators_root: Root slot: Slot fork: Fork latest_block_header: BeaconBlockHeader block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT] state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT] historical_roots: List[Root, HISTORICAL_ROOTS_LIMIT] eth1_data: Eth1Data eth1_data_votes: List[Eth1Data, EPOCHS_PER_ETH1_VOTING_PERIOD * SLOTS_PER_EPOCH] eth1_deposit_index: uint64 validators: List[Validator, VALIDATOR_REGISTRY_LIMIT] balances: List[Gwei, VALIDATOR_REGISTRY_LIMIT] randao_mixes: Vector[Bytes32, EPOCHS_PER_HISTORICAL_VECTOR] slashings: Vector[Gwei, EPOCHS_PER_SLASHINGS_VECTOR] previous_epoch_attestations: List[PendingAttestation, MAX_ATTESTATIONS * SLOTS_PER_EPOCH] current_epoch_attestations: List[PendingAttestation, MAX_ATTESTATIONS * SLOTS_PER_EPOCH] justification_bits: Bitvector[JUSTIFICATION_BITS_LENGTH] previous_justified_checkpoint: Checkpoint current_justified_checkpoint: Checkpoint finalized_checkpoint: Checkpoint Utoaji wa Toleo: genesis_time: uint64 genesis_validators_root: Root slot: Slot fork: Fork Vigezo vinne vya kwanza vinajibu swali “mnyororo gani tuko, na tuko wapi kwenye mnyororo huo?”. Mashamba haya yanaunganisha utambulisho wa mnyororo na kuwaambia nodi zote ni sheria zipi za itifaki zinazopaswa kufuatwa. Wakati wa kuzaliwa ni muda wa Unix ambao umewekwa mwanzoni mwa mnyororo, na haubadilika kamwe. Muda wa kuzaliwa wa Beacon chain ni 1606824023, ambao ni Desemba 1, 2020, saa 12:00:23 PM UTC. Ikiwa umewahi kuuliza ‘block.timestamp’ kutoka kwa mkataba mzuri, thamani hiyo huhesabiwa kutoka kwa shamba hili. Mizizi ya vidhibiti vya kuzaliwa, kama muda, pia iliongezwa mwanzoni mwa mnyororo. Kimsingi hutumika kama kibainishi cha kanda; kinachanganyika na saini ya kidhibiti wakati wa mapendekezo ya vizuizi na uthibitisho ili kutofautisha Ethereum mainnet kutoka mnyororo mwingine wowote. Slot ni kaunta tu inayotuambia mnyororo uko katika muda gani. Huongezeka kila sekunde 12, iwe kizuizi kimetengenezwa au la. Wakati Fork ni kitu ambacho kina mashamba matatu, ni: toleo la zamani la mnyororo, toleo la sasa la mnyororo, na epok. Wakati sasisho la kwanza kwenye mnyororo wa taa lilipotokea mnamo Oktoba 27, 2021, matoleo yalihama kutoka Awamu ya 0 hadi Altair. Toleo la sasa, wakati wa kuandika makala haya, ni Fulu, na toleo la awali ni Electra. Kama mizizi ya kidhibiti, hash ya toleo huongezwa kwa saini ili kutofautisha toleo moja la uma kutoka kwa lingine. Epok, kwa upande mwingine, ni kifungu cha slots 32, ambayo ni sekunde 12 x 32, karibu dakika 6.4. Hapa ndipo ukaguzi wa kukamilika, adhabu za kukatwa, foleni ya kutoka, na mambo mengine mazuri yanayohusu makubaliano hufanyika. Hapa ndipo Casper FFG, sehemu ya mwisho katika Gasper, inafanya kazi. Historia latest_block_header: BeaconBlockHeader block_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT] state_roots: Vector[Root, SLOTS_PER_HISTORICAL_ROOT] historical_roots: List[Root, HISTORICAL_ROOTS_LIMIT] Sehemu hii inajibu swali, “Kimetokea nini kwenye mnyororo huu?”. Vigezo hivi vinaupa mnyororo kumbukumbu fupi ya zamani yake, ikiruhusu vidhibiti kurejelea na kuhakiki nyimbo zilizopita bila kuhifadhi kila kitu. Kichwa cha kizuizi cha hivi karibuni kinahifadhi kichwa cha kizuizi kilichoshughulikiwa hivi karibuni. Kinatumika kuzuia vizuizi vya nakala kwa sababu, kabla ya kushughulikia kizuizi kipya, mnyororo huangalia kwamba mizizi ya mzazi wa kizuizi inalingana na mizizi ya kichwa cha kizuizi cha hivi karibuni. Mashamba ya mizizi ya vizuizi na mizizi ya hali yote ni orodha zinazohifadhi mizizi ya vizuizi vilivyopita na mizizi ya hali, mtawalia hadi zijazwe. Katika kila slot, mizizi huandikwa kwenye safu zao katika index ya slot%8192. Hii inaruhusu mnyororo kuangalia hali ilivyokuwa kwenye slot yoyote ya hivi karibuni ndani ya dirisha la saa 27. Mizizi ya kihistoria huongeza hash iliyochanganywa ya safu za mizizi ya vizuizi na mizizi ya hali wakati zinapojazwa. Orodha hiyo haina kikomo, lakini inakua polepole, na ingizo moja tu kila saa 27. Eth1 eth1_data: Eth1Data eth1_data_votes: List[Eth1Data, EPOCHS_PER_ETH1_VOTING_PERIOD * SLOTS_PER_EPOCH] eth1_deposit_index: uint64 Kabla ya kuunganishwa, Eth2 (Beacon chain) ilihitaji kufuatilia kile kilichokuwa kikitokea kwenye Eth1 (PoW chain), haswa miamala ya amana ambapo vidhibiti vipya vilifungia 32 ETH. Unaweza kujiuliza kwa nini 32 ETH ambayo ilikusudiwa kwa PoS ilifungwa kwenye mnyororo wa PoW badala ya Beacon chain. Jibu ni rahisi kwa sababu Beacon chain yenyewe haikuwa na uwezo wa uhamishaji wa tokeni au usindikaji wa miamala, kwani haiwezi kushughulikia amana za tokeni. Data ya Eth1 ina mashamba matatu madogo, ambayo ni, , ambayo ni mizizi ya merkle ya mti wa amana wa mkataba wa amana, idadi jumla ya amana zilizofanywa kwa mkataba, na hash ya kizuizi cha eth1 kinachorejelewa. deposit root deposit count, block hash, Beacon Chain haiwezi tu kuamini maoni ya kidhibiti kimoja cha mnyororo wa Eth1 kwa sababu vidhibiti tofauti vinaweza kuona hali tofauti kutokana na ucheleweshaji wa mtandao, kwa hivyo hutumia utaratibu wa kupiga kura unaoruhusu mapendekezo ya vizuizi kujumuisha maoni yao ya data ya sasa ya Eth1 katika kizuizi chao. Kura hizo hujilimbikiza kwenye orodha hii kwa kipindi cha kupiga kura, na ikiwa thamani yoyote itapata zaidi ya nusu ya kura wakati wa kipindi hicho, inakuwa data mpya ya Eth1. Mwishoni mwa kipindi cha kupiga kura, orodha hufutwa na upigaji kura huanza upya. Eth Deposit Index inafuatilia ni amana ngapi kutoka kwa mkataba wa amana zimeshughulikiwa hadi sasa. Wakati mnyororo unashughulikia kizuizi kipya, huangalia kama kuna amana ambazo hazijashughulikiwa kwa kulinganisha fahirisi hii na shamba la idadi ya amana katika data ya Eth1. Ikiwa idadi ya amana ni ya juu zaidi, kizuizi lazima kijumuishe amana zinazofuata hadi kiwango cha juu cha amana kwa kizuizi, ambacho ni 16 kama wakati huo. Rejesta validators: List[Validator, VALIDATOR_REGISTRY_LIMIT] balances: List[Gwei, VALIDATOR_REGISTRY_LIMIT] Kigezo hiki kimsingi huhifadhi orodha ya nani anayeshiriki katika makubaliano, na ni kiasi gani cha hisa wanacho. Ukweli mmoja mzuri kuhusu shamba la vidhibiti ni kwamba huongezeka tu na kamwe haupungui, hata baada ya kidhibiti kujiondoa, ingizo lao bado linakaa kwenye orodha. Kwa sasa, kuna maingilio 2,210,484, na ni 962,941 tu ndio wanafanya kazi. Shamba la Kidhibiti lina shamba nane madogo, ambayo ni, , ambayo kimsingi ni ufunguo wa umma wa kidhibiti, , ambapo hisa yao huenda wanapojiondoa, salio lao limezungushwa chini hadi gwei ya karibu inayotumiwa kwa kuhesabu tuzo na adhabu, na inasasishwa tu kwenye mipaka ya epok na hysteresis ili kuizuia kuangaza juu na chini. s , bendera ya boolea inayotumiwa kuashiria ikiwa kidhibiti kimekatwa. a , nambari ya epok ambayo kidhibiti kilistahili kuamilishwa. epok walipoamilishwa. , epok walipoondoka, na hatimaye , epok ambayo salio lao linaweza kujiondoa. pubKey withdrawable credentials effective balance, lashed ctivation eligibility epoch activation epoch, exit epoch withdrawable epoch Ili kuonyesha kwa nini tuna shamba la usawa wa ufanisi kwenye orodha ya kidhibiti, na shamba la usawa moja kwa moja katika hali ya taa ni kwa sababu, shamba la usawa wa ufanisi halisasishwi mara tu usawa wako halisi unapofanya, kuna buffer ya kuizuia kurudi na kurudi. Bila hysteresis, kidhibiti kinachozunguka karibu na 32 ETH kinachotikisika kati ya 31.99 na 32.01 kila epok kutokana na tuzo na adhabu kingekuwa na usawa wake wa ufanisi ukibadilika kati ya 31 na 32 kila epok. Hiyo ingemaanisha kutengeneza upya kitu cha kidhibiti mara kwa mara na kubadilisha uzito wao katika mahesabu ya kamati katika kila epok. Uchafuaji randao_mixes: Vector[Bytes32, EPOCHS_PER_HISTORICAL_VECTOR] randao_mixes ni orodha yenye ukubwa maalum ya 65,536 (takriban 2 exp 16) maingizo. Kila mara kidhibiti kinapopendekeza kizuizi, huongeza kile tunachokiita ‘randao reveal’ kwenye orodha. Ufunuo huu kimsingi ni nambari ya epok ya sasa iliyosainiwa na kidhibiti. Baada ya kusaini, mnyororo huuchukua, na kuuchanganya na mchanganyiko wa mwisho kwa epok ya sasa, ambao hutengeneza mchanganyiko mpya. Wapendekezaji wote katika epok hufanya jambo hilo hilo kupata mchanganyiko wa mwisho uliokusanywa kwa epok inayofuata. Mchanganyiko wa randao hutumiwa kuamua kamati na wapendekezaji wa vizuizi kwa epok inayofuata. Kamati, ambayo ni kidhibiti chote kinachofanya kazi kilichogawanywa katika slots 32 huamuliwa na algorithm ya 'swap-or-not' shuffle. Algorithm hii kimsingi hubadilisha index ya kidhibiti kwa nasibu na mchanganyiko. Kwa uteuzi wa mpendekezaji wa kizuizi, mnyororo huchanganya mchanganyiko wa randao ili kuunda mbegu. Kisha hupitia kidhibiti chote kinachofanya kazi kuanzia na mpangilio wa nasibu unaotokana na mbegu hiyo. Kwa kila mgombea, huangalia ikiwa hash ya mbegu na index ya kidhibiti, imegawanywa na usawa wa ufanisi wa kidhibiti, inapitisha kizingiti. Ikiwa ndivyo, kidhibiti kinakuwa mpendekezaji, ikiwa sivyo, huruka hadi kinachofuata. Kwa vitendo hupata moja haraka kwani vidhibiti vingi vinavyofanya kazi vina usawa wa 32 ETH. Kukatwa slashings: Vector[Gwei, EPOCHS_PER_SLASHINGS_VECTOR] Kidhibiti hukatwa kwa sababu mbili, ambazo ni, kupendekeza vizuizi viwili tofauti kwa slot sawa kujaribu kuunda uma, au, kufanya uthibitisho unaokinzana. Shamba la kukatwa ni orodha iliyowekwa ya maingizo 8192, moja kwa epok. Ina jumla ya usawa wa ufanisi wa kidhibiti wote ambao ulokatwa. Shamba hili hutumiwa kuhesabu kiasi cha adhabu. Uthibitisho previous_epoch_attestations: List[PendingAttestation, MAX_ATTESTATIONS * SLOTS_PER_EPOCH] current_epoch_attestations: List[PendingAttestation, MAX_ATTESTATIONS * SLOTS_PER_EPOCH] Kila kidhibiti kinachofanya kazi kinathibitisha mara moja kwa epok, na uthibitisho huu ndio huendesha sheria ya uchaguzi wa uma (LMD-GHOST) na utaratibu wa kukamilika (Casper FFG). Uthibitisho una mashamba sita madogo, ambayo ni, ambayo kidhibiti kinathibitishia, ni kizuizi ambacho kidhibiti kinachokiona kuwa kichwa cha mnyororo, kinachozingatiwa kama kura ya LMD-GHOST na kidhibiti kinachotumiwa kuamua uchaguzi wa uma. ni epok checkpoint ambayo kidhibiti kinaamini kuwa imethibitishwa, na ni epok ya sasa ambayo kidhibiti kinathibitishia, vyote kwa pamoja huunda kura ya Casper FFG inayotumika katika kukamilika. Kwa ufupi, kidhibiti kinathibitisha kuwa epok ya chanzo inapaswa kukamilishwa, na epok lengwa inapaswa kuthibitishwa. inaonyesha ni kidhibiti gani katika kamati kimethibitisha. Kwa kuwa ni rahisi kuchanganya vitu kama bits katika byte, kipande cha jumla huhifadhiwa katika shamba la bits kwa ufanisi wa kumbukumbu. Hatimaye, tuna ya kidhibiti juu ya data ya uthibitisho. slot beacon block root source target aggregation bits signature Kukamilika justification_bits: Bitvector[JUSTIFICATION_BITS_LENGTH] previous_justified_checkpoint: Checkpoint current_justified_checkpoint: Checkpoint finalized_checkpoint: Checkpoint Kukamilika kunamaanisha kizuizi na miamala yake yote haiwezi kurudishwa nyuma. Katika Beacon Chain, kukamilika ni kamili. Mara tu epok inapokamilika, njia pekee ya kurudisha nyuma ni ikiwa 1/3 ya ETH zote zilizowekwa zimekatwa, ambayo ingegharimu mabilioni ya dola. Justification bits ni vector ya bits yenye urefu wa 4, kimsingi hufuatilia tu ikiwa epok nne za mwisho zimehakikishiwa. Checkpoint iliyohakikishiwa hapo awali ni checkpoint ambayo ilikuwa imehakikishiwa kama ya epok iliyopita. Checkpoint iliyohakikishiwa ya sasa ni checkpoint iliyohakikishiwa hivi karibuni, wakati Checkpoint Iliyokamilika ni checkpoint iliyokamilika hivi karibuni. Epok inakuwa imehakikishiwa wakati 2/3 ya jumla ya hisa zinazotumika zinathibitisha kiungo cha supermajority kinachoonyesha kwenye epok hiyo kama lengo. Kukamilika kunatokea wakati unapopata checkpoin zilizohakikishiwa mbili mfululizo. Wakati wa pili inapohakikishiwa, ya kwanza inaboreshwa hadi kukamilika, ingawa kuna maelezo zaidi kwake. Mashine ya Hali Sasa kwa kuwa tunajua hali ina nini, tunaweza kuangalia jinsi inavyobadilika. Kila sekunde 12, slot mpya inafika. Ikiwa kizuizi kitapendekezwa, kazi ya mpito wa hali huchukua hali ya sasa na kizuizi hicho, huendesha uthibitishaji, husasisha, na hutoa hali mpya. Mchakato huu umegawanywa katika hatua tatu na vipimo: usindikaji wa slot, usindikaji wa kizuizi, na usindikaji wa epok. Usindikaji wa Slot Usindikaji wa Slot huendesha kila wakati mnyororo unahitaji kuendelea kutoka slot moja hadi nyingine, iwe kizuizi kimetengenezwa au la. Mambo matatu hufanyika wakati slot inapoendelea kutoka N hadi N+1. Kwanza, mizizi ya hali kwa slot N inasasishwa ili kuhifadhi rekodi ya hali ya slot hiyo. Pili, kichwa cha kizuizi cha hivi karibuni kinachohifadhi kichwa cha kizuizi kilichoshughulikiwa hivi karibuni kinasasishwa pia, kumbuka shamba hili hutumiwa kuzuia vizuizi vya nakala. Pia mizizi ya kichwa hicho kilichokamilika huandikwa kwenye mizizi ya kizuizi. Mwishowe, kaunta ya slot huongezwa kwa moja. Unaweza kujiuliza nini hufanyika kwa hali wakati mpangaji anakosa slot yake. Kweli, hali zote bado husasishwa, mizizi ya kizuizi ya slot hiyo, kwa mfano, itakuwa na mizizi ya kichwa cha kizuizi cha hivi karibuni kwa kuwa hakuna kizuizi kipya kilichowasili cha kuchukua nafasi yake. Baada ya kuongeza slot, mnyororo huangalia ikiwa umevuka mpaka wa epok, unaweza kufanywa kwa urahisi na slot mod 32 == 0, Ikiwa ndivyo, usindikaji wa epok huanza kabla ya kitu kingine chochote kutokea. Kwa hivyo kiufundi, kwa kila slots 32, usindikaji wa epok huendeshwa sambamba na usindikaji wa slot, kwa maneno mengine, usindikaji wa epok hufanyika baada ya slot kuendelea lakini kabla ya kizuizi cha slot hiyo kushughulikiwa. Jambo moja la mwisho la kuzingatia, tunapokuwa katika hatua ambapo safu za mizizi ya hali na mizizi ya kizuizi zimejazwa, yaani, katika nafasi ya slot mod 8192 == 0, kabla ya zote kuanza kuandikwa upya na data mpya kwa kuwa inaonekana kama mzunguko, mnyororo huunganisha mashamba mawili pamoja, na kuongeza kwenye hali ya kihistoria. Usindikaji wa Kizuizi Usindikaji wa kizuizi huendesha wakati kizuizi kinapendekezwa kwa slot. Baada ya usindikaji wa slot kuendeleza hali kwa slot sahihi, usindikaji wa kizuizi huchukua kizuizi kilichosainiwa na kutumia yaliyomo kwenye hali. Ina sehemu mbili kuu, ambazo ni, kuthibitisha kichwa cha kizuizi na kusindika mwili wa kizuizi. Kabla ya kitu kingine chochote, mnyororo huangalia mambo machache kama vile ikiwa kichwa cha kizuizi kinalingana na slot ya hali ya sasa, na ikiwa index ya mpangaji wa kizuizi ni kweli kidhibiti ambacho randao ilichagua. Mwishowe, huangalia ikiwa mizizi ya mzazi wa kizuizi inalingana na mizizi ya kichwa cha kizuizi cha hivi karibuni, ikiwa imethibitishwa, kichwa cha kizuizi huhifadhiwa kama kichwa cha kizuizi cha hivi karibuni katika hali. Ifuatayo, mpangaji lazima ajumuishe ufunuo wa randao, ambao kama nilivyosema hapo awali, kimsingi ni nambari ya epok ya sasa iliyosainiwa na kidhibiti. Mnyororo unathibitisha saini dhidi ya ufunguo wa umma wa mpangaji. Ni rahisi kusema kuwa njia hii ya sasa ni ya kubainisha, kwamba saini ya kidhibiti itabaki sawa kwa nambari sawa ya epok, kweli, kwa kweli lengo zima la kufanya hivyo kwa njia hii, ni kumruhusu mtu yeyote kutumia ufunguo wa umma wa kidhibiti kuangalia nambari ya epok ambayo kidhibiti kilisaini kweli. Kumbuka kuwa mpangaji hawezi kuruka ufunuo wa randao, ikiwa wanapendekeza kizuizi, lazima wajumuishe, njia pekee ya kuruka mchakato, ni kwa kutopendekeza kizuizi. Baada ya hapo, mpangaji pia atajumuisha maoni yake ya hali ya mkataba wa amana wa mnyororo wa Eth1 kama kura ya data ya Eth1. Ikiwa thamani yoyote ya data ya Eth1 katika orodha ya kura itafikia wingi, inakuwa data mpya ya Eth1 katika hali. Wakati wa usindikaji wa kizuizi, shamba la mpangaji la kukatwa linajumuisha ushahidi kwamba kidhibiti kinasaini vichwa viwili tofauti vya kizuizi kwa slot sawa, mnyororo unathibitisha saini zote mbili, na ikiwa ni halali, huwakata kwa kwanza kuweka bendera yao ya kukatwa kuwa kweli, na kuongeza usawa wao wa ufanisi kwenye safu ya kukatwa. Pia, kwa wathibitishaji, ikiwa kuna uthibitisho wowote unaokinzana, mnyororo unathibitisha, na hutambua vidhibiti wenye hatia kupitia saini yao, na kisha huwakata vidhibiti hivyo, kwa njia na mchakato sawa na kukatwa kwa mpangaji wa kizuizi. Uthibitisho mpya katika kizuizi hithibitishwa, uthibitisho unabadilishwa kuwa uthibitisho unaosubiriwa kwa kuongeza mashamba mawili mapya, ambayo ni, kucheleweshwa kwa kuingizwa na index ya mpangaji, na kisha, huongezwa ama kwa uthibitisho wa epok ya sasa au uthibitisho wa epok iliyopita. Hakuna kitu kingi baada ya kuongezwa kwani haziathiri hali mara moja, hukaa huko hadi usindikaji wa epok utakapozitathmini. Amana mpya ya kidhibiti kutoka kwa mkataba wa amana wa Eth1 inashughulikiwa, kizuizi lazima kijumuishe amana zote zinazosubiri hadi kiwango cha juu cha amana cha 16. Mnyororo unathibitisha uthibitisho wa merkle wa kila amana dhidi ya mizizi ya amana ili kuhakikisha kuwa ni sahihi. Ikiwa funguo za umma za mtoaji ni mpya, ingizo jipya la kidhibiti linaongezwa, pamoja na usawa unaolingana. Kidhibiti kinaweza kuashiria kuwa wanataka kuondoka kwa kuwasilisha kutoka kwa hiari iliyosainiwa. Mnyororo huangalia kwamba kidhibiti kimekuwa kikifanya kazi kwa angalau epok 256, na kwamba epok ya sasa ni angalau epok ya kutoka ambayo imebainishwa. Ikiwa kila kitu kinaangalia, epok ya kutoka ya kidhibiti na epok inayoweza kujiondoa huwekwa. Baada ya yote yaliyo hapo juu kushughulikiwa, kuna kipande kimoja cha mwisho lakini muhimu, ambacho ni, mizizi ya hali iliyohesabiwa na nodi nyingine inalinganishwa na mizizi ya hali iliyo kwenye kizuizi. Ikiwa haviendani, kizuizi kizima kinakataliwa. Usindikaji wa Epok Usindikaji wa Epok huanzishwa kwenye mpaka wa epok ambayo ni kila hatua ya ‘slot mod 32 = 0’. Huendesha wakati wa usindikaji wa slot wakati kaunta ya slot inapovuka kwenye epok mpya. ni hatua ngumu zaidi kwani mengi ya mambo mazuri ya makubaliano hufanyika hapa. Kwanza, uthibitisho na kukamilika huanza, hapa ndipo Casper FFG inafanya kazi yake, mchakato unaweza kusikika kuwa mgumu lakini ni rahisi sana, kwa ufupi, mnyororo huangalia uthibitisho kutoka kwa epok iliyopita na kuhesabu mizani ya ufanisi ya vidhibiti ambavyo vilithibitisha na lengo sahihi. Ikiwa kiasi hicho ni angalau 2/3 ya jumla ya usawa unaotumika, epok lengwa inakuwa imehakikishiwa, Na ikiwa epok mbili za mfululizo zimehakikishiwa, ya kwanza inakamilika. Rahisi! Ukweli mmoja ambao sikuelezea katika hatua ya usindikaji wa kizuizi, ni kwamba kwa kila hatua, vidhibiti hukusanya tuzo, wanapata tuzo kwa kujumuisha uthibitisho au kwa kuongeza ushahidi wa kukatwa, au hata tuzo ya msingi ya kawaida. Tuzo hizi zilizokusanywa hupimwa na mnyororo juu ya epok iliyopita katika hatua ya usindikaji wa epok, na kurekebisha usawa wao ipasavyo. Ikiwa mnyororo haujakamilika katika zaidi ya epok nne, kile kinachoelezewa kama “inactivity leak” huanza. Juu ya adhabu za kawaida kwa kukosa uthibitisho, vidhibiti visivyoshiriki hupigwa na adhabu ya ziada ya kutofanya kazi ambayo huongezeka kwa mraba na kila epok tangu epok ya mwisho iliyokamilika. Kwa maneno mengine, kadiri inavyochukua muda mrefu kwa kizuizi kukamilika, ndivyo adhabu yako inavyokuwa mbaya zaidi. Unaweza kujiuliza nini maana ya kufanya hivi. Sasa, wakati kizuizi hakijakamilika kwa muda, inamaanisha hakuna kura ya wengi kwenye kizuizi hicho, na kwa kuwa kupiga kura kwa kukamilika kunapimwa na uzito wa usawa wa ufanisi wa kidhibiti, kimsingi ni kiasi gani cha ETH ambacho kidhibiti kinacho, kupungua kwa kiasi cha usawa wao wa ufanisi hupunguza nguvu yao ya kupiga kura. Kwa hivyo, Ethereum inaitumia kama njia ya kulazimisha kukamilika kwa kizuizi. Inafaa kutaja kwamba wakati wa uvujaji wa kutofanya kazi, hata wathibitishaji sahihi hawapati tuzo. Kila kitu huhamia kwa hali ya adhabu kamili ili kuharakisha usawa. Tukio lingine muhimu linalotokea katika hatua hii ni kuamilishwa kwa vidhibiti, ambavyo epok yao ya kustahiki kuamilishwa imefikiwa. Pia, vidhibiti ambavyo epok yao ya kutoka imefika, vinahamishwa kutoka kwa seti ya vidhibiti vinavyofanya kazi. Ifuatayo, kumbuka kwamba usawa wa ufanisi hausasasishwi na kila slot na epok, kwa sababu hysteresis inatumika. Inasasisha tu ikiwa usawa halisi umeongezeka vya kutosha juu