Blokķēdes mērogojamība – sānķēdes un maksājumu kanāli
Sākums
Raksti
Blokķēdes mērogojamība – sānķēdes un maksājumu kanāli

Blokķēdes mērogojamība – sānķēdes un maksājumu kanāli

Vidēji sarežģītas tēmas
Publicēts Feb 20, 2020Atjaunināts Feb 9, 2023
9m

Satura rādītājs


Ievads

Mērogojamība lielā mērā attiecas uz sistēmas spēju paplašināties, lai varētu pielāgoties pieaugošam pieprasījumam. Skaitļošanā iespējams palielināt iekārtas veiktspēju, jauninot tās aparatūru, lai varētu ātrāk izpildīt noteiktus uzdevumus. Blokķēžu mērogojamība nozīmē to spēju apstrādāt lielāku darījumu skaitu.
Tādiem protokoliem kā Bitcoin ir daudz priekšrocību, taču mērogojamība ir to klupšanas akmens. Ja Bitcoin darbotos centralizētā datubāzē, administratoram būtu salīdzinoši viegli palielināt ātrumu un caurlaidspēju. Tomēr Bitcoin vērtības (t. i., noturības pret cenzūru) īstenošanai nepieciešams, lai blokķēde tiktu sinhronizēta ar daudziem dalībniekiem.


Blokķēdes mērogojamības problēma

Bitcoin mezglu darbības nodrošināšana ir samērā lēta, un to var paveikt pat ar vienkāršām ierīcēm. Taču, tā kā tūkstošiem mezglu ir savstarpēji jāsinhronizē informācija, to veiktspēja ir zināmā mērā ierobežota. 
Tiek ierobežots ķēdē apstrādājamo darījumu skaits, lai datubāze nekļūtu pārmērīgi liela. Ja datubāze aug pārāk strauji, mezgli nespēj tikt ar to galā. Turklāt, ja bloki ir pārāk lieli, tos nevar ātri pārraidīt tīklā.

Tā rezultātā veidojas sastrēgums. Blokķēdi var raksturot kā vilcienu, kas atiet noteiktos laikos. Katrā vagonā ir ierobežots vietu skaits, un, lai iegūtu biļeti, pasažieriem ir jāpiedalās sēdvietu izsolē. Ja visi vienlaikus mēģinās iekļūt vilcienā, cena būs pārāk augsta. Līdzīgi arī gadījumā, ja tīklu noslogos neapstiprināti darījumi, lietotājiem būs jāmaksā augstākas komisijas maksas, lai to darījumi tiktu izpildīti savlaicīgi.

Viens no risinājumiem būtu vagonu palielināšanu. Tas nozīmētu lielāku skaitu sēdvietu, lielāku caurlaidspēju un lētākas biļetes. Tomēr nav nekādu garantiju, ka arī šajā gadījumā sēdvietas neaizpildīsies tikpat ātri. Vagonus nevar paplašināt bezgalīgi – tāpat kā bloku gāzes ierobežojumus nevar pielāgot bezgalīgi. Pēdējā aspekta dēļ mezglu saglabāšana tīklā izmaksā ļoti dārgi, jo sinhronizācijas uzturēšanai nepieciešama dārgāka aparatūra.

Ethereum radītājs Vitālijs Buterins izstrādāja t. s. "mērogojamības trilemmu", kas raksturo blokķēžu izaicinājumu. Viņaprāt, protokoliem ir jārod kompromiss starp mērogojamību, drošību un decentralizāciju. Šie aspekti zināmā mērā nonāk pretrunā – pārlieku pievēršoties diviem no tiem, trešais cieš.

Šī iemesla dēļ daudzi uzskata, ka mērogojamību var sasniegt ārpus ķēdes, bet drošība un decentralizācija ir jāpalielina pašā blokķēdē.


Kādi ir ārpusķēdes mērogošanas risinājumi?

Ārpusķēdes mērogošana attiecas uz pieejām, kas ļauj izpildīt darījumus, nenoslogojot blokķēdi. Izmantojot protokolus, kas tiek pievienoti ķēdei, lietotāji var nosūtīt un saņemt līdzekļus, neatspoguļojot šos darījumus galvenajā ķēdē. Apskatīsim detalizēti divus no ievērojamākajiem sasniegumiem šajā jomā – sānķēdes un maksājumu kanālus.


Ievadinformācija par sānķēdēm

Kas ir sānķēde?

Sānķēde ir atsevišķa blokķēde. Tomēr tā nav savrupa platforma, jo ir noteiktā veidā piesaistīta galvenajai ķēdei. Galvenā ķēde un sānķēde ir sadarbspējīgas, tātad aktīvus var brīvi pārvietot starp tām.

Līdzekļu pārvietošanu var nodrošināt vairākos veidos. Dažos gadījumos aktīvus pārvieto ārpus galvenās ķēdes, iemaksājot tos īpašā adresē. Tie patiesībā netiek pārsūtīti – tie tiek "ieslēgti" attiecīgajā adresē, un attiecīgā summa tiek izsniegta sānķēdē. Vienkāršāka (tomēr centralizētāka) iespēja ir sūtīt līdzekļus pārvaldītājam, kurš veic depozīta apmaiņu pret līdzekļiem sānķēdē.


