Ruka hadi kwenye maudhui makuu
Change page

Shambulio na ulinzi wa Uthibitisho wa Dau wa Ethereum

Wezi na wahujumu wanatafuta fursa kila mara za kushambulia programu ya mteja ya Ethereum. Ukurasa huu unaelezea njia zinazojulikana za kushambulia tabaka la mwafaka la Ethereum na unaelezea jinsi mashambulizi hayo yanavyoweza kulindwa. Taarifa kwenye ukurasa huu zimechukuliwa kutoka kwenye toleo refu zaidi (opens in a new tab).

Prerequisites

Uelewa wa kimsingi wa Uthibitisho wa Dau (PoS) unahitajika. Pia, itasaidia kuwa na uelewa wa kimsingi wa tabaka la motisha la Ethereum na algoriti ya kuchagua mchepuko, LMD-GHOST.

What do attackers want?

Dhana potofu ya kawaida ni kwamba mshambuliaji aliyefanikiwa anaweza kuzalisha Etha mpya, au kutoa Etha kutoka kwenye akaunti zozote. Hakuna kati ya haya yanayowezekana kwa sababu miamala yote inatekelezwa na wateja wote wa utekelezaji kwenye mtandao. Lazima ikidhi masharti ya kimsingi ya uhalali (k.m., miamala imesainiwa na ufunguo wa siri wa mtumaji, mtumaji ana salio la kutosha, n.k.) la sivyo inatengua tu. Kuna makundi matatu ya matokeo ambayo mshambuliaji anaweza kulenga kiuhalisia: upangaji upya, ukamilifu mara mbili au ucheleweshaji wa ukamilifu.

“Upangaji upya” ni kupanga upya vitalu katika mpangilio mpya, labda kwa kuongeza au kutoa baadhi ya vitalu katika mnyororo mkuu. Upangaji upya wa kudhuru unaweza kuhakikisha vitalu maalum vinajumuishwa au kutengwa, kuruhusu matumizi mara mbili au uchimbaji wa thamani kwa utangulizaji muamala na ufuatiliaji wa nyuma wa miamala (MEV). Upangaji upya pia unaweza kutumika kuzuia miamala fulani isijumuishwe kwenye mnyororo mkuu - aina ya udhibiti. Aina mbaya zaidi ya upangaji upya ni “utenguaji wa ukamilifu” ambao huondoa au kubadilisha vitalu ambavyo viliwahi kukamilishwa hapo awali. Hili linawezekana tu ikiwa zaidi ya ⅓ ya jumla ya Etha iliyowekwa dhamana itaharibiwa na mshambuliaji - dhamana hii inajulikana kama “ukamilifu wa kiuchumi” - zaidi kuhusu hili baadaye.

Ukamilifu mara mbili ni hali isiyowezekana sana lakini mbaya ambapo michepuo miwili inaweza kukamilika kwa wakati mmoja, na kuunda mgawanyiko wa kudumu kwenye mnyororo. Hili linawezekana kinadharia kwa mshambuliaji aliye tayari kuhatarisha 34% ya jumla ya Etha iliyowekwa dhamana. Jamii italazimika kuratibu nje ya mnyororo na kufikia makubaliano kuhusu mnyororo upi wa kufuata, jambo ambalo litahitaji nguvu katika tabaka la kijamii.

Shambulio la ucheleweshaji wa ukamilifu huzuia mtandao kufikia masharti muhimu ya kukamilisha sehemu za mnyororo. Bila ukamilifu, ni vigumu kuamini programu za kifedha zilizojengwa juu ya Ethereum. Lengo la shambulio la ucheleweshaji wa ukamilifu huenda ni kuvuruga tu Ethereum badala ya kupata faida moja kwa moja, isipokuwa mshambuliaji ana nafasi fulani za kimkakati za uwekezaji wa muda mfupi.

Shambulio kwenye tabaka la kijamii linaweza kulenga kudhoofisha imani ya umma kwa Ethereum, kushusha thamani ya Etha, kupunguza matumizi au kuidhoofisha jamii ya Ethereum ili kufanya uratibu wa nje ya mtandao kuwa mgumu zaidi.

Baada ya kubaini kwa nini adui anaweza kushambulia Ethereum, sehemu zifuatazo zinachunguza jinsi wanavyoweza kufanya hivyo.

Methods of Attack

Layer 0 Attacks

Kwanza kabisa, watu ambao hawashiriki kikamilifu katika Ethereum (kwa kuendesha programu ya mteja) wanaweza kushambulia kwa kulenga tabaka la kijamii (Tabaka la 0). Tabaka la 0 ni msingi ambao Ethereum imejengwa juu yake, na kwa hivyo inawakilisha eneo linalowezekana kwa mashambulizi yenye matokeo yanayoenea kwenye sehemu nyingine za mfumo. Baadhi ya mifano inaweza kujumuisha:

  • Kampeni ya upotoshaji inaweza kumomonyoa imani ambayo jamii inayo katika ramani ya njia ya Ethereum, timu za wasanidi programu, programu n.k. Hili linaweza kupunguza idadi ya watu walio tayari kushiriki katika kulinda mtandao, na kudhoofisha ugatuzi na usalama wa kiuchumi wa kripto.

  • Mashambulizi yaliyolengwa na/au vitisho vinavyoelekezwa kwa jamii ya wasanidi programu. Hili linaweza kusababisha kujitoa kwa hiari kwa wasanidi programu na kupunguza kasi ya maendeleo ya Ethereum.

  • Udhibiti uliopitiliza pia unaweza kuchukuliwa kuwa shambulio kwenye Tabaka la 0, kwani unaweza kuvunja moyo ushiriki na matumizi kwa haraka.

  • Upenyezaji wa wahusika wenye ujuzi lakini wenye nia mbaya katika jamii ya wasanidi programu ambao lengo lao ni kupunguza kasi ya maendeleo kwa kurefusha mijadala isiyo ya lazima, kuchelewesha maamuzi muhimu, kuunda taka n.k.

  • Hongo zinazotolewa kwa wahusika wakuu katika mfumo wa ikolojia wa Ethereum ili kushawishi ufanyaji maamuzi.

