Plokiahela skaleeritavus – kĂŒlgahelad ja maksekanalid
Avaleht
Artiklid
Plokiahela skaleeritavus – kĂŒlgahelad ja maksekanalid

Plokiahela skaleeritavus – kĂŒlgahelad ja maksekanalid

EdasijÔudnud
Avaldatud Feb 20, 2020VĂ€rskendatud Feb 9, 2023
9m

Sissejuhatus

Skaleeritavus viitab sĂŒsteemi vĂ”imele laieneda, et rahuldada kasvavat nĂ”udlust. Arvutustehnikas vĂ”id tĂ”sta oma arvuti jĂ”udlust, uuendades selle riistvara, et see oleks teatud toimingute sooritamisel kiirem. Kui rÀÀgime plokiahelate skaleeritavusest, siis peame silmas nende vĂ”imekuse suurendamist, et teha rohkem tehinguid.

Protokollidel nagu Bitcoin on palju tugevaid kĂŒlgi, kuid skaleeritavus pole ĂŒks nendest. Kui Bitcoini kĂ€itataks tsentraalses andmebaasis, oleks administraatoril suhteliselt lihtne suurendada kiirust ja lĂ€bilaskevĂ”imet. Kuid Bitcoini vÀÀrtuspakkumised (st tsensuurikindlus) eeldavad, et paljud osalejad sĂŒnkroonivad plokiahela koopiat.


Plokiahela skaleeritavuse probleem

Bitcoini sĂ”lme kĂ€itamine on suhteliselt odav ja isegi lihtsad seadmed saavad sellega hakkama. Kuid kuna tuhanded sĂ”lmed peavad ĂŒksteise suhtes ajakohased pĂŒsima, on nende vĂ”imsusel teatavad piirangud. 

Tehingute arvule, mida saab ahelas töödelda, on seatud piirmÀÀrad, et andmebaas ei kasvaks liiga mahukaks. Kui see peaks liiga kiiresti liiga suureks paisuma, ei suuda sÔlmed sellega sammu pidada. Veelgi enam, kui plokid on liiga suured, ei ole vÔimalik neid kiiresti vÔrgus edastada.

Selle tulemusena leiame end niiöelda kitsaskohast. Plokiahelat vĂ”ib vaadelda kui rongiteenust, mis vĂ€ljub kindlaks mÀÀratud ajavahemike tagant. Igas vagunis on ainult piiratud arv kohti ja pileti saamiseks peavad reisijad tegema pakkumise, et tagada omale koht. Kui kĂ”ik ĂŒritavad korraga rongile pÀÀseda, on hind kĂ”rge. Samamoodi tuleb kasutajatel maksta suuremaid teenustasusid, kui vĂ”rk on ummistunud pooleliolevatest tehingutest, et nĂ€ha oma tehingu Ă”igeaegset lisamist.

Üks lahendus oleks muuta vagunid suuremaks. See tĂ€hendaks rohkem istekohti, suuremat lĂ€bilaskevĂ”imet ja odavamaid piletihindu. Kuid ei ole mingit garantiid, et istekohad tĂ€ituksid, nagu nad kunagi varem seda tegid. Vaguneid ei saa pidevalt laiendada, nagu ka plokkide vĂ”i ploki gaasipiiranguid ei saa lĂ”putult skaleerida. Viimane muudab vĂ”rgusĂ”lmede vĂ”rgus pĂŒsimise kallimaks, kuna nad vajavad sĂŒnkroonis pĂŒsimiseks kulukamat riistvara.

Ethereumi looja Vitalik Buterin sĂ”nastas skaleeritavuse trilemma, et kirjeldada vĂ€ljakutset, millega plokiahelad silmitsi seisavad. Tema teooria kohaselt peavad protokollid tegema kompromisse skaleeritavuse, turvalisuse ja detsentraliseerimise vahel. Need on omavahel mĂ”nevĂ”rra vastuolus – keskendudes liialt kahele omadusele jÀÀb kolmas kehvaks.

Sel pÔhjusel peavad paljud skaleeritavust millekski, mis tuleb saavutada ahelavÀliselt, samas kui turvalisust ja detsentraliseerimist tuleks maksimeerida plokiahelas endas.


