Čo je Sharding a ako funguje?
Domov
Články
Čo je Sharding a ako funguje?

Čo je Sharding a ako funguje?

Stredne pokro─Źil├Ż
Zverejnen├ę Dec 4, 2023Aktualizovan├ę Jan 11, 2024
9m

Zhrnutie

  • Sharding rozde─żuje blockchain na men┼íie ÔÇ×k├║skyÔÇť v┬ásnahe vyrie┼íi┼ą probl├ęm ┼ík├ílovate─żnosti spojen├Ż so sie┼ąami vrstvy 1.

  • Sharding zvy┼íuje r├Żchlos┼ą transakci├ş, minimalizuje n├íklady na spracovanie a┬áukladanie a┬ázvy┼íuje v├Żkon siete.

  • Sharding m├í v┼íak aj svoje ├║skalia, ako s├║ obmedzenia t├Żkaj├║ce sa bezpe─Źnosti siete a┬ázlo┼żitos┼ą transakci├ş medzi jednotliv├Żmi ─Źas┼ąami (├║lomkami) siete (shardmi).

Úvod

Technol├│gia blockchainu priniesla bezprecedentn├Ż potenci├íl v┬áoblasti decentraliz├ície, transparentnosti a┬ábezpe─Źnosti. ─îel├ş v┼íak v├Żznamn├ęmu probl├ęmu: ┼ík├ílovate─żnosti. ┼ák├ílovate─żnos┼ą je jedn├Żm z┬áaspektov ÔÇ×trilemy blockchainuÔÇť, ktor├í zah┼Ľ┼ła tie┼ż bezpe─Źnos┼ą a┬ádecentraliz├íciu. Zos├║ladenie v┼íetk├Żch t├Żchto troch aspektov je pretrv├ívaj├║cim probl├ęmom v┬áoblasti blockchainu. Pr├íve tu prich├ídzaj├║ do ├║vahy strategick├ę rie┼íenia ako ÔÇ×shardingÔÇť.

─îo je to sharding?

Sharding je koncept vypo┼żi─Źan├Ż zo┬áspr├ívy tradi─Źn├Żch datab├íz. Ozna─Źuje proces rozdelenia v├Ą─Ź┼íej datab├ízy na men┼íie, lep┼íie spravovate─żn├ę ─Źasti, naz├Żvan├ę shardy. Jeho aplik├ícia v blockchaine m├í za cie─ż zlep┼íi┼ą ┼ík├ílovate─żnos┼ą pri zachovan├ş princ├şpu decentraliz├ície. K shardingu doch├ídza v┬ápodstate vtedy, ke─Ć sa blockchainov├í sie┼ą rozdel├ş na men┼íie ─Źasti zn├íme ako shardy, pri─Źom ka┼żd├í z┬át├Żchto ─Źast├ş je schopn├í paralelne spracov├íva┼ą transakcie a┬ásmart kontrakty.

Ako funguje Sharding?

Pochopenie toho, ako prebieha sharding v┬ár├ímci blockchainovej siete, si vy┼żaduje pochopenie toho, ako sa blockchainov├ę ├║daje zvy─Źajne ukladaj├║ a┬ásprac├║vaj├║. Existuj├║ r├┤zne sp├┤soby spracovania ├║dajov. Budeme sa zaobera┼ą sekven─Źn├Żm a┬áparaleln├Żm spracovan├şm.

Zvy─Źajne je ka┼żd├Ż uzol blockchainu zodpovedn├Ż za spracovanie cel├ęho objemu transakci├ş v┬ár├ímci siete. Tento typ spracovania ├║dajov sa be┼żne ozna─Źuje ako sekven─Źn├ę spracovanie. To znamen├í, ┼że ka┼żd├Ż uzol mus├ş udr┼żiava┼ą a┬áuchov├íva┼ą v┼íetky d├┤le┼żit├ę inform├ície, ako s├║ zostatky na ├║─Źtoch a┬áhist├│ria transakci├ş. V podstate mus├ş ka┼żd├Ż uzol spracova┼ą v┼íetky sie┼ąov├ę oper├ície, ├║daje a┬átransakcie.