Kinachofanya mashambulizi haya kuwa hatari sana ni kwamba mara nyingi mtaji mdogo sana au ujuzi wa kiufundi unahitajika. Shambulio la Tabaka la 0 linaweza kuwa kichocheo kwenye shambulio la kiuchumi la kripto. Kwa mfano, ikiwa udhibiti au utenguaji wa ukamilifu ulifikiwa na mdau mkuu mwenye nia mbaya, kudhoofisha tabaka la kijamii kunaweza kufanya iwe vigumu zaidi kuratibu mwitikio wa jamii nje ya mtandao.

Kujilinda dhidi ya mashambulizi ya Tabaka la 0 labda si jambo la moja kwa moja, lakini baadhi ya kanuni za kimsingi zinaweza kuanzishwa. Moja ni kudumisha uwiano wa juu wa taarifa sahihi dhidi ya kelele kwa taarifa za umma kuhusu Ethereum, zinazoundwa na kusambazwa na wanachama waaminifu wa jamii kupitia blogu, seva za Discord, vipimo vilivyofafanuliwa, vitabu, podikasti na YouTube. Hapa ethereum.org tunajitahidi sana kudumisha taarifa sahihi na kuzitafsiri katika lugha nyingi iwezekanavyo. Kujaza nafasi kwa taarifa za ubora wa juu na meme ni ulinzi madhubuti dhidi ya upotoshaji.

Ulinzi mwingine muhimu dhidi ya mashambulizi ya tabaka la kijamii ni taarifa wazi ya dhamira na itifaki ya utawala. Ethereum imejipambanua kama kinara wa ugatuzi na usalama miongoni mwa tabaka la 1 (l1) la mikataba mahiri, huku pia ikithamini sana uwezo wa kuongezeka na uendelevu. Vyovyote vile kutokubaliana kunakotokea katika jamii ya Ethereum, kanuni hizi za msingi zinaathiriwa kwa kiasi kidogo sana. Kutathmini simulizi dhidi ya kanuni hizi za msingi, na kuzichunguza kupitia duru mfululizo za ukaguzi katika mchakato wa EIP (Pendekezo la Kuboresha Ethereum), kunaweza kusaidia jamii kutofautisha wahusika wazuri na wabaya na kupunguza wigo kwa wahusika wenye nia mbaya kushawishi mwelekeo wa baadaye wa Ethereum.

Hatimaye, ni muhimu kwamba jamii ya Ethereum ibaki wazi na kuwakaribisha washiriki wote. Jamii yenye walinzi wa milango na ubaguzi ni ile iliyo hatarini zaidi kwa shambulio la kijamii kwa sababu ni rahisi kujenga simulizi za "sisi na wao". Ukabila na msimamo mkali wenye sumu huumiza jamii na kumomonyoa usalama wa Tabaka la 0. Waethereans wenye maslahi katika usalama wa mtandao wanapaswa kuona mienendo yao mtandaoni na katika ulimwengu halisi kama mchangiaji wa moja kwa moja kwa usalama wa Tabaka la 0 la Ethereum.

Attacking the protocol

Mtu yeyote anaweza kuendesha programu ya mteja ya Ethereum. Ili kuongeza mthibitishaji kwa mteja, mtumiaji anahitajika kuweka dhamana ya Etha 32 kwenye mkataba wa amana. Mthibitishaji huruhusu mtumiaji kushiriki kikamilifu katika usalama wa mtandao wa Ethereum kwa kupendekeza na kutoa uthibitisho kwa vitalu vipya. Mthibitishaji sasa ana sauti anayoweza kuitumia kushawishi yaliyomo ya baadaye ya mnyororo wa vitalu - wanaweza kufanya hivyo kwa uaminifu na kukuza akiba yao ya Etha kupitia tuzo au wanaweza kujaribu kuchezea mchakato kwa faida yao wenyewe, wakihatarisha dhamana yao. Njia moja ya kuanzisha shambulio ni kukusanya sehemu kubwa ya jumla ya dhamana na kisha kuitumia kuwashinda kura wathibitishaji waaminifu. Kadiri sehemu ya dhamana inayodhibitiwa na mshambuliaji inavyokuwa kubwa ndivyo nguvu yao ya kura inavyokuwa kubwa, hasa katika hatua fulani za kiuchumi ambazo tutazichunguza baadaye. Hata hivyo, washambuliaji wengi hawataweza kukusanya Etha ya kutosha kushambulia kwa njia hii, kwa hivyo badala yake inabidi watumie mbinu za hila kuchezea wengi waaminifu ili watende kwa njia fulani.

Kimsingi, mashambulizi yote ya dhamana ndogo ni tofauti za hila kwenye aina mbili za utovu wa nidhamu wa mthibitishaji: kutotenda vya kutosha (kushindwa kutoa uthibitisho/kupendekeza au kufanya hivyo kwa kuchelewa) au kutenda kupita kiasi (kupendekeza/kutoa uthibitisho mara nyingi sana katika sloti). Katika aina zao za kawaida vitendo hivi vinashughulikiwa kwa urahisi na algoriti ya kuchagua mchepuko na tabaka la motisha, lakini kuna njia wajanja za kuchezea mfumo kwa faida ya mshambuliaji.

Attacks using small amounts of ETH

reorgs

