Kas ir Sharding? Izskaidrota šī Ethereum mērogošanas koncepcija

As mērogošanas debates kriptovalūtās turpinās, daži potenciālie risinājumi faktiski ir izstrādāti jau labu laiku.

Konkrēti, gadījumā Ethereum, kur liela uzmanība tiek pievērsta decentralizācijai un drošība uz mērogojamības rēķina, sadalīšanas izmantošana kopā ar ieviešanu Pierādījums par likmi vienprātība tiek uzskatīta par ļoti nepieciešamo mehānismu, ar kura palīdzību tīkls var pielāgoties praktiskajam līmenim lietojumprogrammām, vienlaikus saglabājot savu decentralizāciju un drošību.

Dalīšana ir sarežģīta tēma, it īpaši, ja to izmanto decentralizētam vienādranga tīklam piemēram, Ethereum kur nepārtraukti tiek atjaunināts tīkla globālais stāvoklis.

Tātad, kas īsti ir sadalīšana un kā tā var palīdzēt blokķēdes tīkliem mērogot?

Dalīšanas un dalītās skaitļošanas fons

Sadalīšana patiesībā ir daudz vecāka par blokķēdes tehnoloģiju, un tā ir ieviesta dažādās sistēmās, sākot no biznesa datu bāzes optimizācijas līdz Google globālā uzgriežņu datubāze.

  • Būtībā sadalīšana ir īpaša metode datu horizontālai sadalīšanai datu bāzē.
  • Vispārīgāk, datu bāze ir sadalīta mazos gabaliņos, ko sauc par "lauskas", kas, apkopojot kopā, veido sākotnējo datu bāzi.
  • Izkliedētajos blokķēdes tīklos tīkls sastāv no mezglu sērijas, kas savienoti vienādranga formātā bez centrālās iestādes.
  • Tāpat kā pašreizējās blokķēdes sistēmās, katrs mezgls saglabā visus tīkla stāvokļus un apstrādā visus darījumus.
  • Lai gan tas nodrošina augsta līmeņa drošību, izmantojot decentralizāciju, jo īpaši darba apliecinājuma sistēmās, piemēram, Bitcoin un Ethereum, tas rada likumīgas mērogošanas problēmas.

Ethereum sadalīšana

Izmantojot Ethereum kā piemēru, pilns mezgls Ethereum tīkls saglabā visu blokķēdes stāvokli, tostarp konta atlikumus, krātuvi un līguma kodu.

Diemžēl, tīklam palielinoties eksponenciālā tempā, vienprātība palielinās tikai lineāri. Šis ierobežojums ir saistīts ar saziņu, kas nepieciešama starp mezgliem, kas nepieciešama, lai panāktu vienprātību.

Tīkla mezgliem nav īpašu privilēģiju, un katrs tīkla mezgls uzglabā un apstrādā katru darījumu. Tā rezultātā tīklā, kas ir Ethereum izmēra, problēmas, piemēram, augstas gāzes izmaksas un ilgāks darījuma apstiprināšanas laiks, kļūst par ievērojamām problēmām, kad tīkls ir noslogots. The tīkls ir tikai tik ātrs kā atsevišķi mezgli, nevis to daļu summa.

Sadalīšana palīdz mazināt šīs problēmas, nodrošinot interesantu, taču sarežģītu risinājumu. Koncepcija ietver mezglu apakškopu grupēšanu lauskas, kas savukārt apstrādā ar šo fragmentu raksturīgos darījumus. Tas ļauj sistēmai paralēli apstrādāt daudzas transakcijas, tādējādi būtiski palielinot caurlaidspēju.

Vienkāršāks veids, kā to izteikt, būtu iztēloties Amerikas Savienoto Valstu sadalīšanu štatos.

Lai gan katrs štats (šajā gadījumā ir daļa) ir daļa no lielākās ASV (Ethereum tīkla), tiem ir savi īpaši noteikumi, robežas un populāciju apakškopas. Tomēr viņiem ir kopīga valoda un kultūra kā daļa no lielākā tīkla, kas veido valsti.

