Úvod

Škálovatelnost se týká schopnosti systému vyvíjet se tak, aby uspokojil rostoucí poptávku. V oblasti výpočetní techniky můžete zlepšit výkon svého zařízení upgradem jeho hardwaru, aby bylo možné provádět určité úkoly rychleji. Když mluvíme o škálovatelnosti v blockchainech, mluvíme o jejich schopnosti zvládnout větší počet transakcí.

Protokoly jako bitcoin mají mnoho výhod, ale škálovatelnost mezi ně nepatří. Pokud by Bitcoin běžel na centralizované databázi, bylo by pro administrátora relativně snadné zvýšit rychlost a propustnost transakcí, ale hodnotová nabídka Bitcoinu (tj. odolnost vůči cenzuře) vyžaduje, aby mnoho účastníků sítě neustále synchronizovalo kopii blockchainové sítě.


Problém škálování blockchainové sítě

Provoz bitcoinového uzlu je relativně levný a lze jej provádět i na technicky slabých zařízeních. Ale protože si tisíce uzlů musí být navzájem vědomy svých aktivit, existují určitá omezení jejich propustnosti.

Jsou kladeny limity na počet transakcí, které lze v řetězci zpracovat, a to vše ve snaze zabránit rychlému růstu databáze do obřích rozměrů. Pokud se stane příliš velkým a rychlým, uzly nebudou schopny mezi sebou rychle interagovat. Navíc, pokud jsou bloky příliš velké, nebude možné je rychle přenést přes síť.

Výsledkem je složitá situace s úzce zaměřenými řešeními. Blockchain si lze představit jako vlak, který odjíždí podle přesného jízdního řádu. Počet míst v každém vagónu je omezený a pro získání jízdenky musí cestující podat určitou nabídku na rezervaci místa. Pokud se všichni pokusí nastoupit do vlaku ve stejnou dobu, cena místenky vyletí nahoru. Totéž platí se sítí zanesenou nevyřízenými transakcemi, v takovém případě jsou uživatelé povinni zaplatit vyšší poplatek, aby byla jejich transakce včas přidána ke zpracování.

Jedním z řešení by bylo zvětšení vagonů. To nabídne více míst, vyšší kapacitu a nižší ceny vstupenek. Není ale zaručeno, že se místa nezačnou plnit jako dříve. Nemohou být neustále rozšiřovány, stejně jako bloky nebo limity plynu v rámci bloku, které se jednoduše nemohou měnit do nekonečna. Díky tomu je údržba uzlů ještě dražší, protože jejich majitelé budou potřebovat dražší vybavení pro synchronizaci s blockchainem.

Tvůrce Etherea Vitalik Buterin vytvořil trilema škálovatelnosti, aby popsal problém, kterému blockchainy čelí. Zastává teorii, že protokoly musí dělat kompromisy mezi škálovatelností, bezpečností a decentralizací. Tyto vlastnosti jsou mezi sebou poněkud v rozporu, přičemž se zaměřují především na dvě vlastnosti, třetí je vynechána.

Z tohoto důvodu mnozí považují škálovatelnost za něco, čeho je třeba dosáhnout mimo řetězec, zatímco bezpečnost a decentralizace musí být maximalizovány na základním blockchainu.


Co je to škálování mimo řetězec?

Off-chain škálování se týká metod, které umožňují provádění transakcí bez zvýšení počtu bloků na blockchainu. Protokoly, které se připojují k řetězci, umožňují uživatelům odesílat a přijímat finanční prostředky, aniž by se transakce objevily v hlavním řetězci. Podíváme se na dvě z nejznámějších řešení v tomto směru: sidechainy a platební kanály.


Úvod do postranních řetězců

Co je to sidechain?

Sidechain, postranní řetězec (z anglického sidechain) je samostatný blockchain. Nejedná se však o samostatnou platformu, protože má určitou vazbu na hlavní řetězec. Mainchain a sidechain jsou interoperabilní, což zase znamená, že aktiva se mohou volně přesouvat z jednoho řetězce do druhého.

Možností, jak zajistit tzv. přenesení finančních prostředků, je více. V některých případech jsou aktiva přesunuta z hlavního řetězce zasláním mincí na speciální adresu. Ve skutečnosti se nikam neposílají, tyto mince jsou zablokovány na adrese odesílatele a odpovídající částka je přidělena na postranním řetězci. Jednodušší (byť centralizovanou) možností je zaslání měny účastníkovi, který má na starosti úschovu a distribuci finančních prostředků, jehož úkolem je směna měny mezi řetězci.