Machapisho kadhaa yameelezea mashambulizi kwenye Ethereum ambayo yanafanikisha upangaji upya au ucheleweshaji wa ukamilifu kwa sehemu ndogo tu ya jumla ya Etha iliyowekwa dhamana. Mashambulizi haya kwa ujumla yanategemea mshambuliaji kuzuia baadhi ya taarifa kutoka kwa wathibitishaji wengine na kisha kuzitoa kwa njia fulani ya hila na/au kwa wakati fulani mwafaka. Kwa kawaida yanalenga kuondoa baadhi ya vitalu vya uaminifu kutoka kwenye mnyororo mkuu. Neuder na wenzake 2020 (opens in a new tab) walionyesha jinsi mthibitishaji anayeshambulia anavyoweza kuunda na kutoa uthibitisho kwa kitalu (B) kwa sloti fulani n+1 lakini akajizuia kukisambaza kwa nodi nyingine kwenye mtandao. Badala yake, wanashikilia kitalu hicho kilichothibitishwa hadi sloti inayofuata n+2. Mthibitishaji mwaminifu anapendekeza kitalu (C) kwa sloti n+2. Karibu kwa wakati mmoja, mshambuliaji anaweza kutoa kitalu chao kilichozuiliwa (B) na uthibitisho wao uliozuiliwa kwa ajili yake, na pia kutoa uthibitisho kwa B kuwa kichwa cha mnyororo kwa kura zao kwa sloti n+2, na hivyo kukataa kuwepo kwa kitalu cha uaminifu C. Wakati kitalu cha uaminifu D kinapotolewa, algoriti ya kuchagua mchepuko inaona D kikijengwa juu ya B kuwa kizito zaidi kuliko D kikijengwa juu ya C. Kwa hivyo mshambuliaji ameweza kuondoa kitalu cha uaminifu C katika sloti n+2 kutoka kwenye mnyororo mkuu kwa kutumia upangaji upya wa kitalu 1 uliopangwa mapema. Mshambuliaji aliye na 34% (opens in a new tab) ya dhamana ana nafasi nzuri sana ya kufanikiwa katika shambulio hili, kama ilivyoelezwa katika dokezo hili (opens in a new tab). Kinadharia, hata hivyo, shambulio hili linaweza kujaribiwa kwa dhamana ndogo zaidi. Neuder na wenzake 2020 (opens in a new tab) walielezea shambulio hili likifanya kazi kwa dhamana ya 30%, lakini baadaye ilionyeshwa kuwa linawezekana kwa 2% ya jumla ya dhamana (opens in a new tab) na kisha tena kwa mthibitishaji mmoja (opens in a new tab) kwa kutumia mbinu za kusawazisha ambazo tutazichunguza katika sehemu inayofuata.

ex-ante re-org

Mchoro wa dhana wa shambulio la upangaji upya wa kitalu kimoja lililoelezwa hapo juu (limechukuliwa kutoka https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair (opens in a new tab))

Shambulio la kisasa zaidi linaweza kugawanya kundi la wathibitishaji waaminifu katika makundi tofauti ambayo yana mitazamo tofauti ya kichwa cha mnyororo. Hili linajulikana kama shambulio la kusawazisha. Mshambuliaji anasubiri nafasi yao ya kupendekeza kitalu, na inapofika wanapiga kura kinzani na kupendekeza viwili. Wanatuma kitalu kimoja kwa nusu ya kundi la wathibitishaji waaminifu na kitalu kingine kwa nusu nyingine. Kura kinzani itagunduliwa na algoriti ya kuchagua mchepuko na mpendekezaji wa bloku atakatwa na kutolewa kwenye mtandao, lakini vitalu hivyo viwili bado vitakuwepo na vitakuwa na takriban nusu ya kundi la wathibitishaji wanaotoa uthibitisho kwa kila mchepuo. Wakati huo huo, wathibitishaji waliosalia wenye nia mbaya wanazuia uthibitisho wao. Kisha, kwa kutoa kwa kuchagua uthibitisho unaopendelea mchepuo mmoja au mwingine kwa wathibitishaji wa kutosha tu wakati algoriti ya kuchagua mchepuko inapotekelezwa, wanaelekeza uzito uliokusanywa wa uthibitisho kwa kupendelea mchepuo mmoja au mwingine. Hili linaweza kuendelea kwa muda usiojulikana, huku wathibitishaji wanaoshambulia wakidumisha mgawanyo sawa wa wathibitishaji kwenye michepuo yote miwili. Kwa kuwa hakuna mchepuo unaoweza kuvutia wingi mkuu wa 2/3, mtandao hautakamilika.

Mashambulizi ya kudunda yanafanana. Kura zinazuiliwa tena na wathibitishaji wanaoshambulia. Badala ya kutoa kura ili kuweka mgawanyo sawa kati ya michepuo miwili, wanatumia kura zao kwa nyakati mwafaka kuhalalisha vituo vya ukaguzi vinavyopishana kati ya mchepuo A na mchepuo B. Kubadilika-badilika huku kwa uhalalishaji kati ya michepuo miwili kunazuia kuwepo kwa jozi za vituo vya ukaguzi vya chanzo na lengwa vilivyohalalishwa ambavyo vinaweza kukamilishwa kwenye mnyororo wowote, na kusimamisha ukamilifu.

The game of reorgs in proof of stake Ethereum

Caspar Schwarz-Schilling presents research on block reorganization attacks in proof of stake Ethereum, covering attack vectors, defense mechanisms, and the protocol-level mitigations in place.

Tazama na nakala 

Mashambulizi yote ya kudunda na kusawazisha yanategemea mshambuliaji kuwa na udhibiti mzuri sana wa muda wa ujumbe kwenye mtandao, jambo ambalo haliwezekani sana. Hata hivyo, ulinzi umejengwa ndani ya itifaki kwa njia ya uzito wa ziada unaopewa jumbe za haraka ikilinganishwa na zile za polepole. Hili linajulikana kama kuongeza uzito wa mpendekezaji (opens in a new tab). Ili kujilinda dhidi ya mashambulizi ya kudunda algoriti ya kuchagua mchepuko ilisasishwa ili kituo cha ukaguzi cha hivi punde kilichohalalishwa kiweze tu kubadili kwenda kwenye kile cha mnyororo mbadala wakati wa 1/3 ya kwanza ya sloti katika kila kipindi (opens in a new tab). Sharti hili linamzuia mshambuliaji kuhifadhi kura ili kuzitumia baadaye - algoriti ya kuchagua mchepuko inabaki tu mwaminifu kwa kituo cha ukaguzi ilichochagua katika 1/3 ya kwanza ya kipindi ambapo wathibitishaji wengi waaminifu wangekuwa wamepiga kura.