Kā darbojas sānķēde?

Pieņemsim, ka mūsu paziņai Alisei ir piecas Bitcoin vienības. Viņa vēlas tās apmainīt pret piecām līdzvērtīgām vienībām Bitcoin sānķēdē – sauksim to par "sānķēdes kriptovalūtu". Attiecīgajā sānķēdē izmanto divvirzienu piesaisti – lietotāji var pārsūtīt savus līdzekļus no galvenās ķēdes uz sānķēdi un pretējā virzienā. 

Atceries, ka sānķēde ir atsevišķa blokķēde. Tātad tajā ir atšķirīgi bloki, mezgli un validēšanas mehānismi. Lai saņemtu savu sānķēdes kriptovalūtu, Alise nosūtīs savus piecas Bitcoin vienības uz noteiktu adresi. Tā var piederēt kādai personai, kura pēc Bitcoin saņemšanas ieskaita Alises sānķēdes adresē piecas sānķēdes kriptovalūtas vienības. Vēl viena iespēja ir izmantot risinājumu, kas mazina nepieciešamību uzticēties trešajām personām un automātiski ieskaita Alisei sānķēdes kriptovalūtu pēc veiktā maksājuma konstatēšanas.



Tagad Alise ir konvertējusi savus līdzekļus apmaiņā pret sānķēdes kriptovalūtu, taču viņa jebkurā brīdī var veikt pretējo procesu un atgūt Bitcoin. Tagad viņa ir iekļuvusi sānķēdē un var brīvi veikt darījumus šajā atsevišķajā blokķēdē. Viņa var sūtīt sānķēdes kriptovalūtu vai saņemt to no citiem – līdzīgi kā galvenajā ķēdē.

Piemēram, viņa var samaksāt Kārlim vienu sānķēdes kriptovalūtas vienību par Binance džemperi. Brīdī, kad viņa izlems atgūt savus Bitcoin, viņa varēs nosūtīt četras atlikušās sānķēdes kriptovalūtas vienības uz īpašu adresi. Pēc darījuma apstiprināšanas četras Bitcoin vienības tiks atbloķētas un ieskaitītas viņas kontrolētā adresē galvenajā ķēdē.


Kam izmanto sānķēdes?

Varētu rasties jautājums – kāda tam visam ir jēga? Kāpēc Alise vienkārši neizmanto Bitcoin blokķēdi?

Atbilde ir tāda, ka sānķēdē var būt pieejamas tādas funkcijas, kādas nevar piedāvāt Bitcoin. Blokķēdes ir rūpīgi izstrādātas kompromisu sistēmas. Lai arī Bitcoin ir drošākā un decentralizētākā kriptovalūta, tā nevar lepoties ar labāko caurlaidspēju. Lai gan Bitcoin darījumi ir ātrāki par ierastajām metodēm, tie joprojām ir lēnāki par citās blokķēžu sistēmās pieejamajiem. Blokus iegūst ik pēc desmit minūtēm, un komisijas maksas var ievērojami pieaugt tirgus noslodzes dēļ.

Protams, tāda līmeņa drošība nav nepieciešama nelieliem ikdienas maksājumiem. Alise noteikti nevēlas gaidīt darījuma apstiprināšanu, maksājot par tasi kafijas. Tā viņa aizkavētu visu rindu, turklāt, kamēr darījums beidzot tiktu apstiprināts, kafija jau būtu atdzisusi.

Sānķēdes ir pakļautas citiem noteikumiem. Faktiski, lai tās darbotos, nav nepieciešams pat darba apliecinājums. Var izmantot jebkuru konsensa mehānismu, uzticēties vienam validētājam vai pielāgot jebkurus parametrus. Pastāv iespēja pievienot jauninājumus, kādu nav galvenajā ķēdē, veidot lielākus blokus un nodrošināt ātrus norēķinus.

Interesanti, ka sānķēdēs var pat pastāvēt kritiskas kļūdas, kas neietekmē pamatā esošo ķēdi. Tādējādi sānķēdes var izmantot kā eksperimentālas platformas un tajās iestrādāt funkcijas, kuru ieviešanai citādi būtu nepieciešams tīkla vairākuma konsenss.

Ja lietotāji ir apmierināti ar panāktajiem kompromisiem, sānķēdes var būt būtisks solis ceļā uz efektīvu mērogošanu. Galvenās ķēdes mezgliem nav jāglabā visi sānķēdes darījumi. Alise varētu ienākt sānķēdē ar vienu Bitcoin darījumu, veikt simtiem darījumu ar sānķēdes kriptovalūtu un pēc tam iziet no sānķēdes. No Bitcoin blokķēdes skatpunkta viņa ir veikusi tikai divus darījumus – vienu ieejot un vienu izejot no sānķēdes.

Ethereum Plasma ir līdzīgs risinājums, tomēr tam ir dažas būtiskas atšķirības. Uzzini vairāk par to sadaļā Kas ir Ethereum Plasma?


