Lightning network

V několika předchozích článcích jsme okrajově zmínili nadstavbové řešení Lightning network, které bude umožněno implementací SegWitu. V dnešním článku se na něj podíváme trochu podrobněji. Jedná se o protokol pro škálování a zrychlení blockchainů. Ačkoli byla Lightning network (blesková síť) vytvořena pro blockchain Bitcoinu, dá se implementovat do jakéhokoli jiného blockchainu.

Představte si, že by musel počítač ukládat všechny emaily na světě, aby mohl emaily přijímat. Tak pracují blockchainy. Lightning network umožňuje transakce v blockchainu, aniž by bylo nutné mít v počítači všechny ostatní transakce – stačí tedy mít záznamy o svých vlastních penězích. A to, že blochchain utěšeně roste, jsme si již říkali.

Vyřešení problému škálovatelnosti bylo hlavní motivací pro vytvoření Lightning network, protože decentralizovaná povaha Bitcoinu velmi omezuje množství transakcí, které může zpracovat. Zatímco Visa dokáže zpracovat desítky tisíc transakcí za sekundu, Bitcoinová síť zvládne maximálně teoretických 7. Dalším důvodem pro Lightning network byl fakt, že první konfirmaci získá platba v blockchainu až po dlouhých deseti minutách. A to je ve srovnání s běžnými platebními prostředky opravdu hodně – nemluvě o tom, že bezpečná hloubka pro konfirmaci transakce je 6 bloků, tedy asi 60 minut! Náklady na transakci se pak pohybují v řádech korun, díky čemuž je možnost provádění mikroplateb velmi omezená. Lightning network by pak měla umožnit provádění plateb téměř v reálném čase, za poplatky v řádech haléřů (nebo dokonce zdarma) a to v tisících až teoretických milionech transakcí za sekundu.

Lightning network se zakládá na takzvaných platebních kanálech, o kterých jsme se v předchozích článcích také zmínili. Dvojcestný platební kanál se vytvoří tak, že se v blockchainu vytvoří adresa s požadavkem na 2 podpisy ze dvou, kam alespoň jedna strana vloží Bitcoiny. Každá ze stran má vlastní soukromý klíč a utratit vložené prostředky je možné jen s oběma podpisy. Počáteční transakce, kterou se otevírá platební kanál, trvá asi deset minut (závisí na konfirmaci v bloku), poté však mohou účastníci libovolně platit navzájem v reálném čase, kdy se v podstatě mění jen poměr zůstatku obou stran na společné adrese. Celková suma platebního kanálu zůstává stejná, a tudíž není třeba zapisovat tyto transakce do blockchainu a konfirmovat je. Z pohledu blockchainu je na adrese neměnný zůstatek, ale obě strany vědí, jaká část z něj každé z nich patří. Když se strany dohodnou na ukončení platebního kanálu, tak se udělá záznam v blockchainu, kdy každé straně odejde na její soukromou adresu aktuální zůstatek platebního kanálu, který jí náleží. Tato transakce už bude v blockchainu zapsána.

Každá z transakcí by byla platná, kdyby byla zapsána v blockchainu, ale takto není blockchain zatěžován a strany přesto vědí, jaké je „skóre“. Podepsané, ale v blockchainu nezaznamenané transakce se vyměňují na peer-to-peer bázi mezi stranami, takže jdou mimo hlavní síť. To samozřejmě pomůže snížit tempo růstu velikosti blockchainu.

Dejme tomu, že Alice a Bob se dohodnou na otevření platebního kanálu a oba do něj vloží 1 Bitcoin. Zůstatek na dané BTC adrese by tedy byl 2 Bitcoiny. Poměr vlastnictví na této adrese se pak může aktualizovat, což představuje platbu jednoho druhému – zůstatek každého z účastníků se tedy může pohybovat kdekoli mezi 0-2 až 2-0. Když se Alice a Bob dohodnou na ukončení platebního kanálu, je zůstatek každého z nich odeslán na blockchain a zaznamenán v něm.

Lightning network využívá technologii platebních kanálů tak, že vytvoří celou síť těchto kanálů s využitím „chytrých kontraktů“ (podobně jako Ethereum). Díky tomu může celá síť fungovat na decentralizovaném principu a eliminovat riziko, že protistrana nesplní svou část dohody. Například Alice otevře platební kanál s Bobem, ten otevře další kanál s Carol, ta zase další s Davidem. Bude-li chtít Alice poslat peníze Davidovi, může poslat peníze přes otevřené kanály s Bobem a Carol – David pak obdrží výslednou sumu. Bob a Carol budou mít na svých kanálech plusový a mínusový záznam ve stejné výši a tudíž se jejich zůstatek nezmění. Díky vícenásobnému podepisování a chytrým kontraktům ovšem Alice nemusí věřit ani Bobovi, ani Carol, jako prostředníkům – kryptografický protokol se postará o to, aby se buď peníze dostaly k Davidovi přes Boba a Carol, nebo se vrátily Alici.