Kwa pamoja, hatua hizi zinaunda hali ambayo mpendekezaji wa bloku mwaminifu anatoa kitalu chao kwa haraka sana baada ya kuanza kwa sloti, kisha kuna kipindi cha ~1/3 ya sloti (sekunde 4) ambapo kitalu hicho kipya kinaweza kusababisha algoriti ya kuchagua mchepuko kubadili kwenda kwenye mnyororo mwingine. Baada ya tarehe hiyo hiyo ya mwisho, uthibitisho unaofika kutoka kwa wathibitishaji wa polepole unapunguzwa uzito ikilinganishwa na ule uliofika mapema. Hili linapendelea sana wapendekezaji na wathibitishaji wa haraka katika kuamua kichwa cha mnyororo na kupunguza kwa kiasi kikubwa uwezekano wa shambulio la kusawazisha au kudunda lililofanikiwa.

Inafaa kuzingatia, kwamba kuongeza uzito wa mpendekezaji pekee kunalinda tu dhidi ya "upangaji upya wa bei rahisi", yaani, ule unaojaribiwa na mshambuliaji aliye na dhamana ndogo. Kwa kweli, kuongeza uzito wa mpendekezaji kwenyewe kunaweza kuchezewa na wadau wakubwa. Waandishi wa chapisho hili (opens in a new tab) wanaelezea jinsi mshambuliaji aliye na 7% ya dhamana anavyoweza kutumia kura zao kimkakati kuwahadaa wathibitishaji waaminifu kujenga kwenye mchepuo wao, na kupanga upya kitalu cha uaminifu. Shambulio hili lilibuniwa kwa kudhani hali bora za ucheleweshaji ambazo haziwezekani sana. Uwezekano bado ni mdogo sana kwa mshambuliaji, na dhamana kubwa pia inamaanisha mtaji zaidi uko hatarini na kizuizi kikubwa zaidi cha kiuchumi.

Shambulio la kusawazisha linalolenga hasa sheria ya LMD (opens in a new tab) pia lilipendekezwa, ambalo lilipendekezwa kuwa linawezekana licha ya kuongeza uzito wa mpendekezaji. Mshambuliaji anaweka minyororo miwili inayoshindana kwa kupiga kura kinzani kwenye pendekezo lao la kitalu na kusambaza kila kitalu kwa takriban nusu ya mtandao kila kimoja, na kuweka usawa wa takriban kati ya michepuo. Kisha, wathibitishaji wanaoshirikiana wanapiga kura kinzani, wakipanga muda ili nusu ya mtandao ipokee kura zao kwa Mchepuo A kwanza na nusu nyingine ipokee kura zao kwa Mchepuo B kwanza. Kwa kuwa sheria ya LMD inatupa uthibitisho wa pili na kuweka tu wa kwanza kwa kila mthibitishaji, nusu ya mtandao inaona kura kwa A na hakuna kwa B, nusu nyingine inaona kura kwa B na hakuna kwa A. Waandishi wanaelezea sheria ya LMD ikimpa adui "nguvu ya kushangaza" kuanzisha shambulio la kusawazisha.

Njia hii ya shambulio la LMD ilifungwa kwa kusasisha algoriti ya kuchagua mchepuko (opens in a new tab) ili itupilie mbali wathibitishaji wanaopiga kura kinzani kutoka kwenye uzingatiaji wa uchaguzi wa mchepuko kabisa. Wathibitishaji wanaopiga kura kinzani pia ushawishi wao wa baadaye unapunguzwa na algoriti ya kuchagua mchepuko. Hili linazuia shambulio la kusawazisha lililoelezwa hapo juu huku pia likidumisha ustahimilivu dhidi ya mashambulizi ya maporomoko.

Aina nyingine ya shambulio, inayoitwa mashambulizi ya maporomoko (opens in a new tab), ilielezwa katika chapisho la Machi 2022 (opens in a new tab). Ili kuanzisha shambulio la maporomoko, mshambuliaji anahitaji kudhibiti wapendekezaji wa bloku kadhaa mfululizo. Katika kila sloti ya pendekezo la kitalu, mshambuliaji anazuia kitalu chao, akivikusanya hadi mnyororo wa uaminifu ufikie uzito sawa wa mti mdogo na vitalu vilivyozuiliwa. Kisha, vitalu vilivyozuiliwa vinatolewa ili vipige kura kinzani kwa kiwango cha juu zaidi. Waandishi wanapendekeza kwamba kuongeza uzito wa mpendekezaji - ulinzi wa msingi dhidi ya mashambulizi ya kusawazisha na kudunda - haulindi dhidi ya baadhi ya aina za shambulio la maporomoko. Hata hivyo, waandishi pia walionyesha tu shambulio hilo kwenye toleo bora sana la algoriti ya kuchagua mchepuko ya Ethereum (walitumia GHOST bila LMD).

Shambulio la maporomoko linapunguzwa na sehemu ya LMD ya algoriti ya kuchagua mchepuko ya LMD-GHOST. LMD inamaanisha "inayoendeshwa na ujumbe wa hivi punde" na inarejelea jedwali linalowekwa na kila mthibitishaji lenye ujumbe wa hivi punde uliopokelewa kutoka kwa wathibitishaji wengine. Sehemu hiyo inasasishwa tu ikiwa ujumbe mpya unatoka kwenye sloti ya baadaye kuliko ile iliyo tayari kwenye jedwali kwa mthibitishaji fulani. Katika mazoezi, hii inamaanisha kwamba katika kila sloti, ujumbe wa kwanza uliopokelewa ndio unaokubaliwa na jumbe zozote za ziada ni kura kinzani za kupuuzwa. Kwa maneno mengine, wateja wa mwafaka hawahesabu kura kinzani - wanatumia ujumbe unaofika kwanza kutoka kwa kila mthibitishaji na kura kinzani zinatupwa tu, na kuzuia mashambulizi ya maporomoko.