Ievadinformācija par maksājumu kanāliem

Kas ir maksājumu kanāls?

Maksājumu kanāli mērogojamības ziņā kalpo tam pašam mērķim kā sānķēdes, taču ir pamatā ļoti atšķirīgi. Līdzīgi kā sānķēdes, tie pārvieto darījumus ārpus galvenās ķēdes, lai novērstu blokķēdes pārslodzi. Tomēr atšķirībā no sānķēdēm to darbībai nav nepieciešama atsevišķa blokķēde.

Maksājumu kanāls izmanto viedo līgumu, ļaujot lietotājiem veikt darījumus, nepublicējot to informāciju blokķēdē. Tas tiek paveikts, izmantojot programmatūras īstenotu līgumu starp diviem dalībniekiem.


Kā darbojas maksājumu kanāls?

Tādos modeļos kā populārais Lightning tīkls divas iesaistītās puses vispirms iemaksā kriptovalūtu tām abām kopīgi piederošā adresē. Tā ir vairākparakstu adrese, un līdzekļu tērēšanai no tās ir nepieciešami divi paraksti. Tātad, ja Alise un Kārlis izveido šādu adresi, līdzekļus no tās var izņemt tikai ar viņu abu piekrišanu.

Pieņemsim, ka katrs no viņiem iemaksā 10 BTC adresē, kura tagad satur 20 BTC. Viņi var ērti izveidot bilanci, kuras sākumā norādīts, ka Alisei un Kārlim katram pieder 10 BTC. Ja Alise vēlētos iedot Kārlim vienu kriptovalūtas vienību, viņi varētu veikt izmaiņas bilancē, norādot, ka Alisei tagad ir 9 BTC, bet Kārlim – 11 BTC. Viņiem nevajadzētu publicēt blokķēdē visas izmaiņas konta bilancē. 



Pieņemsim, ka pienāk brīdis, kad Alisei pieder 5 BTC, bet Kārlim – 15 BTC. Viņi var izveidot darījumu, ar kuru šis atlikums tiek nosūtīts uz attiecīgajai darījuma pusei piederošu adresi, parakstīt šo darījumu un pārraidīt to blokķēdē.

Alise un Kārlis var būt savā bilancē reģistrējuši desmit, simt vai pat tūkstoš darījumus. Tomēr no blokķēdes skatpunkta viņi būtu veikuši tikai divas darbības ķēdē – sākotnējo finansēšanas darījumu un līdzekļu galīgās pārdales darījumu. Izņemot šos divus, visi pārējie tiek izpildīti bez maksas un nekavējoties, jo tie notiek ārpus ķēdes. Par tiem nav jāmaksā ieguvēja komisijas maksa vai jāgaida bloka apstiprinājumi.

Protams, apskatītajā piemērā abām pusēm ir jāsadarbojas, un tas nav ideāli piemērots risinājums darījumam starp svešiniekiem. Tomēr var izmantot īpašus mehānismus, lai sodītu dalībniekus par krāpšanās mēģinājumiem un darījuma puses varētu droši mijiedarboties bez nepieciešamības uzticēties otram. 


Maksājumu maršrutēšana

Maksājumu kanāli acīmredzami ir ērts risinājums divām personām, kas plāno veikt lielu skaitu darījumu. Taču tas vēl nav viss. Šādu kanālu tīklu var paplašināt tā, lai Alise varētu samaksāt kādam, kuru viņa personīgi nepazīst. Ja Kārlim ir atvērts maksājumu kanāls ar Lieni, Alise var samaksāt arī viņai. Viņa nosūta līdzekļus uz Kārļa kanālu, bet viņš tos tālāk pārsūta Lienei. Ja Liene ir savienota ar vēl vienu dalībnieku – Dāvi –, pārskaitījumu var saņemt arī viņš. 

Šāds tīkls pārvēršas decentralizētā topoloģijā, kurā ikviens ir savienots ar vairākiem citiem vienādranga lietotājiem. Bieži vien pastāvēs vairāki iespējamie maršruti līdz galamērķim un lietotāji varēs izvēlēties efektīvāko. 


Noslēgumā

Esam apskatījuši divas mērogošanas pieejas, kas ļauj veikt darījumus, nenoslogojot pamata blokķēdi. Gan sānķēžu, gan maksājumu kanālu tehnoloģija ir salīdzinoši jaunas un tām vēl ir jāattīstās, tomēr tās arvien biežāk izmanto lietotāji, kuri vēlas apiet pamatlīmeņa darījumu trūkumus.

Ar laiku tīklam pievienojas arvien vairāk lietotāju, tāpēc ir svarīgi saglabāt decentralizāciju. To iespējams nodrošināt, tikai ierobežojot blokķēdes izaugsmi, lai tai varētu viegli pieslēgties jauni mezgli. Ārpusķēdes mērogojamības risinājumu piekritēji uzskata, ka ar laiku pamata ķēdi izmantos tikai lielas vērtības darījumu veikšanai vai sānķēžu piesaistei/atsaistei un kanālu atvēršanai vai slēgšanai.