Ruka kwenda kwenye maudhui makuu
Change page

Vipande

Ukurasa ulihaririwa mwisho: 23 Februari 2026

Bloku ni makundi ya miamala yenye hashi ya bloku iliyotangulia katika mnyororo. Hii inaunganisha bloku pamoja (katika mnyororo) kwa sababu hashi hutokana na usimbaji fiche kutoka kwa data ya bloku. Hii inazuia udanganyifu, kwa sababu badiliko moja katika bloku yoyote katika historia litabatilisha bloku zote zinazofuata kwa kuwa hashi zote zinazofuata zingebadilika na kila mtu anayeendesha mnyororo wa bloku angetambua.

Mahitaji ya awali

Bloku ni mada rahisi sana kwa wanaoanza. Lakini ili kukusaidia kuelewa ukurasa huu vizuri zaidi, tunapendekeza usome kwanza Akaunti, Miamala, na utangulizi wetu wa Ethereum.

Kwa nini bloku?

Ili kuhakikisha kuwa washiriki wote kwenye mtandao wa Ethereum wanadumisha hali iliyosawazishwa na kukubaliana kuhusu historia kamili ya miamala, tunakusanya miamala katika bloku. Hii inamaanisha miamala kadhaa (au mamia) inakamilishwa, inakubaliwa, na kusawazishwa yote kwa wakati mmoja.

Mchoro unaoonyesha muamala katika bloku ukisababisha mabadiliko ya hali Mchoro umechukuliwa kutoka Ethereum EVM illustratedopens in a new tab

Kwa kutenga muda kati ya uthibitisho, tunawapa washiriki wote wa mtandao muda wa kutosha kufikia makubaliano: ingawa maombi ya miamala hutokea mara nyingi kwa sekunde, bloku hutengenezwa na kuthibitishwa kwenye Ethereum mara moja kila sekunde kumi na mbili.

Jinsi bloku zinavyofanya kazi

Ili kuhifadhi historia ya miamala, bloku zimepangwa kwa utaratibu mkali (kila bloku mpya inayoundwa huwa na marejeleo ya bloku yake mzazi), na miamala ndani ya bloku pia imepangwa kwa utaratibu mkali. Isipokuwa katika visa nadra, wakati wowote, washiriki wote kwenye mtandao wanakubaliana kuhusu idadi kamili na historia ya bloku, na wanafanya kazi ya kukusanya maombi ya sasa ya miamala katika bloku inayofuata.

Pindi bloku inapokusanywa na mthibitishaji aliyechaguliwa bila mpangilio kwenye mtandao, husambazwa kwa mtandao wote; nodi zote huongeza bloku hii mwishoni mwa mnyororo wao wa bloku, na mthibitishaji mpya huchaguliwa kuunda bloku inayofuata. Mchakato kamili wa kuunganisha bloku na mchakato wa uthibitisho/makubaliano kwa sasa umeainishwa na itifaki ya "Uthibitisho wa Hisa" ya Ethereum.

Itifaki ya Uthibitisho wa Hisa

Uthibitisho wa Hisa inamaanisha yafuatayo:

  • Nodi za kuthibitisha zinapaswa kuweka hisa ya ETH 32 katika mkataba wa amana kama dhamana dhidi ya tabia mbaya. Hii husaidia kulinda mtandao kwa sababu shughuli isiyo ya uaminifu inayoweza kuthibitishwa husababisha baadhi au hisa yote hiyo kuharibiwa.
  • Katika kila nafasi (yenye muda wa sekunde kumi na mbili) mthibitishaji huchaguliwa bila mpangilio kuwa mpendekezaji wa bloku. Wanakusanya miamala pamoja, wanazitekeleza na kubainisha 'hali' mpya. Wanafunga taarifa hii katika bloku na kuisambaza kwa wathibitishaji wengine.
  • Wathibitishaji wengine wanaopata habari kuhusu bloku mpya hutekeleza upya miamala ili kuhakikisha wanakubaliana na mabadiliko yaliyopendekezwa kwa hali ya kimataifa. Ikichukuliwa kuwa bloku ni halali, wanaiongeza kwenye hifadhidata yao.
  • Ikiwa mthibitishaji atapata habari kuhusu bloku mbili zinazokinzana kwa nafasi moja, hutumia algoriti yao ya kuchagua uma kuchagua ile inayoungwa mkono na ETH nyingi zaidi zilizowekwa kama hisa.