Kuna maboresho mengine kadhaa yanayowezekana ya baadaye kwa sheria ya kuchagua mchepuko ambayo yanaweza kuongeza usalama unaotolewa na kuongeza uzito wa mpendekezaji. Moja ni kuunganisha mtazamo (opens in a new tab), ambapo watoa uthibitisho wanasimamisha mtazamo wao wa uchaguzi wa mchepuko sekunde n kabla ya kuanza kwa sloti na mpendekezaji kisha anasaidia kusawazisha mtazamo wa mnyororo kwenye mtandao. Uboreshaji mwingine unaowezekana ni ukamilifu wa sloti moja (opens in a new tab), ambao unalinda dhidi ya mashambulizi yanayotegemea muda wa ujumbe kwa kukamilisha mnyororo baada ya sloti moja tu.

Finality Delay

Chapisho lile lile (opens in a new tab) ambalo lilielezea kwanza shambulio la upangaji upya wa kitalu kimoja la gharama nafuu pia lilielezea shambulio la ucheleweshaji wa ukamilifu (linalojulikana pia kama "kushindwa kwa uhai") ambalo linategemea mshambuliaji kuwa mpendekezaji wa bloku kwa kitalu cha mpaka wa kipindi. Hili ni muhimu kwa sababu vitalu hivi vya mpaka wa kipindi vinakuwa vituo vya ukaguzi ambavyo Casper FFG inatumia kukamilisha sehemu za mnyororo. Mshambuliaji anazuia tu kitalu chao hadi wathibitishaji waaminifu wa kutosha watumie kura zao za FFG kupendelea kitalu cha mpaka wa kipindi kilichopita kama lengo la sasa la ukamilishaji. Kisha wanatoa kitalu chao kilichozuiliwa. Wanatoa uthibitisho kwa kitalu chao na wathibitishaji waaminifu waliosalia wanafanya hivyo pia na kuunda michepuo yenye vituo vya ukaguzi lengwa tofauti. Ikiwa walipanga muda vizuri, watazuia ukamilifu kwa sababu hakutakuwa na wingi mkuu wa 2/3 unaotoa uthibitisho kwa mchepuo wowote. Kadiri dhamana inavyokuwa ndogo, ndivyo muda unavyohitaji kuwa sahihi zaidi kwa sababu mshambuliaji anadhibiti uthibitisho mchache moja kwa moja, na ndivyo uwezekano unavyokuwa mdogo wa mshambuliaji kudhibiti mthibitishaji anayependekeza kitalu fulani cha mpaka wa kipindi.

Long range attacks

Pia kuna aina ya shambulio maalum kwa minyororo ya vitalu ya Uthibitisho wa Dau (PoS) ambalo linahusisha mthibitishaji aliyeshiriki katika kitalu cha asili kudumisha mchepuo tofauti wa mnyororo wa vitalu kando ya ule wa uaminifu, na hatimaye kushawishi kundi la wathibitishaji waaminifu kubadili kwenda kwake kwa wakati fulani mwafaka baadaye sana. Aina hii ya shambulio haiwezekani kwenye Ethereum kwa sababu ya kifaa cha ukamilifu ambacho kinahakikisha wathibitishaji wote wanakubaliana juu ya hali ya mnyororo wa uaminifu kwa vipindi vya kawaida ("vituo vya ukaguzi"). Utaratibu huu rahisi unadhibiti washambuliaji wa masafa marefu kwa sababu wateja wa Ethereum hawatapanga upya vitalu vilivyokamilishwa. Nodi mpya zinazojiunga na mtandao zinafanya hivyo kwa kutafuta heshi ya hali ya hivi karibuni inayoaminika (kituo cha ukaguzi cha "udhanifu dhaifu (opens in a new tab)") na kuitumia kama kitalu cha asili bandia cha kujenga juu yake. Hili linaunda 'lango la uaminifu' kwa nodi mpya inayoingia kwenye mtandao kabla ya kuanza kuthibitisha taarifa yenyewe.

Denial of Service

Utaratibu wa PoS wa Ethereum unachagua mthibitishaji mmoja kutoka kwenye kundi lote la wathibitishaji kuwa mpendekezaji wa bloku katika kila sloti. Hili linaweza kukokotolewa kwa kutumia kipengele kinachojulikana kwa umma na inawezekana kwa adui kumtambua mpendekezaji wa bloku anayefuata mapema kidogo kabla ya pendekezo lao la kitalu. Kisha, mshambuliaji anaweza kumtumia taka mpendekezaji wa bloku ili kumzuia kubadilishana taarifa na wenzake. Kwa mtandao uliosalia, itaonekana kwamba mpendekezaji wa bloku alikuwa nje ya mtandao na sloti itabaki wazi tu. Hii inaweza kuwa aina ya udhibiti dhidi ya wathibitishaji maalum, kuwazuia kuongeza taarifa kwenye mnyororo wa vitalu. Kutekeleza chaguzi za kiongozi mmoja wa siri (SSLE) au chaguzi za kiongozi wa siri asiye mmoja kutapunguza hatari za DoS kwa sababu mpendekezaji wa bloku pekee ndiye anayejua wamechaguliwa na uchaguzi haujulikani mapema. Hili bado halijatekelezwa, lakini ni eneo amilifu la utafiti na maendeleo (opens in a new tab).

Yote haya yanaonyesha ukweli kwamba ni vigumu sana kushambulia Ethereum kwa mafanikio kwa dhamana ndogo. Mashambulizi yanayowezekana ambayo yameelezwa hapa yanahitaji algoriti bora ya kuchagua mchepuko, hali za mtandao zisizowezekana, au njia za shambulio tayari zimefungwa kwa viraka vidogo kwenye programu ya mteja. Hili, bila shaka, haliondoi uwezekano wa udhaifu mpya kuwepo katika matumizi halisi, lakini linaonyesha kiwango cha juu sana cha uwezo wa kiufundi, ujuzi wa tabaka la mwafaka na bahati inayohitajika kwa mshambuliaji wa dhamana ndogo kuwa na ufanisi. Kutoka kwa mtazamo wa mshambuliaji dau lao bora linaweza kuwa kukusanya Etha nyingi iwezekanavyo na kurudi wakiwa na sehemu kubwa zaidi ya jumla ya dhamana.

Attackers using >= 33% of the total stake

