🇹🇿 Je, mustakabali wa Cardano scalability?


Makala haya yataangalia uwezekano wa sasa wa Cardano na kuzingatia ni kiasi gani Waidhinishaji wa Ingizo wanaweza kuiboresha. Hatutashughulikia Hydra au chaguzi zingine za kuongeza Cardano. Uboreshaji wa karibu zaidi wa upunguzaji wa safu ya kwanza utakuwa Viidhinisho vya Ingizo (ingawa kunaweza kuwa na uboreshaji kiasi kabla ya hapo).
Uwezo wa sasa wa Cardano
Miamala kwa Sekunde (TPS) inaweza kutuambia ni watu wangapi wanaweza kutumia mtandao katika kipindi fulani cha muda. TPS ndio upeo wa juu wa upitishaji wa mtandao.
Kwa Cardano, TPS sio kipimo kinachofaa. Muundo wa uhasibu kulingana na UTxO huruhusu kutuma vipengee vingi kwa wapokeaji wengi katika muamala mmoja. Shughuli kama hizo zinaweza kutuma mali kwa wapokeaji 100 na ni ndogo sana kuliko ikiwa mtandao ulilazimika kuchakata miamala 100 ya mtu binafsi.
Angalia aina ya miamala ambayo Cardano inachakata kwa sasa. Utagundua kuwa takriban 60% ni shughuli za SC, 35% ni miamala rahisi (Alice hutuma mali kwa Bob) na 5% ni miamala iliyo na metadata.
Kwa unyenyekevu, tutatumia metric ya TPS katika makala, na mara nyingi, tunazingatia shughuli rahisi tu.
Kuhesabu TPS ni rahisi. Kwa makadirio mabaya, tunahitaji tu kujua ukubwa wa kizuizi, ukubwa wa wastani wa ununuzi na mzunguko wa kuzuia.
Cardano hupunguza kizuizi kipya kila sekunde 20. Ukubwa wa juu wa block na shughuli hufafanuliwa na vigezo vya itifaki vifuatavyo:
Ukubwa wa juu wa kizuizi: baiti 90,112
Ukubwa wa juu wa TX: baiti 16,384
Shughuli rahisi ya Cardano inaweza kuwa na ukubwa wa ka 250 hadi 500. Mara nyingi utaona muamala wa baiti 300. Shughuli za SC au miamala iliyo na pembejeo au matokeo mengi bila shaka ni mikubwa zaidi.
Kadiri muamala unavyokuwa na pembejeo na matokeo zaidi, ndivyo inavyokuwa kubwa. Kawaida, pembejeo moja kubwa inachukuliwa, ambayo matokeo mawili yanaundwa. Pato moja hupokelewa na mpokeaji na matokeo mengine hurejesha sehemu ya mali kwa mtumaji. Muamala lazima uwe na shahidi (baiti 100-200).
Ikiwa tutazingatia kuwa kutakuwa na shughuli za ukubwa wa baiti 300 pekee kwenye kizuizi, 300 kati yao zinaweza kutoshea kwenye kizuizi. Ikiwa tutagawanya nambari hii kwa sekunde 20 (mzunguko wa utengenezaji wa block), tunapata TPS ya 15.
Iwapo tungezingatia kwamba kungekuwa na miamala mikubwa tu ya SC yenye ukubwa wa baiti 16,000 kwenye kizuizi, takriban 6 kati yao zingetoshea kwenye kizuizi. TPS itakuwa 0.3 tu.
Hata hivyo, muamala mmoja mkubwa wa SC unaweza kuwa na takriban wapokeaji 250, kwa hivyo wapokeaji 1,500 wangehudumiwa katika mtaa mmoja. Ikiwa tungekokotoa TPS si kwa miamala, bali na wapokeaji, tutapata 75.
Kwa kuzingatia aina ya sasa ya shughuli, kiwango cha juu cha sasa cha Cardano ni takriban wapokeaji 40-50 kwa pili. Hii ni takriban mara 3 zaidi ya ikiwa tulizingatia tu TPS na miamala rahisi.
Ni muhimu kutambua kwamba ukubwa wa block ya Cardano ni ndogo ikilinganishwa na blockchains nyingine.
Vitalu vya Bitcoin vina ukubwa wa juu wa kinadharia wa megabytes 4 (SegWit). Saizi ya juu ya kweli zaidi ya block ni 2 megabytes. Wastani ni karibu megabaiti 1.6 kwa mwaka uliopita. Bitcoin huchimba vizuizi vipya kwa wastani kila dakika 10. Bitcoin inaweza kushughulikia takriban 7 TPS.
Ethereum hutengeneza vizuizi vipya kwa wastani kila sekunde 12. Ukubwa wa block ya Ethereum haujawekwa (sio mdogo na ukubwa wa block katika bytes) lakini inategemea kiasi cha GESI inayotumiwa na shughuli zilizojumuishwa katika kila block. Kikomo cha GAS (utata wa utekelezaji wa shughuli) huamua ukubwa wa kuzuia. Inaweza kubadilishwa kwa nguvu. Kwa sasa, kikomo cha GESI kimewekwa kuwa 15M. Katika miezi ya hivi karibuni, ukubwa wa kuzuia huanzia kilobytes 140-170. Ethereum hupunguza takriban vitalu 7,200 kwa siku na inathibitisha kuhusu shughuli za 1M. Kuna takriban miamala 140 kwenye vitalu. Muamala wa wastani wa Ethereum ni kama baiti 1000. Kwa sasa, Ethereum inafanya kazi karibu na kikomo cha uwezo wake na TPS yake ni 12.
Algorand ina ukubwa wa block ya 5 MB na muda wa kuzuia wa sekunde 3.3. Inaweza kufanya 6000 TPS na timu inapanga kuboresha hiyo hadi 10,000.
Bitcoin ina muda mrefu wa kuzuia, lakini shukrani kwa hili inaweza kuwa na ukubwa mkubwa wa kuzuia. TPS kimsingi inadhibitiwa na muda wa kuzuia. Ethereum ina takriban nusu ya muda wa kuzuia kuliko Cardano na wakati huo huo takriban 2x ukubwa wa block kubwa. Bado, TPS ya sasa ni 12. Ikiwa tungehesabu miamala rahisi tu ya kusema baiti 500, TPS inaweza kuwa karibu 30. Hiyo itakuwa takriban mara 2 zaidi ya Cardano.
Algorand ina ukubwa mkubwa wa kuzuia na wakati huo huo muda wa kuzuia sana. Hii ni moja ya sababu za TPS ya juu. Tutazungumza zaidi kuhusu mradi huu kuhusiana na Waidhinishaji wa Pembejeo.
Ukubwa wa vitalu vya Cardano unaweza uwezekano mkubwa kuongezwa hadi kilobaiti 180 na masafa ya kutengeneza vitalu yanaweza kuwekwa kwa sekunde 15 bila athari mbaya kwenye utendakazi. Katika kesi hiyo, TPS itakuwa 40, juu kidogo kuliko Ethereum.
Hata hivyo, ongezeko la TPS 10 halitafanya tofauti kubwa. Minyororo ya kuzuia lazima iweze kuongeza kiwango katika mpangilio wa maelfu ya TPS ndani ya miaka michache. Baadhi ya mitandao inasemekana kuwa tayari kufanya hivyo. Ujumbe wa Cardano unahitaji kupata nambari zinazofanana. Je, Cardano inaweza kufika huko kupitia Viidhinisho vya Kuingiza Data?
Viidhinisho vya Ingizo
Viidhinisho vya Ingizo vinaweza kuongeza upitishaji na kasi ya Cardano, kwani miamala inaweza kutiririshwa kila mara bila kungoja makubaliano. Badala ya kuwa na kizuizi kimoja ambacho kina data ya muamala, Cardano itakuwa na aina tatu za vizuizi: viwango vya viwango, vizuizi vya uidhinishaji, na vizuizi vya kuingiza. Shughuli za malipo zitakuwa katika vizuizi vya kuingiza data pekee. Vitalu vya uidhinishaji vitarejelea vizuizi vingi vya ingizo.
Hii ni dhana inayofanana sana ambayo Algorand tayari imetekeleza. Inaitwa block pipelining. Algorand hutumia dhana ya marejeleo ya shughuli na ni moja ya sababu za TPS ya juu (bila shaka sio sababu pekee). Kabla ya kuingia katika Viidhinisho vya Kuingiza Data, hebu tueleze kwa ufupi jinsi uwekaji mabomba ya vizuizi unavyofanya kazi katika Algorand.
Mtandao wa Algorand huchagua kwa nasibu kamati ya watumiaji kwa kila kizuizi, ambao hupendekeza na kupiga kura kwenye kizuizi katika raundi moja.
Kuna aina mbili za vitalu katika Algorand: vitalu muhimu na microblocks. Vitalu muhimu hutumiwa kufikia makubaliano kwenye mtandao. Kando na mambo mengine (habari kuhusu mpendekezaji, kamati, nk), vitalu muhimu vinarejelea vizuizi vingi. Vizuizi vidogo hutumiwa kuhifadhi data ya muamala.
Kamati hupigia kura tu vizuizi muhimu, sio vizuizi vidogo. Vizuizi vidogo vinathibitishwa na nodi zinazoshiriki kabla ya kujumuishwa kwenye kizuizi muhimu.
Algorand inajumuisha tu marejeleo ya mabadiliko ya hali katika vizuizi muhimu, badala ya hali nzima ya leja. Marejeleo ni heshi 32B tu ya mabadiliko ya hali yaliyotokea kwenye block. Hash ni ndogo sana kuliko kuhifadhi hali nzima. Hii inapunguza ukubwa wa vizuizi muhimu na inaruhusu uenezi wa haraka na uthibitishaji wa vizuizi kwenye mtandao.
Viidhinisho vya Pembejeo na uwekaji mabomba ya vizuizi vina mfanano mwingi:
Vipengele vyote viwili viligawanya kizuizi katika sehemu mbili: moja kwa ajili ya makubaliano na moja kwa ajili ya shughuli.
Vipengele vyote viwili huwezesha utiririshaji wa mara kwa mara wa vizuizi vya muamala, bila kujali mchakato wa makubaliano.
Vipengele vyote viwili vinalenga kuongeza utendakazi na kasi ya mtandao kwa kupunguza muda wa uenezaji wa kuzuia na kuruhusu viwango vya juu vya ununuzi.
Inaweza kusema kuwa timu ya IOG inatekeleza suluhisho sawa ambalo tayari linafanya kazi katika mazoezi. Kwa upande mwingine, pia kuna tofauti katika suluhisho zote mbili. Tofauti kubwa pengine ni kwamba uwekaji bomba wa kuzuia wa Algorand unategemea safu moja ya vizuizi vya uidhinishaji, wakati Waidhinishaji wa Ingizo wa Cardano wanategemea muundo wa kihierarkia wa pembejeo, uidhinishaji, na vitalu vya cheo.
Hebu tueleze vizuizi ambavyo vitatumika katika Cardano baada ya kipengele cha Waidhinishaji wa Ingizo kuwasilishwa. Tunaielezea kutoka juu (makubaliano ya mtandao) hadi chini (data).
Vizuizi vya kuorodhesha vinatumiwa kufikia makubaliano kwenye mtandao wa Cardano. Zinafanana na vizuizi vya sasa, isipokuwa kwamba hazina data yoyote ya ununuzi. Badala yake, zina marejeleo ya seti ya vizuizi vya uidhinishaji ambavyo vinaoana. Kwa kuongeza, kila kizuizi cha cheo kina saini kutoka kwa mtayarishaji wa kuzuia ambaye aliiunda. Vitalu vya kuorodhesha vinatolewa na viongozi wanaopangwa, ambao ni waliochaguliwa kwa nasibu na itifaki kulingana na hisa zao. Vitalu vya viwango vinawajibika kwa kudumisha usalama na mwisho wa blockchain. Wanaweza kuzalishwa kila sekunde 15-30.
Vitalu vya uidhinishaji vina marejeleo ya kizuizi kimoja cha ingizo, pamoja na sahihi kutoka kwa kiidhinishaji cha ingizo aliyekiunda. Zinatolewa na kutiririshwa na waidhinishaji wa pembejeo na ziko chini ya ukaguzi wa uhalali na wazalishaji wa block. Vitalu vya uidhinishaji vina kizuizi cha mzazi, ambacho ndicho safu ya mwisho kwenye msururu, na vinaweza kuwa na vizuizi vingi vya watoto (vinavyooana). Wanaweza kuzalishwa kila sekunde 5-10.
Vizuizi vya kuingiza vina data ya muamala. Hutolewa na kutiririshwa na waidhinishaji wa pembejeo, ambao ni washikadau waliochaguliwa bila mpangilio ambao wanaweza kuchagua miamala kutoka kwa kundi la mem na kuzieneza kupitia mtandao. Vitalu vya ingizo havina vizuizi vyovyote vya mzazi au mtoto, na havishiriki katika mchakato wa makubaliano. Ni njia tu ya kutangaza shughuli kwa mtandao. Wanaweza kuzalishwa kila sekunde 0,2-2.
Vitalu vya uidhinishaji vina marejeleo ya kizuizi kimoja tu cha ingizo. Kizuizi cha uidhinishaji kinaweza kurejelewa na vizuizi vingine vya uidhinishaji ambavyo vinaoana nacho.
Kwa mfano, ikiwa kizuizi cha uidhinishaji EB-1 kinarejelea kizuizi cha IB-1, na kizuizi kingine cha EB-2 kinarejelea kizuizi cha ingizo IB-2, na IB-1 na IB-2 zote hazina miamala inayokinzana, basi EB- 2 inaweza kurejelea EB-1 kama kizuizi cha mzazi. Kwa njia hii, EB-2 inakuwa kizuizi cha watoto cha EB-1, na EB-1 na EB-2 zote zinaendana. Hii inaruhusu kuundwa kwa muundo unaofanana na mti wa vizuizi vya uidhinishaji, ambapo kila tawi linawakilisha seti tofauti ya miamala ambayo inaweza kujumuishwa kwenye leja kupitia safu inayofuata ya nafasi.
Madhumuni ya kuwa na vizuizi vingi vya watoto kwa kizuizi cha idhini ni kuongeza uwezekano wa kupata seti inayooana ya vizuizi vya uidhinishaji kwa kila safu ya nafasi. Kizuizi cha nafasi kinaweza kurejelea seti ya vizuizi vya uidhinishaji ambavyo vinaoana na kila kimoja nyingine, ikimaanisha kuwa hawana miamala inayokinzana katika vizuizi vyao vya pembejeo vilivyorejelewa. Kwa kuwa na vizuizi vingi vya watoto kwa kizuizi cha idhini, mtengenezaji wa block anaweza kuchagua tawi bora zaidi ambalo huongeza idadi ya miamala ambayo inaweza kujumuishwa kwenye leja.
Tutaelezea Waidhinishaji wa Pembejeo kwa undani zaidi katika nakala nyingine (pamoja na picha). Katika makala hii, tulitaka kufafanua dhana za msingi.
Jambo muhimu zaidi kukumbuka ni kwamba vizuizi vilivyo na miamala vinaweza kutengenezwa (kutiririshwa) kimsingi kila wakati (kila sekunde 0.2-2). Hii inamaanisha kuwa badala ya kuunda kizuizi kimoja cha data kila sekunde 20, vizuizi 10 hadi 100 vinaweza kutengenezwa kwa wakati mmoja. Mzunguko wa juu wa vizuizi vya kuingiza haizuii makubaliano ya mtandao.
Sasa hebu tuzingatie juu ya uwezekano wa kuongezeka kwa scalability.
Kizuizi kimoja cha Cardano kinaweza kushikilia miamala 300 rahisi. Ikiwa muda wa kuzuia kwa vitalu vya kuingiza umewekwa kwa sekunde 2, vitalu 10 vitaundwa ndani ya sekunde 20, ambayo inalingana na shughuli 3000. Ikiwa imewekwa kwa sekunde 0.2, kutakuwa na vitalu 100 na miamala 30,000.
Kwa hivyo TPS itapanda hadi 150 hadi 1500.
Ikiwa safu ya mtandao ilifanya iwezekanavyo kuongeza ukubwa wa vitalu vya pembejeo, itakuwa na athari nzuri kwa TPS. Wakati wa kuongeza kizuizi cha pembejeo hadi kilobaiti 180, Cardano inaweza kuwa na TPS ya karibu 300 hadi 3000.
Kuongezeka kwa kasi kunategemea sifa na teknolojia nyingine nyingi za mtandao, kama vile usambazaji wa mabomba, Mithril, n.k. Kipengele cha Viidhinisho vya Ingizo kinaweza kutumika kwa ufanisi zaidi ikiwa vipengele vingine vya mtandao vinaweza kuboreshwa.
Ni muhimu kutaja kuwa TPS tunazowasilisha ni elekezi pekee. Kwa mazoezi, kutakuwa na mgongano kati ya shughuli, kwa hivyo inawezekana kwamba sehemu tu ya vizuizi vya uidhinishaji vitaingia kwenye vizuizi vya viwango katika raundi fulani.
Ongezeko linalowezekana la kuongezeka ambalo Waidhinishaji wa Ingizo wanaweza kuleta si tu kuhusu vizuizi vya kuingiza data (na idadi ya miamala ndani yake) bali pia kuhusu vitalu vya kuorodhesha.
Vitalu vya cheo vinakabiliwa na ukaguzi wa uhalali na wazalishaji wa kuzuia, ambao wanapaswa kuhakikisha kuwa wanafuata sheria za itifaki na vigezo vya makubaliano. Ukaguzi wa uhalali utahitajika zaidi kwenye rasilimali kwani itakuwa muhimu kuthibitisha miamala zaidi. Vitalu vya cheo pia vina ukubwa mdogo na mzunguko wa minting. Huamua ni marejeleo ngapi yanaweza kujumuishwa kwenye safu ya nafasi na ni mara ngapi yanaweza kutolewa (sekunde 15-30). Scalability kwa hiyo ni mdogo si tu kwa vitalu vya pembejeo lakini pia kwa viwango vya vitalu.
Mitandao ya Blockchain haiwezi kuzalisha idadi isiyo na kikomo ya shughuli, kwa kuwa hii inazalisha kiasi kikubwa cha data. Upatikanaji wa data ni moja wapo ya vipengele muhimu vya uboreshaji wa blockchain. Katika mtandao uliogatuliwa, ukaguzi wa uhalali hufanyika kwenye nodi ambazo ziko kote ulimwenguni. Data lazima ipatikane ili kufanya ukaguzi.
Ukubwa wa ukubwa wa kuzuia, shughuli nyingi zaidi zinaweza kusindika kwenye kizuizi, lakini pia bandwidth zaidi na hifadhi zinahitajika kutoka kwa nodes. Kadiri muda wa kuzuia ulivyo mfupi, ndivyo shughuli inavyoweza kuthibitishwa haraka, lakini pia ndivyo hatari ya uma na vitalu vya watoto yatima inavyoongezeka.
Timu lazima zisawazishe kwa uangalifu ugatuaji na upanuzi. Kuongezeka kwa ukubwa kunaweza kuwa na athari mbaya katika ugatuaji, kwani kunaweza kupunguza idadi na utofauti wa nodi zinazoweza kushiriki katika maafikiano ya mtandao, na kuongeza nguvu za baadhi ya nodi juu ya nyingine.
Hitimisho
Viidhinisho vya Ingizo huenda visiwe uboreshaji wa mwisho wa itifaki ya Cardano. Inasemekana mara nyingi kuwa sharding ni muhimu kwa scalability ya juu. Hata hivyo, sharding pia ina hasara zake, inayotokana hasa na haja ya mawasiliano na maingiliano kati ya shards. Cardano inaweza kuwa na sharding baada ya Waidhinishaji wa Pembejeo kutekelezwa. Kipande kimoja kinaweza kuwa na TPS takriban kama mtandao wa Cardano wenye Viidhinisho vya Kuingiza Data. Kwa hiyo Cardano yenye shards 10 inaweza kuwa na TPS ya karibu 20,000. Walakini, hii ni mbali sana katika siku zijazo na maelezo mengi ya kiteknolojia yangelazimika kufanyiwa kazi. Kwa mfano, kugawanya kwenye kiwango cha kuhifadhi, kuboresha Mithril na kuwa na wateja wa mwanga, kufikiri juu ya kupogoa (kutupa shughuli za zamani), nk.