Vai vēl labāk, iekšā Vitaliks Buterinampaša vārdi:

 “Iedomājieties, ka Ethereum ir sadalīts tūkstošiem salu. Katra sala var darīt savu. Katrai no salām ir savas unikālas iezīmes, un ikviens, kas pieder šai salai, ti, konti, var mijiedarboties savā starpā UN viņi var brīvi ļauties visām tās iezīmēm. Ja viņi vēlas sazināties ar citām salām, viņiem būs jāizmanto sava veida protokols.

Kā redzat, tīkla sadrumstalotība efektīvākos gabalos ļauj tīklam darboties kā tā daļu summai, nevis ierobežot katra atsevišķā mezgla ātrumu.

Kā sadalīšana darbojas blokķēdēs?

Mēs turpināsim izmantot Ethereum kā piemēru, jo tas ir vispazīstamākais un grūtākais sadalīšanas mēģinājums blokķēdes arēnā, jo Ethereum izstrādātāji ievieš tā saukto “valsts sadalīšana".

Pašreizējais Ethereum blokķēdes stāvoklis ir pazīstams kā "globālā valsts” un to ikviens var redzēt, aplūkojot blokķēdi konkrētā gadījumā.

Sarežģītākā daļa, ieviešot sadalīšanu programmā Ethereum, ir tāda, ka, sadalot mezglus mazākās apakškopās, šīm apakškopām ir jāspēj apstrādāt noteiktas darījumu kopas, vienlaikus atjauninot tīkla stāvokli, vienlaikus nodrošinot tā derīgumu.

Ir paredzēts, ka Ethereum sadalīšana tiks ieviesta divfāzu izlaišanas veidā, visticamāk, pēc tam Pierādījums par likmi tiek īstenots tīkls. Pirmā fāze būs datu slānis, kas sastāv no vienprātības par to, kādi dati atrodas fragmentos. Otrā fāze ir stāvokļa slānis. Tas viss ir ļoti mainīgs, tāpēc vispārīgs sadalījums par to, kā tas var darboties, ir sniegts zemāk.

Ethereum sadala tīklu īpašās lauskas. Katrai daļai tiek piešķirta noteikta darījumu grupa, kas tiek noteikta, grupējot konkrētus kontus (tostarp viedos līgumus) fragmentā. Katrai darījumu grupai ir galvene un pamatteksts, kas sastāv no tālāk minētā.

  • Darījumu grupas fragmenta ID
  • Validatoru piešķiršana caur izlases veida izlase (pārbaudiet darījumus shardā)
  • Stāvokļa sakne (shard saknes saknes stāvoklis pirms un pēc pievienotajiem darījumiem)

Ķermenis

  • Visi darījumi, kas pieder darījumu grupai un ir daļa no konkrētās shard.

Darījumi ir specifiski katrai shardam un notiek starp kontiem, kuros ir šī shard.

Pārbaudot darījumus, mainās tīkla stāvoklis un tiek atjaunināti kontu atlikumi, krātuve utt. Lai darījumu grupa tiktu pārbaudīta kā derīga, darījumu grupas pirmsstāvokļa saknei ir jāatbilst shard saknei globālajā stāvoklī. Ja tie sakrīt, darījumu grupa tiek pārbaudīta un globālais stāvoklis tiek atjaunināts, izmantojot konkrēto shard ID stāvokļa sakni.

Tā vietā, lai ietvertu tikai stāvokļa sakni, katrs Ethereum blokķēdes bloks tagad satur gan stāvokļa sakni, gan darījumu grupas sakni. Darījumu grupas sakne ir visu darījumu grupu sakne no konkrētajiem fragmentiem šim darījumu blokam.

Būtībā ir visu dažādo fragmentu sakne, kas satur atjauninātās un pārbaudītās darījumu grupas. Šī sakne tiek saglabāta blokķēdē kopā ar atjaunināto stāvokļa sakni.

Merkle koka koncepciju izmantošana šajā struktūrā ir ļoti svarīga, lai nodrošinātu blokķēdes derīgumu. Izpratne par to, kā a Merkles koks un jo īpaši merkle saknes darbs var palīdzēt jums daudz vieglāk uztvert šos jēdzienus.

Kas ir Merkles koks

Lasīt: Kas ir Merkles koks?

Vienprātība fragmentā tiek panākta, izmantojot Proof of Stake vienprātību par nejauši atlasītiem mezgliem, kas tiek lietoti skaidai konkrētai vienprātības kārtai.