Hoci tak├Żto model posil┼łuje bezpe─Źnos┼ą blockchainu t├Żm, ┼że zaznamen├íva ka┼żd├║ transakciu vo v┼íetk├Żch uzloch, dramaticky spoma─żuje spracovanie ├║dajov. Tu vstupuje do hry paraleln├ę spracovanie ├║dajov, preto┼że umo┼ż┼łuje vykon├ívanie viacer├Żch oper├íci├ş s├║─Źasne.

Sharding m├┤┼że by┼ą ├║─Źinn├Żm rie┼íen├şm tejto situ├ície, preto┼że rozde─żuje alebo ÔÇ×rozklad├íÔÇť pr├ícu spojen├║ s┬átransakciami v┬ár├ímci blockchainovej siete. To znamen├í, ┼że nie v┼íetky uzly musia spravova┼ą alebo spracov├íva┼ą cel├║ z├í┼ąa┼ż blockchainu.

Sharding rozde─żuje pracovn├║ z├í┼ąa┼ż prostredn├şctvom horizont├ílneho delenia. V tomto procese s├║ d├íta rozdelen├ę do horizont├ílnych podskup├şn, pri─Źom ka┼żd├Ż shard p├┤sob├ş ako nez├ívisl├í datab├íza schopn├í spracov├íva┼ą transakcie oddelene od ostatn├Żch.┬á

Porovnanie: horizontálne a vertikálne delenie

Horizont├ílne delenie a┬ávertik├ílne delenie s├║ dva k─ż├║─Źov├ę pr├şstupy k┬á┼ík├ílovaniu datab├ízy. Aj ke─Ć s├║ obe navrhnut├ę tak, aby efekt├şvnej┼íie spravovali ve─żk├ę s├║bory ├║dajov, funguj├║ z├ísadne odli┼ín├Żmi sp├┤sobmi. Sharding je be┼żn├í met├│da implement├ície horizont├ílneho delenia.

Pri horizont├ílnom delen├ş s├║ ├║daje rozdelen├ę do riadkov a┬ározlo┼żen├ę do jednotliv├Żch uzlov (alebo datab├íz), z┬áktor├Żch ka┼żd├Ż obsahuje podmno┼żinu ├║dajov. Ka┼żd├Ż riadok v┬átabu─żke tvor├ş samostatn├║ jednotku, tak┼że ich oddelenie nevedie k┬ástrate integrity ├║dajov. V├Żznamn├Żm pr├şkladom horizont├ílneho rozdelenia, ktor├ę sa pou┼ż├şva, je distrib├║cia blockchainov├Żch siet├ş, ako s├║ Ethereum a┬áBitcoin.

Pri vertik├ílnom delen├ş sa d├íta delia na st─║pce, nie na riadky. Ka┼żd├Ż oddiel vo vertik├ílnom rozdelen├ş obsahuje podmno┼żinu ├║dajov pre ka┼żd├║ jednotku alebo cel├Ż s├║bor ├║dajov, ale len pre ur─Źit├Ż s├║bor atrib├║tov. Uva┼żujem napr├şklad o┬átabu─żke z├íkazn├şka so st─║pcami ako N├ízov, Stav, Popis a┬áFotografia. V scen├íri vertik├ílneho rozdelenia m├┤┼żu by┼ą ÔÇ×N├ízovÔÇť a┬áÔÇ×StavÔÇť ponechan├ę v┬ájednej tabu─żke a┬áÔÇ×PopisÔÇť a┬áÔÇ×FotografiaÔÇť v┬áinej tabu─żke.

Pre─Źo sa uprednost┼łuje horizont├ílne delenie?

Horizont├ílne delenie je vo v┼íeobecnosti uprednost┼łovan├ę pred vertik├ílnym delen├şm v┬ásie┼ąach blockchainu z┬átroch k─ż├║─Źov├Żch d├┤vodov: ┼ík├ílovate─żnos┼ą, decentraliz├ícia a┬ábezpe─Źnos┼ą.

