Source: https://cexplorer.io/article/exploring-scalability-options-of-the-utxo-model
Muundo wa UTxO huwezesha uchakataji sambamba wa miamala, kipengele ambacho ni muhimu kwa kufikia uwekaji wa hali ya juu na ukamilisho wa haraka wa miamala. Katika makala haya, tutajikita katika mikakati mbalimbali ya kuboresha maelewano ya mtandao, ambayo yanaweza kusababisha ongezeko la upitishaji wa mtandao na ukamilishaji wa haraka wa muamala. Katika makala utajifunza kuhusu Viidhinisho vya Kuingiza Data, kugawanya, na jinsi ulinzi dhidi ya mashambulizi ya matumizi mara mbili huweka kikomo cha hatari.
Vipengele vya Msingi vya Mfano wa UTxO
UTxO ni vitu huru na visivyoweza kubadilika. Mara tu UTxO inapoundwa kama matokeo ya muamala, inabaki bila kubadilika hadi itumike katika shughuli mpya. Inapotumika, hutumiwa kabisa na UTxO mpya huundwa kama matokeo ya muamala mpya.
Picha inaonyesha uwasilishaji unaoendelea na sambamba wa shughuli mpya za watumiaji. Kila muamala huelekeza kwa kipekee kwa kuingiza UTxO kutoka kwa seti ya UTxO, kama inavyoonyeshwa na mishale nyekundu inayoelekea kwenye UTxO nyekundu. Neno STATE 1 linawakilisha hali mpya ya kimataifa inayojitokeza kwenye kila nodi kufuatia kukubalika kwa kizuizi kipya. UTxO nyekundu zimeondolewa kwenye seti ya UTxO. Seti ya UTxO imesasishwa kwa kuongezwa kwa UTxO mpya, zinazoonyeshwa na mishale ya kijani inayoelekeza kwenye UTxO za kijani.
Muundo wa UTxO ni muhimu katika kudhibiti hali ya kimataifa wakati wa uthibitishaji wa muamala. Hali ya kimataifa katika Cardano inawakilishwa na mkusanyiko amilifu wa UTxOs, unaojulikana pia kama seti ya UTxO. Kwa kuongezwa kwa kila kizuizi kipya, UTxO zote mpya zilizoundwa zinajumuishwa kwenye seti ya UTxO. Kinyume chake, UTxO zinazotumiwa (zinazotumiwa) na shughuli zinaondolewa kwenye seti ya UTxO. UTxOs zinaweza kutambuliwa kama vyombo vinavyoweza kutumika.
Kila nodi kwenye mtandao hudumisha seti yake ya kibinafsi ya UTxO. Nodi nyingi zinazofuata makubaliano zina seti inayofanana ya UTxO (jimbo la kimataifa), kwani zinahifadhi historia sawa ya blockchain, ikijumuisha block iliyoongezwa hivi majuzi. Hata hivyo, kutokana na ucheleweshaji wa uwasilishaji wa data ya mtandao, hali ya kimataifa haifanyiki mabadiliko ya papo hapo kwenye nodi zote kwa wakati mmoja, bali kwa kuchelewa kidogo. Inaweza kutumwa kuwa wakati ambapo nodi ya mtayarishaji wa block inasambaza kizuizi kipya kwenye mtandao, nodi zote zinashiriki hali sawa ya ulimwengu (maana walipokea kizuizi cha mwisho na kusasisha hali ya ulimwengu ipasavyo).
Jinsi ya Kuongeza Mwisho wa Miamala?
Cardano hutumia utaratibu wa makubaliano sawa na makubaliano ya mtindo wa Nakamoto. Hii inaonyeshwa na uwezekano wa mwisho wa vizuizi, na kwa hivyo, miamala. Hii ina maana kwamba ikiwa muamala utajumuishwa kwenye kizuizi kipya, kinachojulikana kama BLOCK 1, ina hesabu ya uthibitishaji ya sifuri. Kizuizi kinapoongezwa, kuna uwezekano kuwa kizuizi hiki kinaweza kisidumu kwenye blockchain kwani kinaweza kubadilishwa na kizuizi mbadala kilichoundwa wakati huo huo. Uhakikisho wa kwamba kizuizi kitadumu katika blockchain huongezeka kwa kuongezwa kwa vitalu vipya zaidi ya BLOCK 1. Hii mara nyingi hujulikana kama ongezeko la idadi ya uthibitishaji.
Katika picha, unaweza kuona kwamba baada ya BLOCK 0 kulikuwa na uma wa blockchain. Mbili mbadala BLOCK 1 zilitolewa. Baada ya kuongeza vizuizi zaidi, mnyororo wa juu ulishinda. Katika mlolongo wa juu, kulikuwa na shughuli TX 1.
Cardano inaonyesha mwisho wa chini wa ununuzi. Muda wa kuzuia katika Cardano umesanidiwa kuwa sekunde 20. Hii inaashiria kwamba ikiwa muamala wako utahitaji uthibitisho 10, utalazimika kungoja takriban sekunde 200, ambayo ni takriban dakika 3.
Shukrani kwa uhuru wa UTxOs ndani ya seti ya UTxO, uthibitishaji wa shughuli pia ni wa kipekee. Kila nodi inaweza kuthibitisha shughuli au kikundi cha shughuli. Mlolongo wa shughuli ndani ya kizuizi sio muhimu, kwani haziathiri kila mmoja. Kwa hivyo, nodi haiwezi tu kuthibitisha miamala ya mtu binafsi baada ya kupokelewa lakini pia kuidhinisha au kupiga kura kwa namna fulani kabla ya kusambaza muamala kwa mtandao. Kila nodi inayofuata itakayopokea muamala pia itazingatia uidhinishaji kutoka kwa nodi ambazo zimepokea muamala mapema.
Katika picha, unaweza kuona jinsi shughuli ya TX 1 inavyokusanya hatua kwa hatua idhini kwenye kila nodi nyingine ambayo inasambazwa. Wakati NODE 4 inazalisha kizuizi kipya, shughuli tayari ina idhini 4. Kumbuka kuwa NODE 4 ilikuwa ya kwanza kurekebisha mem-pool yake. NODE 4 iliondoa ingizo la zamani la UTxO (nyekundu) kutoka kwa shughuli TX 1 na kuingiza UTxO mpya iliyoundwa (kijani).
Miamala ambayo imekuwa kwenye hifadhi ya nodi kwa muda mrefu kwa ujumla itakuwa na idhini zaidi na inaweza kupewa kipaumbele cha juu inapoongezwa kwenye kizuizi. Hii tayari ni kipengele cha shughuli za Cardano, kwani Cardano inafanya kazi kwa msingi wa kwanza, wa kwanza. Muhimu zaidi, ikiwa shughuli itapata idhini kutoka kwa nodi nyingi kwenye mtandao, uwezekano wa kutupwa hupungua, hata kama blockchain itapangwa upya.
Mchakato wa kufikia makubaliano juu ya kuingizwa kwa shughuli unaweza kutokea kwa kasi zaidi na kwa kujitegemea kwa uzalishaji wa vitalu vipya.
Hata kama kizuizi kilicho na muamala kina dhibitisho chache tu (labda moja tu), tayari kutakuwa na makubaliano kati ya nodi za mtandao kwamba shughuli hiyo inapaswa kuwa sehemu ya blockchain. Mtandao unaweza kutengenezwa hivi kwamba miamala ya zamani zaidi iliyo na idadi kubwa ya vibali ijumuishwe kwenye blockchain haraka iwezekanavyo.
Walakini, upangaji upya unaowezekana wa blockchain unaleta changamoto kwa ukamilishaji wa shughuli. Licha ya muamala kuwa na idadi kubwa ya vibali, kinadharia inawezekana kwa kuondolewa kwa muda kutoka kwa blockchain. Hii inaweza kutokea ikiwa sehemu ya mnyororo (vitalu vya hivi karibuni vya blockchain) itabadilishwa na toleo mbadala. Vitalu katika toleo hili jipya la msururu mdogo vinaweza kuwa na seti tofauti za miamala. Kwa hivyo, kuimarisha ukamilishaji wa miamala kunahusisha kubadilisha makubaliano ili kuzuia upangaji upya wa blockchain, au kurekebisha sheria ili kuakisi idadi ya vibali vya muamala.
Katika picha hapa chini unaweza kuona upangaji upya usiohitajika wa blockchain. TX1 katika mlolongo wa juu ulikuwa na idhini 4 na uthibitisho mmoja (BLOCK 2). Walakini, mwishowe, mlolongo wa chini ambao hakuna shughuli ya TX 1 ulishinda.
Mwisho wa muamala unaweza kuimarishwa na nodi zinazoambatana na ujumuishaji wake kwenye blockchain wakati wa uenezaji wa mtandao wake. Hili linawezekana kwa sababu ya muundo wa UTxO, kwani uthibitishaji wa shughuli unahitaji tu uthibitisho wa kuwepo kwa UTxO za pembejeo (uwepo wao katika seti ya UTxO), kuashiria kuwa zinaweza kutumika.
Hapo chini katika kifungu, tutaonyesha jinsi inavyowezekana kinadharia kufikia mwisho wa haraka wa shughuli kabla ya mtandao kutoa kizuizi kinachofuata.
Zaidi ya hayo, umaliziaji unaweza kuongezwa kwa kuharakisha makubaliano juu ya kizuizi kipya kilichoongezwa ndani ya mtandao. Hili linaweza kufanikishwa kwa nodi kupiga kura kwenye kizuizi kabla ya kuongezwa kwa blockchain au muda mfupi baadaye.
Viidhinisho vya Ingizo
Viidhinisho vya Pembejeo ni mpango wa kuboresha upunguzaji wa Cardano. Uboreshaji huu unaweza kuonekana kama njia ya kupiga kura kabla ya kizuizi (kizuizi cha makubaliano) kuongezwa kwenye blockchain.
Viidhinisho vya Pembejeo hutumia aina 3 za vizuizi: Vitalu vya Kuingiza (IB), Vitalu vya Kuidhinisha (EB), na Vitalu vya Daraja (RB). Kila aina ya block itatengenezwa kwa masafa tofauti. Baadhi ya vizuizi vinaweza kutengenezwa kwenye sehemu moja. Vitalu vya Kuingiza vitatengenezwa kwa masafa ya haraka zaidi.
Waidhinishaji wa Ingizo hufuatilia miamala yote iliyowasilishwa na kuunganisha miamala hii katika vizuizi vilivyoundwa awali. Madhumuni kuu ya kipengele cha Kiidhinishaji cha Ingizo ni kutenganisha uteuzi wa muamala kutoka kwa uzalishaji wa kuzuia.
Katika modeli hii, miamala inaweza kukusanya idhini wakati wa kuelekea kwenye bwawa la mem. Hii ni kwa sababu Waidhinishaji wa Ingizo hujumuisha vipengele vya ulinganifu na upatanifu katika makubaliano huku wakidumisha usawa wa blockchain.
Algorithm ya Waidhinishaji wa Ingizo itawezesha utayarishaji wa idadi kubwa ya miamala wakati wa awamu ya uteuzi wa muamala, kwani inaruhusu ushiriki wa wakati mmoja wa nodi nyingi kwenye mtandao. Nodi za waidhinishaji huidhinisha na kuidhinisha awali miamala, ambayo husaidia katika kupunguza mzigo wa kukokotoa na mahitaji ya kipimo data cha watayarishaji wa viwango vya block, huku pia ikiimarisha uanuwai na upatikanaji wa shughuli nyingi. Zaidi ya hayo, wanaharakisha uthibitishaji wa miamala ambayo bado haijajumuishwa kwenye msururu kwa kutoa uthibitisho unaoweza kuthibitishwa wa uidhinishaji.
Utumaji wa Viidhinisho vya Kuingiza Data kunawezekana kutokana na muundo wa UTxO pekee, kwani inaruhusu nodi kuthibitisha miamala kwa kujitegemea. Mstari wa pekee ambao unahitaji kuhifadhiwa katika mfumo uko katika kiwango cha vitalu vya cheo, kutokana na kwamba blockchain ni mlolongo wa mstari wa vitalu. Mlolongo wa miamala ndani ya kizuizi, ikijumuisha viwango vya viwango, sio muhimu. Jambo la kufurahisha ni kwamba viwango vya viwango havitoi miamala, lakini vina marejeleo yake kupitia vizuizi vya uidhinishaji.
Picha inaonyesha watumiaji wakiwasilisha miamala inayorejelea pembejeo za UTxOs (zinazoonyeshwa kama UTxO nyekundu) kutoka kwa seti inayotumika ya UTxOs (hali ya kimataifa). Shughuli hizi hupitia uthibitishaji sambamba na hujumuishwa katika Misingi ya Kuingiza Data. Nodi zinaweza kuidhinisha Vitalu hivi vya Kuingiza kwa wakati mmoja. Mfumo hudumisha usawa na kiwango cha juu zaidi cha uthibitishaji, ambacho hulinda dhidi ya mashambulizi ya matumizi mara mbili na kadhalika, katika kiwango cha juu cha makubaliano ambapo Vitalu vya Uorodheshaji vimeunganishwa kwenye blockchain.
Kwa kila kizuizi kipya kilichoongezwa kwenye blockchain, hali ya kimataifa pia inabadilika. Kama ilivyoelezwa hapo juu, UTxO zinazotumiwa huondolewa kutoka kwa seti ya UTxO, na UTxO mpya (UTxO za kijani kutoka kwa shughuli) huingizwa ndani yake wakati huo huo.
Kumbuka: Picha iliyo hapo juu inaonyesha matumizi ya UTxO pekee, sio uwekaji wa UTxO mpya kwenye seti ya UTxO.
Ulinzi dhidi ya Mashambulizi Yanayotumika Mara Mbili
Ulinzi dhidi ya mashambulizi ya matumizi ya mara mbili ni mojawapo ya mambo ambayo yanapunguza kasi na usindikaji sambamba wa shughuli. Ingizo la kuthibitisha miamala ni hali ya kimataifa. Nodi huthibitisha miamala katika muktadha wa hali ya sasa ya kimataifa ambayo inadumisha.
Muundo wa uhasibu huathiri kimsingi jinsi nodi zinavyofanya kazi na hali ya kimataifa na ni chaguo zipi walizonazo kuhusu ulinganifu wa uthibitishaji wa shughuli na hatari.
Katika muktadha wa modeli ya UTxO, shambulio la kutumia mara mbili linaweza kutokea wakati mtumiaji anawasilisha miamala miwili inayorejelea pembejeo sawa UTxO. Hii ni sawa na kujaribu kutumia pesa sawa mara mbili. Mshambulizi wa kisasa anaweza kuwasilisha shughuli kwenye mtandao kupitia nodi tofauti, yaani katika maeneo tofauti ya mtandao. Hii ina maana kwamba shughuli zote mbili zitazingatiwa kuwa halali na kundi fulani la nodi hadi muamala mwingine uwasili ukitumia pembejeo sawa UTxO. Hapo ndipo mzozo unapotokea.
Katika hali nzuri, shambulio la matumizi maradufu linatambuliwa mapema zaidi. Muamala mmoja utajumuishwa kwenye kizuizi kipya, wakati mwingine utaondolewa. Muamala ambao umejumuishwa utaathiri hali ya kimataifa. UTxO inayotumiwa haitaweza kutumika, na kufanya shughuli ya pili kuwa batili kabisa kwani inarejelea UTxO ambayo tayari imetumika.
Kwa utekelezaji wa Viidhinisho vya Kuingiza Data, shambulio la matumizi maradufu linaweza kutambuliwa katika hatua ya Vitalu vya Kuingiza Data au Vitalu vya Uidhinishaji. Hata kama ugunduzi huu hautatokea, shambulio hilo hakika litatambuliwa na nodi wakati wa ujenzi wa Kizuizi cha Uorodheshaji.
Picha inaonyesha jaribio la kutumia mara mbili. Muamala TX 1 umewekwa katika Kizuizi tofauti cha Kuingiza data ikilinganishwa na muamala TX 2. Baadaye, miamala yote miwili itajumuishwa katika Misingi ya Uidhinishaji tofauti. Katika hatua hii, mtandao unaweza kutambua shughuli zinazokinzana na kutupa moja wapo. Hata hivyo, kama hili halitafanyika, mgogoro huo utatatuliwa wakati wa ujenzi wa Daraja la Upangaji. Nodi inayohusika na kujenga Kizuizi cha Nafasi ina taarifa zote muhimu ili kugundua miamala inayokinzana na kutatua suala hilo.
Zingatia kwamba mfumo huo unawezesha uchakataji sambamba wa miamala huku ukidumisha uwezo wa kusuluhisha mizozo kwa uthabiti na kuzuia mashambulizi ya kutumia mara mbili. Miamala mingi imejumuishwa kwenye Kizuizi cha Uorodheshaji, lakini miamala katika mgogoro haina nafasi ya kupitisha uthibitishaji.
Tazamia uboreshaji ambapo ukamilishaji wa miamala hautegemei idadi ya uthibitishaji katika kiwango cha Uorodheshaji wa Vitalu, bali unategemea hesabu ya idhini. Hii ina maana kwamba umaliziaji utakuwa takriban sawia na kasi ya uenezaji wa shughuli ndani ya mtandao. Nodi ambayo mtumiaji alitumia kuwasilisha muamala kwa mtandao lazima ifahamu idadi ya mapendekezo. Hii inalazimu utaratibu wa kusambaza vizuizi vya uidhinishaji. Nodi iliyoanzisha muamala itapokea Kizuizi cha Uidhinishaji na kitazingatia idadi ya idhini za shughuli ya mtumiaji ndani yake. Habari hii inaweza kuonyeshwa kwa mtumiaji kupitia mkoba au kupitia kichunguzi cha blockchain. Iwapo shughuli hiyo ilipata idhini kutoka, kwa dhahania, 51% ya hisa na ilikuwa karibu hakika kwamba hakukuwa na muamala unaokinzana, muamala huo unaweza kuchukuliwa kuwa wa mwisho kwa nadharia. Hata hivyo, muamala huo ungefikia tamati ya mwisho pindi tu itakapokuwa sehemu ya Kizuizi cha Uorodheshaji.
Mfano wa UTxO na Sharding
Sharding ni teknolojia muhimu ambayo huongeza kasi ya blockchains. Mtandao wa blockchain umegawanywa katika sehemu ndogo au mitandao ndogo, inayojulikana kama ‘shards’. Jumla ya kazi ya computational na uhifadhi imegawanywa katika shards.
Sharding ni aina ya usawa katika mfumo. Kila shard hufanya kazi kwa kujitegemea na inaweza kusindika seti yake ya shughuli. Utekelezaji huu sambamba wa miamala huongeza ufanisi wa jumla wa mfumo na upitishaji.
Kila shard hudumisha sehemu yake ya hali ya kimataifa. Hii inajulikana kama jimbo la ndani. Hali ya kimataifa ya blockchain nzima basi ni jumla ya majimbo haya yote ya ndani.
Mawasiliano ya pande zote ni kipengele muhimu cha kugawana. Inarejelea mchakato wa miamala au habari kubadilishana kati ya vipande tofauti. Hii ni muhimu kwa sababu upitiaji wa mtandao wa blockchain uliosambaratishwa huathiriwa sana na mawasiliano ya pande zote.
Mfano wa UTxO ni faida zaidi kwa kugawanya kuliko mfano wa msingi wa akaunti.
Katika muktadha wa modeli ya UTxO, shughuli hiyo hutumika kama kitengo cha msingi cha uthibitishaji. Muamala ni huluki inayoweza kuthibitishwa kwa kujitegemea na wahusika wengi kwa wakati mmoja. Matokeo ya uthibitishaji huu yatakuwa sawa kila wakati. Cardano hutekeleza uthibitishaji wa muamala kwa uthabiti. Vyama vingi vinaweza kuhalalisha shughuli sambamba na mpangilio wowote, bila kujali kizuizi, kumaanisha bila kujali ni lini shughuli zitajumuishwa kwenye kizuizi na bila kujali mlolongo wa shughuli ndani ya kizuizi.
Kinyume chake, katika mfano wa akaunti ya Ethereum, kizuizi ni kitengo cha msingi cha uthibitishaji. Shughuli zinategemeana. Muamala wa Ethereum hauwezi kuthibitishwa kwa kutengwa, lakini tu kuhusu hali ya kimataifa iliyopo. Hali ya kimataifa katika Ethereum inaweza kudhaniwa kuwa mlolongo wa shughuli za malipo. Matokeo ya uthibitishaji wa muamala yanategemea nafasi yake ndani ya mlolongo huu.
Tofauti katika mifano ya uhasibu huathiri kwa kiasi kikubwa utekelezaji wa sharding.
Ili kuiweka kwa urahisi, fikiria mtandao wa Cardano kama shard moja. Ikiwa tungekuwa na shards 10, itakuwa sawa na kuwa na mitandao 10 ya Cardano inayofanya kazi kando. Kinadharia, hii inaweza kusababisha ongezeko la mara kumi la upitishaji wa mtandao. Walakini, katika mazoezi, hii inaweza kuwa sio kwa sababu ya sababu kama vile mawasiliano ya pande zote, hitaji la kuhakikisha uthabiti wa data na usalama, latency ya mtandao, na usimamizi wa juu (kama kusawazisha mzigo kati ya shards, kudhibiti nodi zinazojiunga na kuondoka, na shughuli za uelekezaji).
Kwa blockchains zinazotumia mfano wa UTxO, kutekeleza sharding ni sawa, kwani hali ya kimataifa inaruhusu usawa na shughuli zinaweza kuthibitishwa kwa kujitegemea ndani ya kila shard.
Mfano wa UTxO una faida zake linapokuja suala la mawasiliano ya msalaba, kwa kuwa ni rahisi kuunda shughuli ambayo inahitaji uthibitisho kutoka kwa shards mbili.
Hebu fikiria muamala ambao una pembejeo za UTxOs kutoka kwa hali ya kimataifa ya SHARD 1 na kuunda UTxO za pato katika hali ya kimataifa ya SHARD 2. Muamala huu utakuwa sehemu ya blockchain katika shards zote mbili. Faida hapa ni kwamba uthibitisho unaweza kutokea bila kujali kizuizi, yaani, bila kujali utaratibu wa shughuli katika block.
Katika kila shard iliyo na Viidhinisho vya Kuingiza Data, muamala wa pande zote unaweza kupokea ridhaa (vibali) muda mfupi baada ya kuwasilisha. Muamala ungewasilishwa katika SHARD 1, ambayo ingeituma mara moja kwa SHARD 2. Katika sehemu zote mbili, muamala utapokea ridhaa kwa wakati mmoja. Katika sehemu zote mbili, muamala unaweza kupata usaidizi kutoka, tuseme, 51% ya hisa kwa muda mfupi sana. Kungehitaji kuwa na utaratibu wa kushiriki vizuizi vya uidhinishaji kati ya vijisehemu (seti ndogo ya data inayohusiana na miamala ya msururu itatosha). Wakati ambapo kila moja ya shards ingeingiza muamala kwenye kizuizi cha nafasi, shard iliyotolewa inaweza kutarajia kwa kiwango cha juu cha uhakika kwamba shughuli hiyo itaingizwa kwenye kizuizi cha safu kwenye shard nyingine, shukrani kwa idadi kubwa ya idhini. .
Kinadharia, SHARD 1 si lazima kusubiri hadi muamala kuingizwa kwenye Kizuizi cha Nafasi. Bila shaka, tu chini ya dhana kwamba kutakuwa na utaratibu (na motisha) ambayo itahakikisha kwamba shughuli na idadi kubwa ya ridhaa kutoka kwa wengi wa hisa daima huingia kwenye mojawapo ya vitalu vinavyofuata.
Katika picha, unaweza kuona shughuli TX 1, ambayo ina UTxO ya pembejeo kutoka kwa SHARD 1. Matokeo ya manunuzi ni UTxO ya pato ambayo imeundwa katika SHARD 2. Inaweza kusema kuwa thamani huhamishwa kati ya shards. Muamala unafika kwenye Kizuizi cha Kuingiza Data katika SHARD 1. SHARD 1 inasonga mbele muamala hadi SHARD 2. TX moja inafika kwenye Kizuizi cha Kuingiza Data katika SHARD 2. Muamala TX 1 hatua kwa hatua unafika kwenye Vitalu vya Kuidhinisha katika vipande vyote viwili na hatimaye kwenye Vitalu vya Kuorodhesha. Mara tu muamala utakapowekwa kwenye Kizuizi cha Uorodheshaji, hali ya eneo kwenye shard iliyotolewa itabadilishwa. Ingizo la UTxO limeondolewa kutoka eneo la karibu la SHARD 1. UTxO mpya itaundwa katika jimbo la karibu la SHAD 2.
Muundo wa UTxO hutoa manufaa kadhaa, ikiwa ni pamoja na kutumika kwa Viidhinisho vya Ingizo na kushiriki. Mfano uliotajwa hapo juu unaonyesha ujumuishaji wa teknolojia hizi mbili. Mara Waidhinishaji wa Ingizo wanapowekwa, sharding ina uwezo wa kuongeza kasi ya Cardano. Hata hivyo, Waidhinishaji wa Ingizo lazima waharakishe ukamilishaji wa shughuli ili kuzuia mawasiliano ya pande zote na kuhakikisha uadilifu wa hali ya kimataifa.
Kwa nini ni ngumu kutekeleza Sharding katika Ethereum?
Ethereum hufanya kazi kwa mtindo wa msingi wa akaunti ambapo kila akaunti ina hali inayohusishwa. Hali ya kimataifa ya Ethereum kimsingi ni hifadhidata ya akaunti zote na salio lao la sasa la mali. Kwa kila kizuizi kipya, hali ya mfumo husasishwa kulingana na miamala ndani ya kizuizi hicho.
Shughuli za malipo huchakatwa kwa kuangalia salio la mtumaji kwa fedha za kutosha. Ikifaulu, salio la mtumaji hupungua huku mpokeaji akiongezeka. Ethereum Virtual Machine (EVM) kisha huhesabu hali mpya kutoka kwa hali ya sasa na shughuli, ambayo inakuwa msingi wa shughuli inayofuata. Mageuzi haya yanayoendelea ya hali ya blockchain inamaanisha agizo la muamala ni muhimu kwa uthibitisho.
Kila muamala unaweza kubadilisha hali ya akaunti yoyote, na matokeo yake yanaweza kutegemea utaratibu wake wa uchakataji. Ili kudumisha uthabiti na kuzuia matumizi ya mara mbili, hali ya kimataifa ‘hufunga’ wakati wa kila uthibitishaji, ikiruhusu shughuli moja tu kuchakatwa kwa wakati mmoja. Utaratibu huu wa kufunga ni muhimu kwa uadilifu wa mfumo, kuzuia miamala ya wakati mmoja kusababisha kutofautiana au kutumia mara mbili.
Pembejeo za muamala ni salio la akaunti, rasilimali iliyoshirikiwa. Hii inamaanisha kuwa salio katika uwasilishaji wa muamala linaweza kutofautiana na salio wakati wa uthibitishaji, na kufanya ingizo la muamala lisiwe la kuamua, tofauti na muundo wa UTxO.
Katika Ethereum, salio ni mashirika ya kudumu ambayo yanaweza kubadilishwa na shughuli wakati wowote, lakini shughuli mbili haziwezi kurekebisha salio sawa kwa wakati mmoja.
Katika picha, unaweza kuona jinsi watumiaji huwasilisha miamala 5. Shughuli zinaweza kuwasilishwa kwa sambamba. Kumbuka kwamba shughuli kadhaa hurekebisha salio sawa. Kwa mfano, TX 1 na TX 2 huondoa thamani kutoka kwa salio sawa. Miamala TX 3 na TX 4 huongeza thamani kwa salio sawa. JIMBO LA 1 hadi JIMBO LA 4 zinawakilisha uchakataji mfuatano wa miamala na hivyo kusasisha hali ya kimataifa polepole. Hali ya kimataifa imeundwa na mizani sawa, yaani vitu vya kudumu ambavyo hali yake inaweza kubadilishwa mara nyingi mfululizo kupitia miamala.
Hebu fikiria ni kiasi gani cha mawasiliano ngumu zaidi ikiwa shughuli inapaswa kubadilisha wakati huo huo usawa mmoja katika SHARD 1 na mwingine katika SHARD 2. Utaratibu wa shughuli katika block ya Ethereum ina jukumu muhimu katika matokeo ya kuthibitisha. Kwa utekelezaji wa sasa wa EVM, itakuwa muhimu kwa shards zote mbili kujumuisha shughuli kwenye kizuizi na kupitisha taarifa kuhusu matokeo ya uthibitishaji kwa kila mmoja. Haina maana kwamba katika SHARD 1 uthibitishaji wa muamala ulifaulu na thamani ilitolewa kutoka kwa salio, wakati katika SHAD 2 uthibitishaji wa muamala ungeshindwa, yaani, thamani haitawekwa kwenye salio. Mawasiliano ya pande zote huzuia sana uwezo wa kujenga kizuizi katika kila shard.
Katika picha, unaweza kuona shughuli ya TX 1, ambayo imeingizwa kwenye hifadhi ya mem baada ya kuwasilisha. Kisha inaingizwa kutoka kwenye hifadhi ya mem hadi kwenye BLOCK 1. Uthibitishaji wa shughuli TX 1 hubadilisha hali ya sasa ya eneo katika SHADI 1. Hata hivyo, SHARD 1 inahitaji kujua matokeo ya uthibitishaji katika SHADI 2. SHADI 1 kwa hivyo huwasiliana na SHADI 2 kuhusu matokeo ya uthibitisho wa shughuli katika BLOCK 2 (SHARD 2). Kwa hivyo SHAD 2 lazima iingize muamala TX 1 kwenye BLOCK 2 na kufanya uthibitishaji. Kisha inaweza kuwasilisha matokeo ya uthibitishaji kwa SHARD 1. Kumbuka kwamba SHARD 1 lazima ijue matokeo ya uthibitishaji katika SHARD 2 kabla ya kuongeza muamala mwingine kwenye BLOCK 1 yake.
Hakika, mfano uliotolewa ni utekelezaji rahisi (wa kutojua) wa sharding. Inaonyesha changamoto kubwa ambazo timu ya Ethereum inakabiliwa nayo katika kutekeleza sharding na utaratibu wa sasa wa makubaliano.
Kudumisha atomiki ya shughuli wakati wa mawasiliano ya pande zote katika blockchain ya msingi wa akaunti ni kazi ngumu. Ni muhimu kuhakikisha kuwa muamala unatekelezwa kabisa au hautatekelezwa kabisa ili kudumisha uadilifu wa mfumo.
Mikakati na itifaki mbalimbali, ikiwa ni pamoja na itifaki za ahadi za awamu mbili, zimependekezwa ili kukabiliana na suala hili. Walakini, suluhisho hizi pia zinawasilisha biashara zao na ugumu wao. Ni vyema kutambua kwamba miradi kadhaa imefanikiwa kutekeleza sharding ndani ya blockchain kwa kutumia mfano wa akaunti.
Hitimisho
Kubadilisha mbinu za maafikiano ni njia moja tu ya kuongeza kasi ya mtandao. Scalability pia inaweza kuboreshwa kupitia suluhu za safu ya pili, usanifu wa tabaka, au kwa kuongeza ufanisi. Kwa mfano, Plutus V2 ni bora zaidi kuliko mtangulizi wake, Plutus V1, na kusababisha kuokoa nafasi ya kuzuia. Ufanisi huu unaruhusu shughuli zaidi kwa kila block, na hivyo kuongeza upitishaji wa mtandao. Hata hivyo, Waidhinishaji wa Ingizo wanaweza kutoa maboresho makubwa zaidi ya uboreshaji kuliko faida za ufanisi pekee.
Baadhi ya wanachama wa jumuiya ya Cardano wanaamini kwamba lengo linapaswa kuwa zaidi katika kuongeza kasi kwa njia ya cryptography ya ZK badala ya Viidhinisho vya Kuingiza Data. Cardano itajumuisha cryptography ya ZK kupitia uma ngumu wa Chang. Kwa sababu ya uamuzi wa Cardano, itawezekana kuunda safu za ZK ambazo hazihitaji mpangilio.
Muundo wa UTxO unafaa sana kwa Viidhinisho vya Ingizo au kugawanyika, kwa vile hali ya kimataifa inayojumuisha vitu vinavyoweza kutumika inaweza kusawazishwa vyema. Nodi kadhaa kwenye mtandao zinaweza kudhibitisha shughuli kwa kujitegemea kwa kila mmoja kwa sambamba, hata katika kesi ya sharding.
1 post - 1 participant