Zaidi kuhusu Uthibitisho wa Hisa

Kuna nini ndani ya bloku?

Kuna taarifa nyingi zilizomo ndani ya bloku. Katika kiwango cha juu kabisa, bloku huwa na sehemu zifuatazo:

SehemuMaelezo
yanayopangwanafasi ambayo bloku ni yake
proposer_indexkitambulisho cha mthibitishaji anayependekeza bloku
parent_roothashi ya bloku iliyotangulia
state_roothashi ya msingi ya kitu cha hali
mwilikitu chenye sehemu kadhaa, kama ilivyofafanuliwa hapa chini

Mwili wa bloku una sehemu zake kadhaa:

SehemuMaelezo
randao_revealthamani inayotumika kuchagua mpendekezaji wa bloku inayofuata
eth1_datataarifa kuhusu mkataba wa amana
graffitidata yoyote inayotumika kuweka lebo kwenye bloku
proposer_slashingsorodha ya wathibitishaji watakaoadhibiwa
attester_slashingsorodha ya waidhinishaji watakaoadhibiwa
attestationsorodha ya uidhinishaji uliofanywa dhidi ya nafasi za awali
wekaorodha ya amana mpya kwenye mkataba wa amana
voluntary_exitsorodha ya wathibitishaji wanaoondoka kwenye mtandao
sync_aggregatekikundi kidogo cha wathibitishaji kinachotumika kuhudumia wateja wepesi
execution_payloadmiamala iliyopitishwa kutoka kwa programu ya utekelezaji

Sehemu ya attestations ina orodha ya uidhinishaji wote katika bloku. Uidhinishaji una aina yake ya data ambayo ina vipande kadhaa vya data. Kila uidhinishaji una:

SehemuMaelezo
aggregation_bitsorodha ya wathibitishaji walioshiriki katika uidhinishaji huu
datachombo chenye sehemu ndogo nyingi
signaturesahihi ya jumla ya seti ya wathibitishaji dhidi ya sehemu ya data

Sehemu ya data katika attestation ina yafuatayo:

SehemuMaelezo
yanayopangwanafasi ambayo uidhinishaji unahusiana nayo
indexfaharasa za wathibitishaji wanaoidhinisha
beacon_block_roothashi ya msingi ya bloku ya Beacon inayoonekana kama kichwa cha mnyororo
chanzokituo cha ukaguzi cha mwisho kilichohalalishwa
targetbloku ya mpaka wa enzi ya hivi karibuni

Kutekeleza miamala katika execution_payload husasisha hali ya kimataifa. Wateja wote hutekeleza upya miamala katika execution_payload ili kuhakikisha hali mpya inalingana na ile katika sehemu ya state_root ya bloku mpya. Hivi ndivyo wateja wanaweza kujua kwamba bloku mpya ni halali na salama kuiongeza kwenye mnyororo wao wa bloku. execution payload yenyewe ni kitu chenye sehemu kadhaa. Pia kuna execution_payload_header ambayo ina taarifa muhimu za muhtasari kuhusu data ya utekelezaji. Miundo hii ya data imepangwa kama ifuatavyo:

execution_payload_header ina sehemu zifuatazo:

SehemuMaelezo
parent_hashhashi ya bloku mzazi
fee_recipientanwani ya akaunti ya kulipia ada za muamala
state_roothashi ya msingi kwa hali ya kimataifa baada ya kutumia mabadiliko katika bloku hii
receipts_roothashi ya trie ya risiti za miamala
logs_bloommuundo wa data wenye kumbukumbu za matukio
prev_randaothamani inayotumika katika uteuzi wa mthibitishaji bila mpangilio
block_numbernambari ya bloku ya sasa
gas_limitkiwango cha juu cha gesi kinachoruhusiwa katika bloku hii
gas_usedkiasi halisi cha gesi kilichotumika katika bloku hii
timestampmuda wa bloku
extra_datadata ya ziada yoyote kama baiti ghafi
base_fee_per_gasthamani ya ada ya msingi
block_hashHashi ya bloku ya utekelezaji
transactions_roothashi ya msingi ya miamala katika payload
withdrawal_roothashi ya msingi ya utoaji fedha katika payload

execution_payload yenyewe ina yafuatayo (kumbuka hii inafanana na kichwa isipokuwa badala ya hashi ya msingi ya miamala inajumuisha orodha halisi ya miamala na taarifa za utoaji fedha) :