┼ák├ílovate─żnos┼ą: Sharding poskytuje rie┼íenie rozdelen├şm ├║dajov na men┼íie, lep┼íie spravovate─żn├ę ÔÇ×k├║sky (shardy)ÔÇť. Ka┼żd├Ż shard m├┤┼że fungova┼ą nez├ívisle, ─Źo umo┼ż┼łuje s├║─Źasne spracova┼ą viac transakci├ş, ─Ź├şm sa zvy┼íuje r├Żchlos┼ą a┬áefekt├şvnos┼ą siete. Pri vertik├ílnom delen├ş si distrib├║cia st─║pcov v┬ájednotliv├Żch datab├ízach m├┤┼że vy┼żadova┼ą vy┼í┼íiu zlo┼żitos┼ą pri z├şskavan├ş ├║pln├Żch inform├íci├ş o┬átransakci├ích alebo blokoch a┬ámohla by obmedzi┼ą ┼ík├ílovate─żnos┼ą.

Decentraliz├ícia: V s├║lade so z├íkladn├Żm ├ętosom blockchainu horizont├ílne delenie podporuje decentraliz├íciu. Ke─Ć┼że uzly musia spracova┼ą iba ─Źas┼ą celkov├Żch ├║dajov (shard), umo┼ż┼łuje to ├║─Źas┼ą viacer├Żch uzlov v┬ásieti, preto┼że sa zni┼żuj├║ n├íroky na v├Żpo─Źtov├Ż v├Żkon a┬á├║lo┼żn├ę kapacity. Vertik├ílne rozdelenie by toto porovnate─żne obmedzilo, preto┼że ka┼żd├Ż uzol by potreboval pr├şstup ku v┼íetk├Żm oddielom (v┼íetk├Żm st─║pcom ├║dajov) kv├┤li pochopeniu a┬áovereniu ├║pln├Żch ├║dajov bloku.

Bezpe─Źnos┼ą a integrita ├║dajov: Horizont├ílne delenie zachov├íva integritu ├║dajov, preto┼że ka┼żd├Ż shard (alebo oddiel) obsahuje ├║pln├ę ├║daje o┬ádanej transakcii, ─Ź├şm sa zabezpe─Źuje, ┼że ka┼żd├Ż uzol m├í ├║pln├║ a┬ápresn├║ k├│piu svojej ─Źasti blockchainu. Pri vertik├ílnom delen├ş by ste v┬ápodstate rozdelili ├║daje bloku na r├┤zne uzly, ─Źo by kl├ídlo n├íroky na zabezpe─Źenie, integritu a┬ábezpe─Źnos┼ą ├║dajov, ─Źo je prvorad├Żm aspektom blockchainov├Żch siet├ş.

Ak├ę s├║ v├Żhody shardingu?

Po─Ćme si uk├íza┼ą potenci├ílne v├Żhody, ktor├ę sharding prin├í┼ía technol├│gii blockchain:

Zv├Ż┼íen├í r├Żchlos┼ą transakci├ş: Sharding u─żah─Źuje paraleln├ę spracovanie transakci├ş. Namiesto postupn├ęho spracovania transakci├ş umo┼ż┼łuje sharding spracovanie transakci├ş s├║─Źasne, av┼íak v┬ár├┤znych shardoch. Ka┼żd├Ż shard funguje nez├ívisle, ─Ź├şm sa v├Żrazne zvy┼íuje r├Żchlos┼ą transakci├ş. Nielen┼że to ur├Żch─żuje r├Żchlos┼ą transakci├ş, ale tie┼ż to znamen├í, ┼że cel├í sie┼ą dok├í┼że zvl├ídnu┼ą viac pou┼ż├şvate─żov, ─Źo podporuje masov├ę prijatie.

Pr├şkladom existuj├║cej blockchainovej siete, ktor├í pou┼ż├şva shardy na rie┼íenie ┼ík├ílovate─żnosti, je Ziliqa. Mechanizmus shardingu siete Ziliqa umo┼ż┼łuje dosiahnu┼ą tis├şce transakci├ş za sekundu.