Mashambulizi yote yaliyotajwa hapo awali katika makala haya yanakuwa na uwezekano mkubwa wa kufanikiwa wakati mshambuliaji ana Etha nyingi zaidi iliyowekwa dhamana ya kupiga kura, na wathibitishaji wengi zaidi ambao wanaweza kuchaguliwa kupendekeza vitalu katika kila sloti. Mthibitishaji mwenye nia mbaya anaweza kwa hivyo kulenga kudhibiti Etha nyingi iliyowekwa dhamana iwezekanavyo.

33% ya Etha iliyowekwa dhamana ni kigezo kwa mshambuliaji kwa sababu kwa kiasi chochote kikubwa kuliko hiki wana uwezo wa kuzuia mnyororo kukamilika bila kulazimika kudhibiti kwa ukaribu vitendo vya wathibitishaji wengine. Wanaweza tu kutoweka wote kwa pamoja. Ikiwa 1/3 au zaidi ya Etha iliyowekwa dhamana inatoa uthibitisho kwa nia mbaya au inashindwa kutoa uthibitisho, basi wingi mkuu wa 2/3 hauwezi kuwepo na mnyororo hauwezi kukamilika. Ulinzi dhidi ya hili ni uvujaji wa kutotenda. Uvujaji wa kutotenda unawatambua wathibitishaji wale wanaoshindwa kutoa uthibitisho au wanaotoa uthibitisho kinyume na wengi. Etha iliyowekwa dhamana inayomilikiwa na wathibitishaji hawa wasiotoa uthibitisho inapunguzwa taratibu hadi hatimaye kwa pamoja wanawakilisha chini ya 1/3 ya jumla ili mnyororo uweze kukamilika tena.

Madhumuni ya uvujaji wa kutotenda ni kufanya mnyororo ukamilike tena. Hata hivyo, mshambuliaji pia anapoteza sehemu ya Etha yao iliyowekwa dhamana. Kutotenda kwa kuendelea kwa wathibitishaji wanaowakilisha 33% ya jumla ya Etha iliyowekwa dhamana ni ghali sana ingawa wathibitishaji hawakatwi.

Kwa kudhani kwamba mtandao wa Ethereum haufanyi kazi kwa wakati mmoja (yaani, kuna ucheleweshaji kati ya jumbe zinazotumwa na kupokelewa), mshambuliaji anayedhibiti 34% ya jumla ya dhamana anaweza kusababisha ukamilifu mara mbili. Hii ni kwa sababu mshambuliaji anaweza kupiga kura kinzani anapochaguliwa kuwa mzalishaji wa kitalu, kisha kupiga kura mara mbili na wathibitishaji wao wote. Hili linaunda hali ambapo mchepuo wa mnyororo wa vitalu upo, kila mmoja ukiwa na 34% ya Etha iliyowekwa dhamana ikipiga kura kwa ajili yake. Kila mchepuo unahitaji tu 50% ya wathibitishaji waliosalia kupiga kura kwa kuupendelea ili michepuo yote miwili iungwe mkono na wingi mkuu, ambapo minyororo yote miwili inaweza kukamilika (kwa sababu 34% ya wathibitishaji wa washambuliaji + nusu ya 66% iliyosalia = 67% kwenye kila mchepuo). Vitalu vinavyoshindana kila kimoja kitalazimika kupokelewa na takriban 50% ya wathibitishaji waaminifu kwa hivyo shambulio hili linawezekana tu wakati mshambuliaji ana kiwango fulani cha udhibiti wa muda wa jumbe zinazosambaa kwenye mtandao ili waweze kusukuma nusu ya wathibitishaji waaminifu kwenye kila mnyororo. Mshambuliaji atalazimika kuharibu dhamana yao yote (34% ya takriban Etha milioni 10 na kundi la wathibitishaji la leo) ili kufikia ukamilifu huu mara mbili kwa sababu 34% ya wathibitishaji wao watakuwa wanapiga kura mara mbili kwa wakati mmoja - kosa linaloweza kukatwa na adhabu ya juu zaidi ya uwiano. Ulinzi dhidi ya shambulio hili ni gharama kubwa sana ya kuharibu 34% ya jumla ya Etha iliyowekwa dhamana. Kupona kutokana na shambulio hili kutahitaji jamii ya Ethereum kuratibu "nje ya mtandao" na kukubaliana kufuata mchepuo mmoja au mwingine na kupuuza mwingine.

Attackers using ~50% of the total stake

Kwa 50% ya Etha iliyowekwa dhamana, kundi la wathibitishaji wakorofi linaweza kinadharia kugawanya mnyororo katika michepuo miwili yenye ukubwa sawa na kisha kutumia tu dhamana yao yote ya 50% kupiga kura kinyume na kundi la wathibitishaji waaminifu, na hivyo kudumisha michepuo miwili na kuzuia ukamilifu. Uvujaji wa kutotenda kwenye michepuo yote miwili hatimaye utasababisha minyororo yote miwili kukamilika. Katika hatua hii, chaguo pekee ni kutegemea urejeshaji wa kijamii.

Haiwezekani sana kwamba kundi la wathibitishaji maadui linaweza kudhibiti mara kwa mara 50% kamili ya jumla ya dhamana kutokana na kiwango cha mabadiliko katika idadi ya wathibitishaji waaminifu, ucheleweshaji wa mtandao n.k - gharama kubwa ya kuanzisha shambulio kama hilo pamoja na uwezekano mdogo wa kufanikiwa inaonekana kuwa kizuizi kikubwa kwa mshambuliaji mwenye akili, hasa wakati uwekezaji mdogo wa ziada katika kupata zaidi ya 50% unafungua nguvu nyingi zaidi.