Tas ne tikai nodrošina vienprātības galīgumu, kas ir nepieciešams šķembu ietvaros, bet arī nodrošina īpašu aizsardzību uzbrukumam. Darbības apliecinājums blokķēde šajā gadījumā būtu pakļauti.

Jaukšanas jauda, ​​kas nepieciešama, lai pārspētu noteiktu fragmentu PoW sadalītajā tīklā, ir krasi samazināta, un ir iespējama ļaunprātīga dalībnieka spēja pārņemt fragmentu, izmantojot skaitļošanas jaudu.

Tādējādi sliktais aktieris var uzbrukt citām lauskas, izmantojot sakaru protokolu, kas ir viena no sarežģītākajām un svarīgākajām sadalīšanas arhitektūras iezīmēm. Nejauši veiktā validatoru atlase lauskas ietvaros izdodas apslāpēt šāda veida uzbrukumus, jo slikts aktieris nezinās, kurā lauskas tie tiek ievietoti, pirms tie tajā faktiski tiek ievietoti.

Turklāt, lai atlasītu pārbaudītājus, tiks izmantota nejauša izlase faktiski apstiprināšanu no šīs nejaušās validācijas kopas.

Komunikācijas protokols ir ļoti svarīgs, lai sistēmā pareizi funkcionētu sadalīšanas arhitektūra. Saziņas protokolu var uzskatīt par universālu valodu, kas ir konsekventa starp štatiem, kas ir daļa no lielākajām Amerikas Savienotajām Valstīm.

Tomēr šī protokola izstrāde ir ļoti sarežģīta, un tā ir jāveic tā, lai to izmantotu tikai nepieciešamības gadījumā. Tas kļūst nepieciešams, ja konkrētam mezglam ir nepieciešama informācija, kas netiek glabāta tā fragmentā, un ir jāatrod fragments ar nepieciešamo informāciju. Šī komunikācija ir pazīstama kā savstarpēja komunikācija.

Saziņa starp šķembām tiek panākta, piemērojot darījumu kvīšu jēdzienu. Darījuma kvīts tiek glabāta merkle saknē, ko var viegli pārbaudīt, bet kas nav daļa no stāvokļa saknes.

Shard, kas saņem darījumu no citas shard, pārbauda merkle sakni, lai pārliecinātos, ka kvīts nav iztērēta. Būtībā kvītis tiek glabātas koplietojamā atmiņā, ko var pārbaudīt ar citām lauskas, taču tās nevar mainīt. Tāpēc, izmantojot izkliedētu kvīšu krātuvi, skaidas var sazināties savā starpā.

Dalīšana Virzoties uz priekšu

Paredzams, ka sadalīšana Ethereum tiks ieviesta pēc Casper PoS jaunināšana. Nesen tur ir bijuši daži notikumi saistībā ar Ethereum 2.0 kas ietver abu ieviešanu Casper un sadalīšana.

Dalīšana ir ieviesta arī dažās citās platformās, jo īpaši Zilliqa. Tomēr Zilliqa pašlaik neievieš stāvokļa sadalīšanu un tā vietā koncentrējas uz augstas caurlaidspējas blokķēdes nodrošināšanu, izmantojot darījumu un skaitļošanas sadalīšanu.

ZilliqaLasiet mūsu Ceļvedis Zilliqa

Secinājumi

Sharding kalpo, lai piedāvātu dažus daudzsološus risinājumus zilonim blokķēdes platformu telpā šobrīd, mērogojamību.

Lai gan Bitcoin zibens tīkls atrodas testēšanas fāzē un līdz šim ir uzrādījis ļoti daudzsološu progresu, Ethereum risinājums rada dažas unikālas problēmas, jo tas ir piesaistīts pasaules datoram, kas ir pabeigts Tjūringā.

Dalīšana tieši darbosies tikai protokola līmenī, tāpēc galalietotājam vai dapp izstrādātājam tas var nebūt svarīgi, lai uzzinātu par to.

Neatkarīgi no tā, Ethereum mēģinājums sadalīt stāvokli plašam, decentralizētam tīklam ir iespaidīgs darbs, un, ja tas tiks veiksmīgi īstenots, tas būs milzīgs sasniegums.

Avots: https://blockonomi.com/sharding/