Minimalizovan├ę n├íklady na spracovanie a┬áulo┼żenie: Konven─Źn├Ż dizajn blockchainu zav├Ązuje ka┼żd├Ż uzol uklada┼ą v┼íetky transakcie, ─Ź├şm sa zintenz├şv┼łuj├║ po┼żiadavky na hardv├ęr, ke─Ć┼że sa blockchain rozrast├í. Ale pri shardingu je ka┼żd├Ż uzol zodpovedn├Ż za spracovanie a┬áulo┼żenie len zlomku ├║dajov celej siete ÔÇô to zni┼żuje zdroje potrebn├ę na to, aby sa uzol mohol zapoji┼ą do siete.

V d├┤sledku toho sa ako valid├ítori m├┤┼żu pripoji┼ą viacer├ş ├║─Źastn├şci, ─Źo zvy┼íuje decentraliz├íciu siete bez toho, aby vznikli neprimeran├ę n├íklady. Zmier┼łuje probl├ęmy, pri ktor├Żch sa na tomto procese mohli re├ílne z├║─Źastni┼ą iba subjekty s┬áobrovsk├Żmi a┬ádrah├Żmi v├Żpo─Źtov├Żmi zdrojmi, ─Ź├şm sa zachovala demokratizovan├í povaha blockchainov├Żch siet├ş.

Zlep┼íen├Ż v├Żkon siete: Sharding m├┤┼że pom├┤c┼ą zlep┼íi┼ą celkov├Ż v├Żkon a┬ákapacitu siete. V┬átradi─Źn├Żch blockchainoch, ke─Ć sa na sieti z├║─Źast┼łuje viac uzlov, v├Żkon paradoxne kles├í kv├┤li potrebe zv├Ż┼íenej d├ítovej komunik├ície a┬ásynchroniz├ície medzi uzlami.

Sharding v┼íak tento scen├ír transformuje. Ke─Ć┼że ka┼żd├Ż shard pracuje samostatne a┬ás├║be┼żne, syst├ęm m├┤┼że spracova┼ą viac transakci├ş a┬áv├Żpo─Źtov. Ke─Ć sa pripoj├ş nov├Ż uzol, m├┤┼że by┼ą pridan├Ż do shardu namiesto do celej siete, ─Ź├şm sa zv├Ż┼íi kapacita siete na ┼ík├ílovanie. Zlep┼íuje sa efektivita, ─Źo vedie k┬áplynulej┼í├şm transakci├ím a┬álep┼íej pou┼ż├şvate─żskej sk├║senosti.

Nezab├║dajme, ┼że ─Ćal┼í├ş pokrok a┬ázlep┼íenia v┬átechnol├│gii shardingu m├┤┼żu vytvori┼ą ─Ćal┼íie v├Żhody alebo posilni┼ą tie existuj├║ce, a┬áneust├íle tak zlep┼íova┼ą ekosyst├ęm blockchainu.

Ak├ę s├║ obmedzenia Shardingu?

Zatia─ż ─Źo sharding pon├║ka nieko─żko potenci├ílnych v├Żhod, ktor├ę by mohli pom├┤c┼ą tomu, aby sa blockchainov├ę siete stali efekt├şvnej┼í├şmi, tento proces prin├í┼ía aj osobitn├Ż s├║bor probl├ęmov. Medzi potenci├ílne slab├ę miesta, ktor├ę sharding so sebou prin├í┼ía, patria:┬á

├Ütoky s┬ácie─żom prevzia┼ą samostatn├Ż shard: V prostred├ş shardingu je v├Żpo─Źtov├Ż v├Żkon na prevzatie jedn├ęho shardu podstatne ni┼ż┼í├ş ako v├Żkon potrebn├Ż na prevzatie celej siete. T├Żm sa tieto jednotliv├ę shardy st├ívaj├║ zranite─żnej┼í├şmi vo─Źi ÔÇ×jednopercentn├ęmu ├║tokuÔÇť alebo ÔÇ×prevzatiu sharduÔÇť ÔÇô pri─Źom ├║to─Źn├şk s┬ámen┼í├şm mno┼żstvom zdrojov v┬áporovnan├ş s┬ácelou sie┼ąou m├┤┼że potenci├ílne prevzia┼ą jednotliv├Ż shard.