Kwa >50% ya jumla ya dhamana mshambuliaji anaweza kutawala algoriti ya kuchagua mchepuko. Katika hali hii, mshambuliaji ataweza kutoa uthibitisho kwa kura ya wengi, na kuwapa udhibiti wa kutosha kufanya upangaji upya mfupi bila kuhitaji kuwahadaa wateja waaminifu. Wathibitishaji waaminifu watafuata mkondo kwa sababu algoriti yao ya kuchagua mchepuko pia itaona mnyororo unaopendelewa na mshambuliaji kama mzito zaidi, kwa hivyo mnyororo unaweza kukamilika. Hili linamwezesha mshambuliaji kudhibiti miamala fulani, kufanya upangaji upya wa masafa mafupi na kutoa MEV ya juu zaidi kwa kupanga upya vitalu kwa faida yao. Ulinzi dhidi ya hili ni gharama kubwa ya dhamana ya wengi (kwa sasa chini kidogo ya dola bilioni 19 za Marekani) ambayo inawekwa hatarini na mshambuliaji kwa sababu tabaka la kijamii lina uwezekano wa kuingilia kati na kupitisha mchepuo wa wachache waaminifu, na kushusha thamani ya dhamana ya mshambuliaji kwa kiasi kikubwa.

Attackers using >=66% of the total stake

Mshambuliaji aliye na 66% au zaidi ya jumla ya Etha iliyowekwa dhamana anaweza kukamilisha mnyororo wao wanaoupendelea bila kulazimika kuwashurutisha wathibitishaji wowote waaminifu. Mshambuliaji anaweza tu kupiga kura kwa mchepuo wao wanaoupendelea na kisha kuukamilisha, kwa sababu tu wanaweza kupiga kura kwa wingi mkuu usio mwaminifu. Kama mdau wa wingi mkuu, mshambuliaji atadhibiti kila wakati yaliyomo kwenye vitalu vilivyokamilishwa, akiwa na uwezo wa kutumia, kurudisha nyuma na kutumia tena, kudhibiti miamala fulani na kupanga upya mnyororo apendavyo. Kwa kununua Etha ya ziada ili kudhibiti 66% badala ya 51%, mshambuliaji ananunua kwa ufanisi uwezo wa kufanya upangaji upya wa baada ya tukio na utenguaji wa ukamilifu (yaani, kubadilisha yaliyopita na pia kudhibiti yajayo). Ulinzi pekee wa kweli hapa ni gharama kubwa sana ya 66% ya jumla ya Etha iliyowekwa dhamana, na chaguo la kutegemea tabaka la kijamii kuratibu upitishaji wa mchepuo mbadala. Tunaweza kuchunguza hili kwa undani zaidi katika sehemu inayofuata.

People: the last line of defense

Ikiwa wathibitishaji wasio waaminifu watafanikiwa kukamilisha toleo lao wanalolipendelea la mnyororo, jamii ya Ethereum inawekwa katika hali ngumu. Mnyororo mkuu unajumuisha sehemu isiyo ya uaminifu iliyojengwa katika historia yake, wakati wathibitishaji waaminifu wanaweza kuishia kuadhibiwa kwa kutoa uthibitisho kwa mnyororo mbadala (wa uaminifu). Kumbuka kwamba mnyororo uliokamilishwa lakini usio sahihi unaweza pia kutokana na hitilafu katika mteja wa wengi. Mwishowe, tegemeo la mwisho ni kutegemea tabaka la kijamii - Tabaka la 0 - kutatua hali hiyo.

Moja ya nguvu za mwafaka wa PoS wa Ethereum ni kwamba kuna mikakati mbalimbali ya ulinzi (opens in a new tab) ambayo jamii inaweza kutumia inakabiliwa na shambulio. Mwitikio wa chini kabisa unaweza kuwa kuwatoa kwa nguvu wathibitishaji wa washambuliaji kutoka kwenye mtandao bila adhabu yoyote ya ziada. Ili kuingia tena kwenye mtandao mshambuliaji atalazimika kujiunga na foleni ya uanzishaji ambayo inahakikisha kundi la wathibitishaji linakua taratibu. Kwa mfano, kuongeza wathibitishaji wa kutosha ili kuongeza mara mbili kiasi cha Etha iliyowekwa dhamana inachukua takriban siku 200, na kuwanunulia wathibitishaji waaminifu siku 200 kabla ya mshambuliaji kujaribu shambulio lingine la asilimia 51. Hata hivyo, jamii inaweza pia kuamua kumuadhibu mshambuliaji kwa ukali zaidi, kwa kufuta tuzo za zamani au kuteketeza sehemu fulani (hadi 100%) ya mtaji wao uliowekwa dhamana.

Vyovyote vile adhabu itakayotolewa kwa mshambuliaji, jamii pia inapaswa kuamua kwa pamoja ikiwa mnyororo usio wa uaminifu, licha ya kuwa ndio unaopendelewa na algoriti ya kuchagua mchepuko iliyowekwa kwenye wateja wa Ethereum, kwa kweli ni batili na kwamba jamii inapaswa kujenga juu ya mnyororo wa uaminifu badala yake. Wathibitishaji waaminifu wanaweza kukubaliana kwa pamoja kujenga juu ya mchepuo unaokubalika na jamii wa mnyororo wa vitalu wa Ethereum ambao unaweza, kwa mfano, kuwa umechepuka kutoka kwenye mnyororo mkuu kabla ya shambulio kuanza au kuwa na wathibitishaji wa washambuliaji kuondolewa kwa nguvu. Wathibitishaji waaminifu watahamasishwa kujenga kwenye mnyororo huu kwa sababu wataepuka adhabu zinazotumika kwao kwa kushindwa (kwa usahihi) kutoa uthibitisho kwa mnyororo wa mshambuliaji. Mabadilishano, njia za kuingia na programu zilizojengwa kwenye Ethereum huenda zingependelea kuwa kwenye mnyororo wa uaminifu na zingewafuata wathibitishaji waaminifu kwenye mnyororo wa vitalu wa uaminifu.

