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.