Transakcie medzi shardmi: Transakcie prebiehaj├║ce naprie─Ź r├┤znymi shardmi (cross-shard) predstavuj├║ samostatn├Ż probl├ęm. Transakcie typu cross-shard s├║ zlo┼żit├ę a┬áak nie s├║ starostlivo riaden├ę, mohli by vies┼ą k┬áduplicitn├Żm v├Żdavkom. Ak jeden shard po─Źas transakcie presne nesleduje stav druh├ęho shardu, pou┼ż├şvatelia ho m├┤┼żu zneu┼żi┼ą na ÔÇ×duplicitn├ę v├ŻdavkyÔÇť.

Probl├ęmy s┬ádostupnos┼ąou ├║dajov: Sharding rob├ş udr┼żiavanie cel├ęho stavu siete zlo┼żit├Żm ├║sil├şm. Ak niektor├ę shardy nie s├║ v┬ápr├şpade potreby k┬ádispoz├şcii (preto┼że uzly udr┼żiavaj├║ce tieto shardy s├║ offline), m├┤┼że to vies┼ą k┬áprobl├ęmom s┬ádostupnos┼ąou ├║dajov a┬ánaru┼íi┼ą cel├║ sie┼ą.

Bezpe─Źnos┼ą siete: Sharding vy┼żaduje implement├íciu rozsiahleho protokolu, ktor├Ż vyrovn├íva za┼ąa┼żenie medzi jednotliv├Żmi shardmi. Ak sa to neurob├ş spr├ívne, m├┤┼że to vies┼ą k┬ánerovnomern├ęmu rozdeleniu ├║dajov alebo nerovnov├íhe zdrojov, ─Źo m├┤┼że vies┼ą k┬ápotenci├ílnej nestabilite siete.

Synchroniz├ícia uzlov: Synchroniz├ícia uzlov m├┤┼że sp├┤sobi┼ą oneskorenie siete v┬ád├┤sledku ─Źasu potrebn├ęho na zdie─żanie a┬áaktualiz├íciu inform├íci├ş v┬ájednotliv├Żch uzloch. Okrem toho, ak uzol s┬ápomal┼í├şmi mo┼żnos┼ąami spracovania alebo sie┼ąov├Żm pripojen├şm zaost├íva, mohlo by to spomali┼ą cel├Ż proces synchroniz├ície, ─Ź├şm by sa zn├ş┼żil celkov├Ż v├Żkon blockchainovej siete.

Je sharding implementovan├Ż na sieti Ethereum?

Ethereum pl├ínuje implementova┼ą sharding ako s├║─Źas┼ą upgradu Etherea 2.0. Ethereum 2.0, tie┼ż zn├íme ako Eth2 alebo Serenity, je upgrade blockchainu Ethereum, ktor├ęho cie─żom je zv├Ż┼íi┼ą r├Żchlos┼ą, efekt├şvnos┼ą a┬á┼ík├ílovate─żnos┼ą siete, ─Źo jej umo┼żn├ş spracova┼ą viac transakci├ş a┬ázmierni pre┼ąa┼żenie.

Zatia─ż sa tento upgrade realizuje vo f├ízach, pri─Źom kone─Źn├í f├íza (f├íza 2) zah┼Ľ┼ła ├║pln├║ implement├íciu shardingu. V├Żvoj├íri Etherea d├║faj├║, ┼że tieto vylep┼íenia vyrie┼íia niektor├ę zo s├║─Źasn├Żch probl├ęmov spojen├Żch so ┼ík├ílovate─żnos┼ąou a┬átransak─Źn├Żmi n├íkladmi, ktor├Żm sie┼ą ─Źel├ş.