Hata hivyo, hii itakuwa changamoto kubwa ya utawala. Baadhi ya watumiaji na wathibitishaji bila shaka watapoteza kutokana na kurudi kwenye mnyororo wa uaminifu, miamala katika vitalu vilivyothibitishwa baada ya shambulio inaweza kurudishwa nyuma, na kuvuruga tabaka la programu, na inahujumu tu maadili ya baadhi ya watumiaji ambao wana mwelekeo wa kuamini "msimbo ni sheria". Mabadilishano na programu huenda zitakuwa zimeunganisha vitendo vya nje ya mnyororo na miamala ya mnyororoni ambayo sasa inaweza kurudishwa nyuma, na kuanzisha mfululizo wa utenguaji na masahihisho ambayo itakuwa vigumu kuyatatua kwa haki, hasa ikiwa faida zilizopatikana kwa njia haramu zimechanganywa, kuwekwa kwenye fedha zilizogatuliwa (DeFi) au bidhaa nyingine zinazotokana na athari za pili kwa watumiaji waaminifu. Bila shaka baadhi ya watumiaji, labda hata wa kitaasisi, watakuwa tayari wamefaidika na mnyororo usio wa uaminifu ama kwa kuwa wajanja au kwa bahati, na wanaweza kupinga mchepuo ili kulinda faida zao. Kumekuwa na wito wa kufanya mazoezi ya mwitikio wa jamii kwa mashambulizi ya >51% ili upunguzaji unaoratibiwa na wa busara uweze kutekelezwa haraka. Kuna mjadala muhimu wa Vitalik kwenye ethresear.ch hapa (opens in a new tab) na hapa (opens in a new tab) na kwenye Twitter hapa (opens in a new tab). Lengo la mwitikio wa kijamii ulioratibiwa linapaswa kuwa kulenga sana na kuwa mahususi kuhusu kumuadhibu mshambuliaji na kupunguza athari kwa watumiaji wengine.

Utawala tayari ni mada ngumu. Kusimamia mwitikio wa dharura wa Tabaka la 0 kwa mnyororo usio wa uaminifu unaokamilika bila shaka itakuwa changamoto kwa jamii ya Ethereum, lakini imetokea - mara mbili - katika historia ya Ethereum).

Hata hivyo, kuna jambo la kuridhisha kiasi katika tegemeo la mwisho kuwa katika ulimwengu halisi. Hatimaye, hata na mfumo huu wa ajabu wa teknolojia juu yetu, ikiwa jambo baya zaidi lingetokea watu halisi wangelazimika kuratibu njia yao ya kutoka.

Summary

Ukurasa huu ulichunguza baadhi ya njia ambazo washambuliaji wanaweza kujaribu kutumia vibaya itifaki ya mwafaka ya Uthibitisho wa Dau wa Ethereum. Upangaji upya na ucheleweshaji wa ukamilifu ulichunguzwa kwa washambuliaji wenye viwango vinavyoongezeka vya jumla ya Etha iliyowekwa dhamana. Kwa ujumla, mshambuliaji tajiri zaidi ana nafasi kubwa ya kufanikiwa kwa sababu dhamana yao inatafsiriwa kuwa nguvu ya kura wanayoweza kuitumia kushawishi yaliyomo kwenye vitalu vya baadaye. Katika viwango fulani vya kiasi cha Etha iliyowekwa dhamana, nguvu ya mshambuliaji inaongezeka:

33%: ucheleweshaji wa ukamilifu

34%: ucheleweshaji wa ukamilifu, ukamilifu mara mbili

51%: ucheleweshaji wa ukamilifu, ukamilifu mara mbili, udhibiti, udhibiti wa mustakabali wa mnyororo wa vitalu

66%: ucheleweshaji wa ukamilifu, ukamilifu mara mbili, udhibiti, udhibiti wa mustakabali na yaliyopita ya mnyororo wa vitalu

Pia kuna aina mbalimbali za mashambulizi ya kisasa zaidi ambayo yanahitaji kiasi kidogo cha Etha iliyowekwa dhamana lakini yanategemea mshambuliaji wa kisasa sana kuwa na udhibiti mzuri wa muda wa ujumbe ili kushawishi kundi la wathibitishaji waaminifu kwa faida yao.

Kwa ujumla, licha ya njia hizi zinazowezekana za shambulio hatari ya shambulio lililofanikiwa ni ndogo, hakika ni ndogo kuliko mbadala wa Uthibitisho wa Kazi (PoW). Hii ni kwa sababu ya gharama kubwa ya Etha iliyowekwa dhamana inayowekwa hatarini na mshambuliaji anayelenga kuwazidi nguvu wathibitishaji waaminifu kwa nguvu yao ya kura. Tabaka la motisha la "karoti na fimbo" lililojengwa ndani linalinda dhidi ya makosa mengi, hasa kwa washambuliaji wa dhamana ndogo. Mashambulizi ya hila zaidi ya kudunda na kusawazisha pia hayawezekani kufanikiwa kwa sababu hali halisi za mtandao hufanya udhibiti mzuri wa uwasilishaji wa ujumbe kwa vikundi maalum vya wathibitishaji kuwa mgumu sana kufikiwa, na timu za wateja zimefunga haraka njia zinazojulikana za shambulio la kudunda, kusawazisha na maporomoko kwa viraka rahisi.

Mashambulizi ya 34%, 51% au 66% huenda yatahitaji uratibu wa kijamii wa nje ya mtandao ili kutatuliwa. Ingawa hili huenda litakuwa chungu kwa jamii, uwezo wa jamii kujibu nje ya mtandao ni kizuizi kikubwa kwa mshambuliaji. Tabaka la kijamii la Ethereum ndio tegemeo la mwisho - shambulio lililofanikiwa kiufundi bado linaweza kudhibitiwa na jamii kukubaliana kupitisha mchepuo wa uaminifu. Kutakuwa na mbio kati ya mshambuliaji na jamii ya Ethereum - mabilioni ya dola yaliyotumika kwenye shambulio la 66% huenda yatafutwa na shambulio la uratibu wa kijamii lililofanikiwa ikiwa litatolewa haraka vya kutosha, na kumuacha mshambuliaji na mifuko mizito ya Etha iliyowekwa dhamana isiyoweza kuuzwa kwenye mnyororo unaojulikana kuwa si wa uaminifu unaopuuzwa na jamii ya Ethereum. Uwezekano kwamba hili litaishia kuwa na faida kwa mshambuliaji ni mdogo vya kutosha kuwa kizuizi madhubuti. Hii ndiyo sababu uwekezaji katika kudumisha tabaka la kijamii lenye mshikamano na maadili yaliyooanishwa kwa karibu ni muhimu sana.

Further Reading

Ukurasa ulisasishwa mwisho: 13 Aprili 2026