Úvod

Škálovatelnost obecně označuje schopnost systému růst tak, aby vyhovoval rostoucí poptávce. V oblasti výpočetní techniky můžete zvýšit výkon svého počítače upgradem jeho hardwaru, aby bylo rychlejší provádět určité úkoly. Když mluvíme o škálovatelnosti v blockchainech, máme na mysli rostoucí jejich kapacitu zvládnout více transakcí.

Protokoly jako bitcoin mají mnoho silných stránek, ale škálovatelnost mezi ně nepatří. Pokud by Bitcoin běžel v centrálně vlastněné databázi, bylo by pro správce relativně snadné zvýšit rychlost a propustnost. Ale hodnotové návrhy bitcoinu (tj. odolnost vůči cenzuře) vyžadují, aby mnoho účastníků synchronizovalo kopii blockchainu.


Problém škálovatelnosti blockchainu

Provoz bitcoinového uzlu je relativně levný a zvládnou to i jednoduchá zařízení. Ale vzhledem k tomu, že tisíce uzlů musí být stále aktuální, existují určitá omezení jejich kapacity. 

Počet transakcí, které lze zpracovat v řetězci, jsou omezeny, aby se databáze nerozrostla do nepraktických velikostí. Pokud se stane příliš velkým příliš rychle, uzly nebudou schopny držet krok. Navíc, pokud jsou bloky příliš velké, nelze je rychle přenášet po síti.

V důsledku toho se ocitáme v něčem jako úzkém hrdle. Na blockchain lze nahlížet jako na vlakovou dopravu, která odjíždí v nastavených intervalech. V každém vagónu je pouze omezený počet míst a pro získání jízdenky musí cestující nabídnout místo, aby si zaručili místo. Pokud se všichni snaží dostat do vlaku ve stejnou dobu, cena bude vysoká. Podobně bude síť ucpaná nevyřízenými transakcemi vyžadovat, aby uživatelé platili vyšší poplatky, aby byla jejich transakce zahrnuta včas.

Jedním z řešení by bylo zvětšit kočáry. To by znamenalo více míst, vyšší propustnost a levnější ceny vstupenek. Neexistuje však žádná záruka, že se sedadla nezaplní jako kdysi. Vozíky nelze neustále rozšiřovat, stejně jako limity bloků nebo blokových plynů nelze nekonečně měnit. Díky tomu je pro uzly dražší zůstat v síti, protože budou potřebovat dražší hardware, aby zůstaly synchronizované.

Tvůrce Etherea Vitalik Buterin vytvořil Trilemma škálovatelnosti, aby popsal výzvu, které blockchainy čelí. Zastává teorii, že protokoly musí dělat kompromisy mezi škálovatelností, bezpečností a decentralizací. Ty jsou mezi sebou poněkud v rozporu – přílišným zaměřením na dvě vlastnosti bude třetí špatná.

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 by měly být maximalizovány na samotném blockchainu.


Co jsou řešení škálování mimo řetězec?

Off-chain škálování se týká přístupů, které umožňují provádění transakcí bez nafouknutí blockchainu. Protokoly, které se zapojují do řetězce, 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. Ponoříme se do dvou nejpozoruhodnějších pokroků na této frontě: postranní řetězce a platební kanály.


Úvod do postranních řetězců

Co je to sidechain?

Sidechain je samostatný blockchain. Není to však samostatná platforma, protože je nějakým způsobem navázána na hlavní řetězec. Hlavní řetězec a postranní řetězec jsou interoperabilní, což znamená, že aktiva mohou volně přecházet z jednoho do druhého.

Existuje několik způsobů, jak zajistit, aby bylo možné prostředky převádět. V některých případech jsou aktiva přesunuta z hlavního řetězce uložením na speciální adresu. Ve skutečnosti nejsou odeslány – místo toho jsou uzamčeny na adrese a na postranním řetězci je vydána odpovídající částka. Jednodušší (i když centralizovanou možností) je poslat prostředky správci, který vymění vklad za prostředky na postranním řetězci.