Je v┼íak d├┤le┼żit├ę poznamena┼ą, ┼że implement├ícia shardingu prich├ídza s┬ávlastn├Żm s├║borom probl├ęmov, najm├Ą pri udr┼żiavan├ş bezpe─Źnosti a┬ádecentraliz├ície siete. V├Żvoj├íri siete Ethereum preto d├┤kladne prem├Ż┼í─żaj├║ a┬ávykon├ívaj├║ rozsiahle testy v┬ás├║vislosti s┬át├Żmto prechodom, aby zabezpe─Źili ├║spech upgradu po ├║plnej implement├ícii.

Z├ívere─Źn├ę my┼ílienky

Celkovo predstavuje sharding pozoruhodn├Ż pokrok smerom k┬árie┼íeniu blockchainovej trilemy. Aj ke─Ć prin├í┼ía nov├ę komplik├ície a┬ámo┼żn├ę nev├Żhody, jeho potenci├íl na zv├Ż┼íenie ┼ík├ílovate─żnosti bez ohrozenia decentraliz├ície m├í obrovsk├Ż pr├şs─żub pre bud├║cnos┼ą blockchainov├Żch siet├ş.

Niet divu, ┼że jednotliv├ę blockchainy sk├║maj├║ sharding ako potenci├ílne rie┼íenie. Ethereum integruje sharding ako s├║─Źas┼ą upgradu Etherea 2.0 s┬ácie─żom rie┼íi┼ą probl├ęmy so ┼ík├ílovate─żnos┼ąou. O─Źak├íva sa, ┼że t├íto implement├ícia sa uskuto─Źn├ş prostredn├şctvom upgradu Cancun, ktor├Ż je kritickou s├║─Źas┼ąou celkov├ęho pl├ínu vylep┼íenia. Napriek tomu, ako pri ka┼żdej inej vyv├şjaj├║cej sa technol├│gii, bude ├║spech z├ívisie┼ą od prebiehaj├║ceho v├Żskumu, v├Żvoja a┬ápr├şsneho testovania implement├íci├ş shardingu.

Pre─Ź├ştajte si tie┼ż

Zrieknutie sa zodpovednosti: Tento obsah tu vid├şte ÔÇ×tak├Ż ak├Ż jeÔÇť a┬ásl├║┼żi len ako v┼íeobecn├í inform├ícia a┬ána ├║─Źely vzdel├ívania, bez akejko─żvek reprezent├ície alebo z├íruky. Tieto inform├ície by ste nemali pova┼żova┼ą za finan─Źn├ę, pr├ívne ani in├ę odborn├ę poradenstvo a┬áani nie s├║ ur─Źen├ę ako odpor├║─Źanie na n├íkup ak├ęhoko─żvek konkr├ętneho produktu alebo slu┼żby. Mali by ste po┼żiada┼ą o┬áradu odborn├ęho poradcu. V┬ápr├şpade, ┼że autorom ─Źl├ínku je tretia osoba, upozor┼łujeme v├ís, ┼że n├ízory uveden├ę v┬á─Źl├ínku s├║ n├ízormi tohto prispievate─ża/autora a┬ánemusia nevyhnutne odr├í┼ża┼ą n├ízory Akad├ęmie Binance. ─Äal┼íie podrobnosti n├íjdete v┬ána┼íom ├║plnom zrieknut├ş sa zodpovednosti, ktor├ę sa nach├ídza tu. Ceny digit├ílnych akt├şv m├┤┼żu by┼ą volatiln├ę. Hodnota va┼íej invest├şcie m├┤┼że klesa┼ą alebo st├║pa┼ą a┬áinvestovan├í suma sa v├ím nemus├ş vr├íti┼ą. Za svoje investi─Źn├ę rozhodnutia nesiete v├Żhradn├║ zodpovednos┼ą a┬áAkad├ęmia Binance nezodpoved├í za ┼żiadne straty, ktor├ę v├ím m├┤┼żu vznikn├║┼ą. Tento materi├íl by sa nemal pova┼żova┼ą za finan─Źn├ę, pr├ívne ani in├ę odborn├ę poradenstvo. Viac inform├íci├ş n├íjdete v┬ána┼íich Podmienkach pou┼ż├şvania a┬áVarovaniach pred rizikom.