Bob a Carol v tomto příkladu figurují jako uzly sítě – v jistém slova smyslu jsou tak analogií těžařů z Bitcoinové sítě. Fungují jako servery, které decentralizovaně zpracovávají transakce na síti. Podobně jako těžaři ale nemají kontrolu nad penězi, které skrz jejich uzly prochází. Bob nemůže ukrást Alici peníze, protože dostane příchozí platbu jen v případě, že už odeslal svou část Carol. Obdržení platby je tedy závislé na odeslání peněz dále. Platby v Lightning network jsou závislé na „kryptografickém tajemství“ a pokud jej znáte, pak můžete přijmout peníze od předchozí strany. Pokud tedy Dave dostane peníze od Carol, může teprve Carol žádat peníze od Boba a ten teprve poté od Alice. Platba jde tedy jaksi obráceným směrem, než jsme zvyklí.

A co se stane, pokud Bob zmizí z radarů? Zůstávají prostředky navěky v platebním kanálu? Aby se síť vypořádala s nespolehlivými uzly, zavádí chytré kontrakty, aby se zajistilo, že když Bob zmizí, dostane Alice alespoň své peníze zpět. K tomu síť využívá „kontrakty založené na hashovaných časových zámcích“. U každé transakce je nastavena časová hodnota, typicky hodiny, nebo dny, po které dostane Alice peníze zpět v případě, že není Bobův server online.

Co když Alice pošle svojí platbu Davidovi a pak bude chtít cuknout? Mohla by například zkusit poslat starší transakci do blockchainu, čímž by uzavřela kanál ve stavu před odesláním transakce Davidovi. Lightning network sice tyto staré transakce maže, ale Alice by se mohla pokusit změnit software. Pokud se Alice bude snažit tvrdit, že má stále starý zůstatek, Davidův software (nebo určené servery) bude v blockchainu hledat takovou transakci a pokud ji najde, jako trest bude její zůstatek převeden Davidovi. Tím je zajištěno, že nikdo nebude chtít riskovat odeslání zastaralých stavů platebního kanálu.

A co když jsou Bob i Alice online a chtějí svůj kanál uzavřít? Chtějí-li obě strany dobrovolně uzavřít kanál, pak mohou být zůstatky vypořádány přes blockchain během deseti minut, které trvá konfirmace v blockchainu. Od otevření do uzavření kanálu ale mohlo mezi Alicí a Bobem proběhnout tisíce transakcí, které v blockchainu zapsané nebudou.

Bezpečnost Lightning network v konečném důsledku závisí na blockchainu, ať už bitcoinovém, nebo jiném. V případě Bitcoinu využívá algoritmus proof-of-work, který zabezpečuje celou síť. Blockchain je konečným soudcem v případě neshod. S Lightning network vždy víte, jak tento soudce rozhodne, protože je to již zaznamenané v transakci, která vytvořila platební kanál, který používá Lightning network. Tohoto soudce nemůžete ani přemluvit, ani uplatit. Lightning network je v podstatě „lokální konsenzus“, který je vyžadován globálním konsenzem (tedy blockchainem). Tento lokální konsenzus ale nemá žádného dohlížitele, jako tradiční modely. Kterýkoli účastník může kdykoli jednostranně uzavřít svůj platební kanál a vybrat si své prostředky bez potřeby spolupráce s ostatními. Lightning network tedy používá blockchain jen jako vstupní a výstupní transakci a zbytek dat o platbách ukládá mimo něj.

Lightning network může být použita na bitcoinovém blockchainu, jiných blockchainech, nebo dokonce na transakce mezi blockchainy za použití „meziřetězcových swapů“. Konsenzuální pravidla každého blockchainu se mohou lišit, ale přechod aktiva z jednoho blockchainu do druhého je i tak možný bez dohlížejících a vypořádacích subjektů.

Díky jednoduchosti platebních kanálů může být sítí přeneseno mnoho transakcí téměř bez nákladů a díky tomu tudíž za nízký poplatek – síť tedy umožňuje mikroplatby. Transakce prostupují sítí podobným způsobem, jako pakety dat internetem. Síť má potenciál umožnit vznik nových možností, jako jsou přímé platby z jednoho stroje druhému, mikroplatby, nebo výměny prostředků mezi blockchainy.

Související

PŘIDEJTE SE DO DISKUZE