Viteja vyepesi
Kuendesha nodi kamili ndiyo njia isiyo na hitaji la uaminifu, ya faragha, iliyogatuliwa na inayostahimili udhibiti zaidi ya kuingiliana na Ethereum. Ukiwa na nodi kamili unaweka nakala yako mwenyewe ya mnyororo wa vitalu ambayo unaweza kuiulizia papo hapo na unapata ufikiaji wa moja kwa moja kwenye mtandao wa rika-kwa-rika wa Ethereum. Hata hivyo, kuendesha nodi kamili kunahitaji kiasi kikubwa cha kumbukumbu, hifadhi na CPU. Hii inamaanisha kuwa haiwezekani kwa kila mtu kuendesha nodi yake mwenyewe. Kuna suluhisho kadhaa kwa hili kwenye ramani ya njia ya Ethereum, ikiwa ni pamoja na ubilahali, lakini ziko umbali wa miaka kadhaa kabla ya kutekelezwa. Jibu la muda mfupi ni kubadilishana baadhi ya faida za kuendesha nodi kamili kwa maboresho makubwa ya utendaji ambayo yanaruhusu nodi kuendeshwa na mahitaji madogo sana ya maunzi. Nodi zinazofanya mabadilishano haya zinajulikana kama nodi nyepesi.
Kiteja chepesi ni nini
Nodi nyepesi ni nodi inayoendesha programu ya kiteja chepesi. Badala ya kuweka nakala za ndani za data ya mnyororo wa vitalu na kuthibitisha mabadiliko yote kwa kujitegemea, zinaomba data muhimu kutoka kwa mtoa huduma fulani badala yake. Mtoa huduma anaweza kuwa muunganisho wa moja kwa moja kwenye nodi kamili au kupitia seva fulani ya RPC iliyowekwa kati. Data kisha inathibitishwa na nodi nyepesi, na kuiruhusu kuendana na kichwa cha mnyororo. Nodi nyepesi huchakata tu vichwa vya vizuizi, na kupakua tu yaliyomo halisi ya kitalu mara kwa mara. Nodi zinaweza kutofautiana katika wepesi wake, kulingana na michanganyiko ya programu za kiteja chepesi na kamili wanazoendesha. Kwa mfano, usanidi mwepesi zaidi ungekuwa kuendesha kiteja chepesi cha utekelezaji na mteja mwepesi wa mwafaka. Pia kuna uwezekano kwamba nodi nyingi zitachagua kuendesha wateja wepesi wa mwafaka na viteja kamili vya utekelezaji, au kinyume chake.
Viteja vyepesi hufanyaje kazi?
Wakati Ethereum ilipoanza kutumia utaratibu wa makubaliano unaotegemea Uthibitisho wa Dau (PoS), miundombinu mipya ilianzishwa mahususi kusaidia viteja vyepesi. Jinsi inavyofanya kazi ni kwa kuchagua kwa nasibu kikundi kidogo cha wathibitishaji 512 kila baada ya siku 1.1 ili kufanya kazi kama kamati ya usawazishaji. Kamati ya usawazishaji husaini kichwa cha vitalu vya hivi karibuni. Kila kichwa cha kizuizi kina sahihi iliyojumuishwa ya wathibitishaji katika kamati ya usawazishaji na "bitfield" inayoonyesha ni wathibitishaji gani waliosaini na wapi hawakusaini. Kila kichwa pia kinajumuisha orodha ya wathibitishaji wanaotarajiwa kushiriki katika kusaini kitalu kinachofuata. Hii inamaanisha kiteja chepesi kinaweza kuona haraka kwamba kamati ya usawazishaji imeidhinisha data wanayopokea, na wanaweza pia kuangalia kwamba kamati ya usawazishaji ni ile halisi kwa kulinganisha ile wanayopokea na ile waliyoambiwa kutarajia katika kitalu kilichopita. Kwa njia hii, kiteja chepesi kinaweza kuendelea kusasisha ujuzi wake wa kitalu cha hivi karibuni cha Ethereum bila kupakua kitalu chenyewe, isipokuwa tu kichwa ambacho kina maelezo ya muhtasari.
Kwenye tabaka la utekelezaji hakuna vipimo maalum vya kiteja chepesi cha utekelezaji. Upeo wa kiteja chepesi cha utekelezaji unaweza kutofautiana kutoka "hali nyepesi" ya kiteja kamili cha utekelezaji ambacho kina utendaji wote wa EVM na mtandao wa nodi kamili lakini kinathibitisha tu vichwa vya vizuizi, bila kupakua data inayohusiana, au inaweza kuwa kiteja kilichopunguzwa zaidi ambacho kinategemea sana kusambaza maombi kwa mtoa huduma wa RPC ili kuingiliana na Ethereum.
Kwa nini viteja vyepesi ni muhimu?
Viteja vyepesi ni muhimu kwa sababu vinaruhusu watumiaji kuthibitisha data inayoingia badala ya kuamini kipofu kwamba mtoa huduma wao wa data ni sahihi na mwaminifu, huku wakitumia sehemu ndogo tu ya rasilimali za kompyuta za nodi kamili. Data ambayo viteja vyepesi hupokea inaweza kuangaliwa dhidi ya vichwa vya vizuizi ambavyo wanajua vimesainiwa na angalau 2/3 ya seti ya nasibu ya wathibitishaji 512 wa Ethereum. Huu ni ushahidi wenye nguvu sana kwamba data ni sahihi.
Kiteja chepesi hutumia kiasi kidogo tu cha nguvu ya kompyuta, kumbukumbu na hifadhi kwa hivyo kinaweza kuendeshwa kwenye simu ya mkononi, kupachikwa kwenye programu au kama sehemu ya kivinjari. Viteja vyepesi ni njia ya kufanya ufikiaji wenye uhitaji mdogo wa kuamini kwenye Ethereum uwe rahisi kama vile kuamini mtoa huduma wa tatu.
Hebu tuchukue mfano rahisi. Fikiria unataka kuangalia salio la akaunti yako. Ili kufanya hivi inabidi utume ombi kwenye nodi ya Ethereum. Nodi hiyo itaangalia nakala yake ya ndani ya hali ya Ethereum kwa salio lako na kukurudishia. Ikiwa huna ufikiaji wa moja kwa moja kwenye nodi, kuna waendeshaji waliowekwa kati ambao hutoa data hii kama huduma. Unaweza kuwatumia ombi, wanaangalia nodi yao, na kukutumia matokeo. Tatizo la hili ni kwamba inabidi umwamini mtoa huduma kuwa anakupa taarifa sahihi. Huwezi kujua kweli kama taarifa ni sahihi ikiwa huwezi kuithibitisha wewe mwenyewe.
Kiteja chepesi kinashughulikia suala hili. Bado unaomba data kutoka kwa mtoa huduma fulani wa nje, lakini unapopokea data inakuja na uthibitisho ambao nodi yako nyepesi inaweza kuangalia dhidi ya taarifa iliyopokea kwenye kichwa cha kizuizi. Hii inamaanisha Ethereum inathibitisha usahihi wa data yako badala ya mwendeshaji fulani anayeaminika.
Ni ubunifu gani ambao viteja vyepesi huwezesha?
Faida kuu ya viteja vyepesi ni kuwezesha watu wengi zaidi kufikia Ethereum kwa kujitegemea na mahitaji madogo sana ya maunzi na utegemezi mdogo kwa wahusika wengine. Hii ni nzuri kwa watumiaji kwa sababu wanaweza kuthibitisha data zao wenyewe na ni nzuri kwa mtandao kwa sababu inaongeza idadi na utofauti wa nodi zinazothibitisha mnyororo.
Uwezo wa kuendesha nodi za Ethereum kwenye vifaa vyenye hifadhi, kumbukumbu na nguvu ndogo sana ya kuchakata ni mojawapo ya maeneo makuu ya ubunifu yaliyofunguliwa na viteja vyepesi. Wakati leo nodi za Ethereum zinahitaji rasilimali nyingi za kompyuta, viteja vyepesi vinaweza kupachikwa kwenye vivinjari, kuendeshwa kwenye simu za mkononi na labda hata vifaa vidogo zaidi kama vile saa mahiri. Hii inamaanisha mikoba ya Ethereum yenye viteja vilivyopachikwa inaweza kuendeshwa kwenye simu ya mkononi. Hii inamaanisha mikoba ya simu inaweza kuwa iliyogatuliwa zaidi kwani isingelazimika kuamini watoa huduma wa data waliowekwa kati kwa data zao.
Ugani wa hili ni kuwezesha vifaa vya mtandao wa vitu (IoT). Kiteja chepesi kinaweza kutumika kuthibitisha haraka umiliki wa salio fulani la tokeni au NFT, pamoja na dhamana zote za usalama zinazotolewa na kamati za usawazishaji, na kuanzisha kitendo fulani kwenye mtandao wa IoT. Fikiria huduma ya kukodisha baiskeli (opens in a new tab) inayotumia programu yenye kiteja chepesi kilichopachikwa ili kuthibitisha haraka kwamba unamiliki NFT ya huduma ya kukodisha na ikiwa ndivyo, inafungua baiskeli ili uweze kuiendesha!
Mikusanyiko ya Ethereum pia ingenufaika na viteja vyepesi. Moja ya matatizo makubwa kwa mikusanyiko imekuwa udukuzi unaolenga madaraja yanayoruhusu fedha kuhamishwa kutoka Mtandao Mkuu wa Ethereum kwenda kwenye rollup. Udhaifu mmoja ni orakeli ambazo mikusanyiko hutumia kugundua kuwa mtumiaji ameweka amana kwenye daraja. Ikiwa orakeli inalisha data mbaya, inaweza kudanganya rollup kufikiri kulikuwa na amana kwenye daraja na kutoa fedha kimakosa. Kiteja chepesi kilichopachikwa kwenye rollup kinaweza kutumika kulinda dhidi ya orakeli zilizoharibiwa kwa sababu amana kwenye daraja inaweza kuja na uthibitisho ambao unaweza kuthibitishwa na rollup kabla ya kutoa tokeni zozote. Dhana hiyo hiyo inaweza pia kutumika kwa madaraja mengine ya kati ya minyororo.
Viteja vyepesi pia vinaweza kutumika kuboresha mikoba ya Ethereum. Badala ya kuamini data iliyotolewa kutoka kwa mtoa huduma wa RPC, mkoba wako unaweza kuthibitisha moja kwa moja data inayowasilishwa kwako kwa kutumia kiteja chepesi kilichopachikwa. Hii ingeongeza usalama kwenye mkoba wako. Ikiwa mtoa huduma wako wa RPC hakuwa mwaminifu na akakupa data isiyo sahihi, kiteja chepesi kilichopachikwa kingeweza kukuambia!
Je, hali ya sasa ya maendeleo ya kiteja chepesi ni ipi?
Kuna viteja vyepesi kadhaa vinavyotengenezwa, ikiwa ni pamoja na viteja vyepesi vya utekelezaji, mwafaka na mchanganyiko wa utekelezaji/mwafaka. Hizi ni utekelezaji wa kiteja chepesi tunazozijua wakati wa kuandika ukurasa huu:
- Lodestar (opens in a new tab): mteja mwepesi wa mwafaka katika TypeScript
- Helios (opens in a new tab): kiteja chepesi kilichojumuishwa cha utekelezaji na mwafaka katika Rust
- Geth (opens in a new tab): hali nyepesi kwa kiteja cha utekelezaji (katika maendeleo) katika Go
- Nimbus (opens in a new tab): mteja mwepesi wa mwafaka katika Nim
Kwa ufahamu wetu hakuna hata moja kati ya hizi inayochukuliwa kuwa tayari kwa uzalishaji bado.
Pia kuna kazi nyingi inayofanywa ili kuboresha njia ambazo viteja vyepesi vinaweza kufikia data ya Ethereum. Kwa sasa, viteja vyepesi vinategemea maombi ya RPC kwa nodi kamili kwa kutumia muundo wa kiteja/seva, lakini katika siku zijazo data inaweza kuombwa kwa njia iliyogatuliwa zaidi kwa kutumia mtandao maalum kama vile Potal Netwoki (opens in a new tab) ambao unaweza kutoa data kwa viteja vyepesi kwa kutumia itifaki ya uvumi ya rika-kwa-rika.
Vipengee vingine vya ramani ya njia kama vile Miti ya Verkle na ubilahali hatimaye vitaleta dhamana za usalama za viteja vyepesi sawa na zile za viteja kamili.
Usomaji zaidi
- Zsolt Felfodhi kuhusu viteja vyepesi vya Geth (opens in a new tab)
- Etan Kissling kuhusu mtandao wa kiteja chepesi (opens in a new tab)
- Etan Kissling kuhusu viteja vyepesi baada ya Unganisho (opens in a new tab)
- Piper Merriam: Barabara yenye kona kuelekea viteja vyepesi vinavyofanya kazi (opens in a new tab)