Mis on ahelavÀlised skaleerimislahendused?

AhelavĂ€line skaleerimine viitab lĂ€henemisviisidele, mis vĂ”imaldavad tehinguid sooritada ilma plokiahelat paisutamata. Protokollid, mis ĂŒhenduvad ahelaga, vĂ”imaldavad kasutajatel raha saata ja vastu vĂ”tta, ilma et tehingud pĂ”hiahelasse ilmuksid. Tutvustame kahte kĂ”ige mĂ€rkimisvÀÀrsemat edusammu sellel rindel: kĂŒlgahelad ja maksekanalid.


Sissejuhatus kĂŒlgahelatesse

Mis on kĂŒlgahel?

KĂŒlgahela on eraldiseisev plokiahel. See ei ole siiski eraldiseisev platvorm, sest see on mingil moel seotud pĂ”hiahelaga. PĂ”hiahelad ja kĂ”rvalahelad on koostalitlusvĂ”imelised, mis tĂ€hendab, et varad vĂ”ivad vabalt liikuda ĂŒhest ahelast teise.

On mitmeid viise, kuidas tagada vahendite ĂŒlekandmine. MĂ”nel juhul teisaldatakse varad pĂ”hiahelast, paigutades need spetsiaalsele aadressile. Neid ei saadeta tegelikult vĂ€lja, vaid need hoopis lukustatakse aadressile ja vastav summa vĂ€ljastatakse kĂŒlgahelas. Lihtsam (ehkki tsentraliseeritud) vĂ”imalus on saata raha haldurile, kes vahetab kĂŒlgahelas hoiuse raha vastu.


Kuidas kĂŒlgahel toimib?

Oletame, et meie sĂ”bral Alice'il on viis bitcoini. Ta soovib neid vahetada viie samavÀÀrse ĂŒhiku vastu Bitcoini kĂ”rvalahelas – nimetagem neid kĂŒlgmĂŒntideks. KĂ”nealune kĂŒlgahel kasutab kahesuunalist kinnitust, mis tĂ€hendab, et kasutajad saavad oma varad pĂ”hiahelast kĂŒlgahelasse ĂŒle kanda ja vastupidi. 

Pea meeles, et kĂŒlgahel on eraldiseisev plokiahel. Seega on sellel erinevad plokid, sĂ”lmed ja valideerimismehhanismid. Oma kĂŒlgmĂŒntide saamiseks saadaks Alice talle viis bitcoini teisele aadressile. See vĂ”ib kuuluda kellelegi, kes seejĂ€rel krediteerib tema kĂŒlgahela aadressi viie kĂŒlgmĂŒndiga, kui ta bitcoinid kĂ€tte saab. Alternatiiviks vĂ”ib olla ka mingi usaldus-minimeeritud seadistus, kus kĂŒlgmĂŒndid krediteeritakse automaatselt pĂ€rast seda, kui tarkvara tuvastab makse.


KĂŒlgahela skaleerimine


Alice on nĂŒĂŒd konverteerinud oma mĂŒndid kĂŒlgmĂŒntideks, kuid ta vĂ”ib alati protsessi tagasi pöörata, et oma bitcoinid tagasi saada. NĂŒĂŒd, kui ta on kĂŒlgahelasse sisenenud, vĂ”ib ta vabalt sellel eraldi plokiahelal tehinguid teha. Ta saab saata kĂ”rvalmĂŒnte vĂ”i saada neid teistelt vastu samamoodi nagu pĂ”hiahelas.

Ta vĂ”iks nĂ€iteks maksta Bobile ĂŒhe kĂŒlgmĂŒndi Binance'i dressipluusi eest. Kui ta soovib Bitcoini juurde tagasi pöörduda, vĂ”ib ta saata oma ĂŒlejÀÀnud neli kĂŒlgmĂŒnti spetsiaalsele aadressile. PĂ€rast tehingu kinnitamist vabastatakse neli bitcoini ning need toimetatakse tema poolt kontrollitavale pĂ”hiahela aadressile.


Miks kasutatakse kĂŒlgahelaid?