Jak sidechain funguje?

Předpokládejme, že naše kamarádka Alice má pět bitcoinů. Chce je vyměnit za pět ekvivalentních jednotek na postranním řetězci bitcoinů – říkejme jim sidecoiny. Dotyčný 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 postranního řetězce a naopak. 

Pamatujte, že sidechain je samostatný blockchain. Bude tedy mít různé bloky, uzly a ověřovací mechanismy. Aby Alice získala své sidecoiny, poslala by svých pět bitcoinů na jinou adresu. Může ji vlastnit někdo, kdo poté, co bitcoiny obdrží, připíše na její adresu sidechain pět vedlejších coinů. Alternativně může mít nějaký druh nastavení s minimalizací důvěry, kde jsou vedlejší coiny automaticky připsány poté, co software detekuje platbu.


Sidechain scaling


Alice nyní převedla své coiny na vedlejší coiny, ale vždy může proces zvrátit a získat zpět své bitcoiny. Nyní, když vstoupila do sidechainu, může volně obchodovat na tomto samostatném blockchainu. Může posílat vedlejší coiny nebo je přijímat od ostatních, stejně jako v hlavním řetězci.

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


Proč se používají boční řetězce?

Možná se ptáte, jaký to má smysl. Proč Alice nepoužívá bitcoinový blockchain?

Odpověď zní, že sidechain může být schopen věcí, které Bitcoin nedokáže. Blockchainy jsou pečlivě navržené systémy kompromisů. Zatímco bitcoin je nejbezpečnější a decentralizovanou kryptoměnou, není to nejlepší z hlediska propustnosti. Zatímco bitcoinové transakce jsou rychlejší než konvenční metody, jsou stále relativně pomalé ve srovnání s jinými blockchainovými systémy. Bloky se těží každých deset minut a při přetížení sítě mohou poplatky výrazně narůst.

Je pravda, že pro malé každodenní platby pravděpodobně není potřeba tato úroveň zabezpečení. Pokud Alice platí za kávu, nebude čekat na potvrzení transakce. Vydržela by frontu a její nápoj by byl v době předání studený.

Postranní řetězce nejsou vázány stejnými pravidly. Ve skutečnosti ani nepotřebují používat Proof of Work, aby fungovaly. Můžete použít jakýkoli konsensuální mechanismus, důvěřovat jedinému validátoru nebo vyladit libovolný počet parametrů. Můžete přidat upgrady, které v hlavním řetězci neexistují, produkovat větší bloky a vynucovat rychlé vyrovnání.

Je zajímavé, že postranní řetězce mohou mít dokonce kritické chyby, aniž by to ovlivnilo základní řetězec. To jim umožňuje používat je jako platformy pro experimentování a zavádět funkce, které by jinak vyžadovaly souhlas většiny sítě.

Za předpokladu, že uživatelé budou s kompromisy spokojeni, mohou být vedlejší řetězce nedílným krokem k efektivnímu škálování. Neexistuje žádný požadavek, aby uzly hlavního řetězce ukládaly každou transakci z vedlejšího řetězce. Alice mohla vstoupit do vedlejšího řetězce pomocí jediné bitcoinové transakce, provést stovky vedlejších transakcí a poté vedlejší řetězec opustit. Pokud jde o bitcoinový blockchain, provedla pouze dva – jeden pro vstup a jeden pro výstup.

Plazma Ethereum je podobná, ale má některé zásadní rozdíly. Přečtěte si o tom více: Co je Ethereum Plasma?


Úvod do platebních kanálů

Co je platební kanál?

Platební kanály slouží stejnému účelu jako vedlejší řetězce na frontě škálovatelnosti, ale jsou zásadně velmi odlišné. Stejně jako vedlejší řetězce vytlačují transakce z hlavního řetězce, aby zabránily nafouknutí blockchainu. Na rozdíl od sidechainů však ke svému fungování nevyžadují samostatný blockchain.