Jak to funguje?

Řekněme, že naše kamarádka Alice má pět bitcoinů. Chce je vyměnit za pět ekvivalentních jednotek na bočním řetězci bitcoinů, říkejme jim sidecoiny. Cílový postranní řetězec používá obousměrný peg, což znamená, že uživatelé mohou převádět svá aktiva z hlavního řetězce do vedlejšího řetězce a naopak.

Pamatujte, že sidechain nebo sidechain je samostatný blockchain. Jeho bloky, uzly a ověřovací mechanismy se tedy budou lišit od hlavního řetězce. Aby Alice přijala vedlejší coiny, poslala pět bitcoinů na jinou adresu. Mohlo by to patřit někomu, kdo by na její adresu vedlejšího řetězce připsal pět vedlejších mincí, jakmile obdrží platbu. Alternativně by mohl mít nějaký druh nastavení minimální důvěry, kde jsou vedlejší coiny automaticky připsány, jakmile software detekuje platbu.


Sidechain scaling


Jakmile Alice přemění své mince na vedlejší coiny, může tento proces kdykoli zvrátit. Nyní, když vstoupila do postranního řetězce, může volně provádět transakce na postranním řetězci. Alice může odesílat a přijímat vedlejší coiny od ostatních uživatelů, stejně jako v hlavním řetězci.

Mohla například zaplatit Bobovi jeden vedlejší coin za mikinu Binance. Až se bude chtít vrátit k bitcoinu, bude muset poslat zbývající čtyři sidecoiny na speciální adresu. Jakmile je transakce potvrzena, čtyři bitcoiny budou odemčeny a doručeny na adresu, kterou ovládá v hlavním řetězci.


K čemu slouží sidechainy?

Možná se ptáte, jaký je v tom smysl? Proč prostě nemůžeme použít bitcoinový blockchain?

Odpověď zní, že sidechain dokáže věci, které Bitcoin neumí. Blockchainy jsou pečlivě navržené systémy kompromisů. Přestože je bitcoin nejbezpečnější a decentralizovanou kryptoměnou, není z hlediska propustnosti nejlepší. Zatímco bitcoinové transakce jsou rychlejší než tradiční, stále jsou relativně pomalé ve srovnání s jinými blockchainovými systémy. Bloky se těží každých deset minut a poplatky se mohou výrazně zvýšit, když je síť přetížená.

Malé každodenní platby samozřejmě tuto úroveň zabezpečení nepotřebují. Pokud si Alice koupí kávu, nebude mít nejmenší chuť postávat a čekat na potvrzení transakce. Podrží linku a kromě toho její pití vychladne, než dorazí.

Postranní řetězce nejsou spojeny stejným souborem pravidel. Ve skutečnosti ani nepotřebují používat algoritmus Proof of Work, aby fungovaly. Takové systémy mohou používat jakýkoli konsensuální mechanismus, důvěřovat jednomu validátoru nebo vytvářet specifickou sadu nastavení s libovolným počtem parametrů. Mají také přístup k provádění aktualizací, které v hlavním řetězci neexistují, vytvářejí větší bloky a zvyšují rychlost peněžního vypořádání.

Zajímavým faktem je, že pokud dojde ke kritickým chybám, postranní řetězce mohou fungovat bez ovlivnění hlavního řetězce. To umožňuje jejich použití jako platformy pro provádění různých experimentů a zavádění nových funkcí, které by jinak vyžadovaly souhlas většiny účastníků sítě.

Za předpokladu, že uživatelé budou spokojeni s kompromisy sítě, mohou být postranní řetězce nedílným krokem k efektivnímu škálování. Uzly hlavního řetězce nemusí ukládat každou transakci z vedlejšího řetězce. Alice může vstoupit do sidechainu s jednou transakcí v bitcoinové síti a provést sto různých transakcí pomocí sidecoinů a poté sidechain opustit. To znamená, že v bitcoinovém blockchainu provede pouze dvě transakce – jednu pro vstup a jednu pro výstup.

Ethereum Plasma má podobné vlastnosti jako podobné řešení, ale je mezi nimi mnoho rozdílů. Další podrobnosti naleznete v článku: „Co je plazma Ethereum?


Úvod do platebních kanálů