Te vÔite imestada, mis mÔte sel on. Miks ei kasuta Alice lihtsalt Bitcoini plokiahelat?

Vastus on, et kĂŒlgahel vĂ”ib olla vĂ”imeline tegema asju, millega Bitcoin ei saa hakkama. Plokiahelad on hoolikalt vĂ€ljatöötatud kompromisside sĂŒsteemid. Kuigi Bitcoin on kĂ”ige turvalisem ja detsentraliseeritum krĂŒptoraha, ei ole see lĂ€bilaskevĂ”ime poolest parim. Kuigi Bitcoini tehingud on tavapĂ€rastest meetoditest kiiremad, on see siiski suhteliselt aeglane vĂ”rreldes teiste plokiahela sĂŒsteemidega. Plokke kaevandatakse iga kĂŒmne minuti jĂ€rel ja vĂ”rgu ĂŒlekoormatuse korral vĂ”ivad teenustasud oluliselt kasvada.

TĂ”si, vĂ€ikeste igapĂ€evaste maksete puhul ei ole tĂ”enĂ€oliselt sellist turvalisuse taset vaja. Kui Alice maksab kohvi eest, ei kavatse ta seista ja oodata tehingu kinnitamist. Ta pidurdaks jĂ€rjekorda ja tema jook oleks juba kĂŒlm, kui see ĂŒle antakse.

KĂŒlgahelaid ei seo samad reeglid. Tegelikult ei pea nad toimimiseks isegi töötĂ”endust kasutama. VĂ”ib kasutada mis tahes konsensusmehhanismi, usaldada ĂŒhte valideerijat vĂ”i kohandada suvalist arvu parameetreid. Lisada saab tĂ€iendusi, mida peaahelas ei eksisteeri, toota suuremaid plokke ja jĂ”ustada kiireid arveldusi.

Huvitav on see, et kĂŒlgahelates vĂ”ib esineda isegi kriitilisi vigu, ilma et see mĂ”jutaks alusahelat. See vĂ”imaldab neid kasutada platvormidena eksperimenteerimiseks ja selliste funktsioonide juurutamiseks, mis muidu nĂ”uaksid vĂ”rgustiku enamuse konsensust.

Eeldusel, et kasutajad on kompromissidega rahul, vĂ”ivad kĂŒlgahelad olla oluline samm tĂ”husa skaleerimise suunas. Peaahela sĂ”lmede jaoks ei ole vaja salvestada kĂ”iki kĂ”rvalahela tehinguid. Alice vĂ”ib siseneda kĂŒlgahelasse ĂŒhe Bitcoini tehinguga, teha sadu kĂŒlgahela tehinguid ja seejĂ€rel sellest vĂ€ljuda. Mis puutub Bitcoini plokiahelasse, siis ta on sooritanud ainult kaks – ĂŒks sisenemiseks ja ĂŒks vĂ€ljumiseks.

Ethereumi plasma on sarnane, kuid sellel on mÔned suured erinevused. Loe lÀhemalt sellekohta: Mis on Ethereum Plasma?


Sissejuhatus maksekanalitesse

Misi on maksekanal?

Maksekanalid tĂ€idavad skaleeritavuse osas sama eesmĂ€rki kui kĂŒlgahelad, kuid nad on pĂ”himĂ”tteliselt vĂ€ga erinevad. Nagu kĂŒlgaheladki, suruvad nad tehinguid pĂ”hiahelast vĂ€lja, et vĂ€ltida plokiahela ĂŒlepaisumist. Erinevalt kĂ”rvalahelatest ei ole aga nende toimimiseks vaja eraldi plokiahelat.

Maksekanal kasutab nutilepingut, et vÔimaldada kasutajatel tehinguid teha ilma oma tehinguid plokiahelas avaldamata. Selleks kasutatakse kahe osaleja vahel tarkvara abil sÔlmitud kokkulepet.


Kuidas maksekanal toimib?

Sellistes mudelites nagu populaarne Lightning Network deponeerivad kaks osapoolt esmalt mĂŒndid ĂŒhisele aadressile. See on mitme allkirjaga aadress, mis nĂ”uab raha kulutamiseks kahte allkirja. Seega, kui Alice ja Bob lĂ”id sellise aadressi, saab raha vĂ€lja vĂ”tta ainult mĂ”lema nĂ”usolekul.