SehemuMaelezo
parent_hashhashi ya bloku mzazi
fee_recipientanwani ya akaunti ya kulipia ada za muamala
state_roothashi ya msingi kwa hali ya kimataifa baada ya kutumia mabadiliko katika bloku hii
receipts_roothashi ya trie ya risiti za miamala
logs_bloommuundo wa data wenye kumbukumbu za matukio
prev_randaothamani inayotumika katika uteuzi wa mthibitishaji bila mpangilio
block_numbernambari ya bloku ya sasa
gas_limitkiwango cha juu cha gesi kinachoruhusiwa katika bloku hii
gas_usedkiasi halisi cha gesi kilichotumika katika bloku hii
timestampmuda wa bloku
extra_datadata ya ziada yoyote kama baiti ghafi
base_fee_per_gasthamani ya ada ya msingi
block_hashHashi ya bloku ya utekelezaji
miamalaorodha ya miamala itakayotekelezwa
kutoaorodha ya vitu vya utoaji fedha

Orodha ya withdrawals ina vitu vya withdrawal vilivyopangwa kwa njia ifuatayo:

SehemuMaelezo
anwanianwani ya akaunti iliyotoa fedha
amountkiasi cha utoaji fedha
indexthamani ya faharasa ya utoaji fedha
validatorIndexthamani ya faharasa ya mthibitishaji

Muda wa bloku

Muda wa bloku unarejelea muda unaotenganisha bloku. Katika Ethereum, muda umegawanywa katika vipande vya sekunde kumi na mbili vinavyoitwa 'nafasi'. Katika kila nafasi mthibitishaji mmoja huchaguliwa kupendekeza bloku. Ikichukuliwa kuwa wathibitishaji wote wako mtandaoni na wanafanya kazi kikamilifu, kutakuwa na bloku katika kila nafasi, ikimaanisha muda wa bloku ni sekunde 12. Hata hivyo, mara kwa mara wathibitishaji wanaweza kuwa nje ya mtandao wanapoitwa kupendekeza bloku, ikimaanisha nafasi zinaweza kuwa tupu wakati mwingine.

Utekelezaji huu ni tofauti na mifumo inayotegemea uthibitishaji-wa-kazi ambapo muda wa bloku ni wa uwezekano na hurekebishwa na ugumu unaolengwa wa uchimbaji wa itifaki. Muda wa wastani wa blokuopens in a new tab wa Ethereum ni mfano kamili wa hili ambapo mpito kutoka uthibitishaji-wa-kazi kwenda uthibitisho wa hisa unaweza kufahamika wazi kulingana na uthabiti wa muda mpya wa bloku wa sekunde 12.

Ukubwa wa bloku

Jambo la mwisho muhimu la kuzingatia ni kwamba bloku zenyewe zina ukomo wa ukubwa. Kila bloku ina ukubwa unaolengwa wa gesi milioni 30 lakini ukubwa wa bloku utaongezeka au kupungua kulingana na mahitaji ya mtandao, hadi kufikia kikomo cha bloku cha gesi milioni 60 (mara 2 ya ukubwa unaolengwa wa bloku). Kikomo cha gesi cha bloku kinaweza kurekebishwa juu au chini kwa sababu ya 1/1024 kutoka kwa kikomo cha gesi cha bloku iliyotangulia. Kutokana na hayo, wathibitishaji wanaweza kubadilisha kikomo cha gesi cha bloku kupitia makubaliano. Jumla ya kiasi cha gesi kinachotumiwa na miamala yote katika bloku lazima iwe chini ya kikomo cha gesi cha bloku. Hii ni muhimu kwa sababu inahakikisha kwamba bloku haziwezi kuwa na ukubwa wa kiholela. Kama bloku zingeweza kuwa na ukubwa wa kiholela, basi nodi kamili zenye utendaji duni zingeacha polepole kuweza kwenda sambamba na mtandao kwa sababu ya mahitaji ya nafasi na kasi. Kadiri bloku inavyokuwa kubwa, ndivyo nguvu kubwa zaidi ya kompyuta inavyohitajika kuzichakata kwa wakati kwa ajili ya nafasi inayofuata. Hii ni nguvu ya uwekaji wa mamlaka kati, ambayo inapingwa kwa kuweka ukomo wa ukubwa wa bloku.

Masomo zaidi

Unajua rasilimali ya jamii iliyokusaidia? Hariri ukurasa huu na uiongeze!_

Je! makala haya yamekusaidia?