Co je platební kanál?

Platební kanály slouží stejnému účelu jako vedlejší řetězce, ale jsou zásadně odlišné. Stejně jako postranní řetězce přesouvají transakce mimo hlavní řetězec, aby zabránily nadýmání blockchainu, ale na rozdíl od postranních řetězců toto řešení nevyžaduje samostatný blockchain.

Platební kanál využívá inteligentní smlouvu, která uživatelům umožňuje provádět transakce bez zveřejňování jejich transakcí na blockchainu. Toho je dosaženo prostřednictvím programové dohody mezi dvěma účastníky.


Jak to funguje?

V modelech, jako je populární Lightning Network, dvě strany nejprve vloží minci na adresu, kterou společně vlastní. Jedná se o speciální adresu s více podpisy, na které lze utrácet prostředky pouze v případě, že jsou přítomny dva podpisy. Pokud tedy Alice a Bob takovou adresu vytvořili, lze prostředky převádět pouze po souhlasu obou stran.

Řekněme, že každý z nich vloží 10 BTC na cílovou adresu, poté bude zůstatek v peněžence 20 BTC. Na blockchainu je celkem snadné se podívat na jejich počáteční zůstatek, což může každému potvrdit, že Alice a Bob mají každý 10 BTC. Pokud Alice dá Bobovi jednu minci, může ji aktualizovat, aby pochopila – Alice má 9 BTC, Bob má 11 BTC. Nebudou muset zveřejňovat data o blockchainu, protože celkový zůstatek na adrese zůstane stejný.


how a payment channel works


Může však přijít chvíle, kdy Alice bude mít 5 BTC a Bob 15 BTC. Mohou snadno vytvořit transakci, která po spolupodepsání a odeslání transakce do sítě rozdělí správné zůstatky na jejich osobní adresy.

Alice a Bob mohli mít ve své rozvaze deset, sto nebo tisíc transakcí. Ale pokud jde o blockchain, provedli v řetězci pouze dvě transakce: jednu pro počáteční vklad a jednu poté, co byly finanční prostředky konečně přerozděleny mezi sebou. Kromě těchto dvou jsou všechny ostatní transakce bezplatné a téměř okamžité, protože k nim dochází mimo řetězec. Alice a Bob přitom těžaři nezaplatili a nečekali na potvrzení transakcí v blocích.

Výše uvedený příklad však vyžaduje spolupráci obou stran, což pro cizí lidi není ideální situace. S pomocí speciálních mechanismů však budou jakékoli podvodné akce zaznamenány a narušitel bude potrestán, takže strany mohou v klidu a hlavně bezpečně komunikovat, aniž by si navzájem důvěřovaly.


Směrování plateb

Platební kanály jsou samozřejmě vhodné pro dvě strany, které si chtějí vyměňovat velké množství transakcí, ale s pomocí směrování plateb se jejich funkce ještě zdokonalí. Řekněme, že síť těchto kanálů se může rozšířit, což znamená, že Alice může platit straně, se kterou není přímo spojena. Pokud má Bob otevřený kanál s Carol, Alice na ni může převést finanční prostředky za předpokladu, že je dostatek prostředků. Aby to udělala, dá mince Bobovi, který je zase dá Carol. Pokud je Carol spojena s jiným účastníkem, jako je Dan, pak může udělat totéž.

Taková síť se vyvine do distribuované topologie sítě, která kontaktuje několik vrstevníků najednou. V takové síti bude často existovat několik cest k cíli a uživatelé si mohou vybrat tu nejvhodnější a nejúčinnější.


Závěr

Diskutovali jsme o dvou přístupech ke škálovatelnosti, které umožňují provádění transakcí bez zatížení základního blockchainu. Jak postranní řetězce, tak technologie platebních kanálů ještě nedospěly, ale stále častěji je využívají uživatelé, kteří chtějí obejít nevýhody transakcí na základní úrovni.

Jak čas plyne a k síti se připojuje stále více uživatelů, je nesmírně důležité zachovat její decentralizaci. Toho lze dosáhnout pouze omezením růstu blockchainu, aby se nové uzly mohly snadno připojit. Zastánci řešení škálovatelnosti mimo řetězec věří, že časem bude hlavní blockchain využíván pouze k vypořádání velkých finančních transakcí nebo k propojení příchozích/odchozích postranních řetězců a otevírání/uzavírání kanálů.