Oletame, et nad hoiustavad mĂ”lemad 10 BTC aadressile, millel on nĂŒĂŒd 20 BTC. Neil oleks lihtne pidada bilanssi, mis algab sellega, et Alice'il ja Bobil on mĂ”lemal 10 BTC. Kui Alice tahaks anda Bobile ĂŒhe mĂŒndi, vĂ”iksid nad seda uuendada nii, et Alice'il on 9 BTC, Bobil on 11 BTC. Nad ei pea seda plokiahelas avaldama, kuna nad jĂ€tkavad nende saldode ajakohastamist. 


kuidas maksekanal toimib


Kui aga saabub aeg, ĂŒtleme, et Alice'il on 5 BTC ja Bobil 15 BTC, siis vĂ”iksid nad luua tehingu, mis saadab need saldod osapooltele kuuluvatele aadressidele, allkirjastada ja selle edastada.

Alice ja Bob vĂ”isid oma bilanssi mĂ€rkida kĂŒmme, sada vĂ”i tuhat tehingut. Aga mis puutub plokiahelasse, siis nad on teinud ainult kaks operatsiooni ahelas: ĂŒhe esialgse rahastamistehingu jaoks ja ĂŒhe saldode ĂŒmberjaotamiseks, kui nad on lĂ”petanud. Peale nende kahe tehingu on kĂ”ik muud tehingud tasuta ja peaaegu kohesed, sest need toimuvad vĂ€ljaspool ahelat. Pole vaja maksta kaevandamistasusid ega oodata ploki kinnitamisi.

Loomulikult eeldab eespool kĂ€sitletud nĂ€ide, et mĂ”lemad osapooled teevad koostööd, mis ei ole vÔÔraste jaoks ideaalne olukord. Iga petmiskatse karistamiseks saab aga kasutada spetsiaalseid mehhanisme, et osapooled saaksid ĂŒksteisega turvaliselt ja usaldusetult suhelda. 


Makse suunamine

Ilmselgelt on maksekanalid mugavad kahele osapoolele, kes ootavad suurt tehingute mahtu. Aga on veel midagi paremat. Nende kanalite vĂ”rgustikku saab tĂ€iendada, mis tĂ€hendab, et Alice vĂ”ib maksta osapoolele, kellega ta ei ole otseselt seotud. Kui Bobil on Caroliga avatud kanal, saab Alice talle maksta, kui sel on piisavalt mahtu. Ta lĂŒkkab raha kanalis Bobi poolele, kes omakorda suunab selle Carolile. Kui Carol on ĂŒhendatud teise osaleja, Daniga, saab ta teha sama. 

Selline vĂ”rk kujuneb hajutatud topoloogiaks, kus igaĂŒks on ĂŒhendatud mitme isikuga. Sageli on sihtkohta mitu marsruuti ja kasutajad saavad valida kĂ”ige tĂ”husama. 


LÔppmÀrkused

Oleme arutanud kahte skaleeritavuse lĂ€henemisviisi, mis vĂ”imaldavad tehinguid teha ilma aluseks olevat plokiahelat koormamata. Nii kĂŒlgahelad kui ka maksekanalite tehnoloogia peavad veel vĂ€lja arenema, kuid kasutajad, kes soovivad vĂ€ltida baaskihi tehingute puudusi, kasutavad neid ĂŒha enam.

Kuna aeg lĂ€heb edasi ja vĂ”rguga liitub ĂŒha rohkem kasutajaid, on oluline, et sĂ€iliks detsentraliseerimine. See on saavutatav ainult siis, kui plokiahela kasvule kehtestatakse piirangud, et uued sĂ”lmed saaksid hĂ”lpsasti liituda. AhelavĂ€lise skaleeritavuse lahenduste pooldajad usuvad, et aja jooksul hakatakse pĂ”hiahelat kasutama ainult suure vÀÀrtusega tehingute arveldamiseks vĂ”i kĂ”rvalahelate sidumiseks/vĂ€ljastamiseks ning kanalite avamiseks/sulgemiseks.