Platební kanál používá inteligentní smlouvu, která uživatelům umožňuje provádět transakce bez zveřejňování jejich transakcí v blockchainu. Činí tak pomocí softwarově vynucené smlouvy mezi dvěma účastníky.


Jak funguje platební kanál?

V modelech, jako je populární Lightning Network, by dvě strany nejprve vložily mince na adresu, kterou společně vlastní. Toto je adresa s více podpisy, která vyžaduje dva podpisy, aby byly prostředky utraceny. Takže pokud Alice a Bob vytvořili takovou adresu, finanční prostředky by mohly být přesunuty pouze se souhlasem obou.

Řekněme, že každý vloží 10 BTC na adresu, která nyní obsahuje 20 BTC. Bylo by pro ně snadné vést rozvahu, která začíná tím, že Alice a Bob mají každý 10 BTC. Pokud by Alice chtěla dát Bobovi minci, mohli by ji aktualizovat tak, že Alice má 9 BTC, Bob má 11 BTC. Nemuseli by publikovat na blockchainu, protože pokračují v aktualizaci těchto zůstatků. 


how a payment channel works


Až přijde čas, řekněme, že Alice má 5 BTC a Bob 15 BTC. Poté by mohli vytvořit transakci, která tyto zůstatky odešle na adresy vlastněné stranami, podepíše ji a rozešle.

Alice a Bob mohli ve své rozvaze zaznamenat deset, sto nebo tisíc transakcí. Ale pokud jde o blockchain, provedli pouze dvě operace v řetězci: jednu pro transakci počátečního financování a jednu pro přerozdělení zůstatků, když jsou hotové. Kromě těchto dvou jsou všechny ostatní transakce bezplatné a téměř okamžité, protože k nim dochází mimo řetězec. Není třeba platit žádný poplatek za těžaře ani čekat na potvrzení blokování.

Výše uvedený příklad samozřejmě vyžaduje, aby obě strany spolupracovaly, což není ideální situace pro cizí lidi. Nicméně, speciální mechanismy mohou být použity k potrestání jakéhokoli pokusu o podvádění, takže strany mohou bezpečně komunikovat spolu bez důvěry. 


Směrování plateb

Platební kanály jsou evidentně vhodné pro dvě strany, které očekávají vysoký objem transakcí. Ale je to lepší. Síť těchto kanálů může být rozšířena, což znamená, že Alice může platit straně, se kterou není přímo spojena. Pokud má Bob otevřený kanál s Carol, Alice jí může zaplatit, pokud má dostatečnou kapacitu. Bude tlačit prostředky na Bobovu stranu kanálu, který je naopak strčí na Carolinu. Pokud je Carol spojena s dalším účastníkem, Danem, lze udělat totéž. 

Taková síť se vyvíjí do distribuované topologie, kde se každý připojuje k více vrstevníkům. K cíli bude často existovat více tras a uživatelé si budou moci vybrat tu nejúčinnější. 


Závěrečné myšlenky

Diskutovali jsme o dvou přístupech škálovatelnosti, které umožňují provádět transakce bez zatížení základního blockchainu. Jak postranní řetězce, tak technologie platebních kanálů musí ještě dozrát, ale stále více je využívají uživatelé, kteří chtějí obejít nedostatky transakcí základní vrstvy.

Jak čas plyne a k síti se připojuje více uživatelů, je důležité, aby byla podporována decentralizace. Toho lze dosáhnout pouze prosazením omezení růstu blockchainu, aby se nové uzly mohly snadno připojit. Zastánci řešení škálovatelnosti mimo řetězec se domnívají, že časem bude hlavní řetězec využíván pouze k vypořádání transakcí s vysokou hodnotou nebo k připojování/odpojování postranních řetězců a otevírání/zavírání kanálů.