Po letech konceptualizace a vývoje jsou první implementace Lightning nyní v beta verzi. Výsledkem je, že se každý den online objevuje více uzlů, rostoucí počet uživatelů otevírá kanály navzájem a někteří obchodníci dokonce začali přijímat platby bleskem.
Ale samozřejmě, stále jsou to velmi rané dny Lightning Network. Zatímco hlavní implementace jsou použitelné a některé peněženky a další aplikace jsou k dispozici, předpokládá se, že se bitcoinová síť pro překrytí plateb v příštích několika letech zlepší v oblastech od síťové architektury po zabezpečení a použitelnost atd..
Toto jsou některé z důležitějších projektů Lightning, které jsou v současné době ve vývoji.
Kanály s dvojím financováním
Síť Lightning se skládá z řady platebních kanálů. Každý platební kanál existuje mezi dvěma uživateli, což umožňuje posílání finančních prostředků tam a zpět mezi nimi.
V této rané fázi vývoje však mohou být platební kanály financovány pouze jednou ze dvou stran. Financující strana musí nejprve provést transakci se svou protistranou; teprve potom může tato protistrana vrátit platbu v rámci stejného platebního kanálu.
The Dokument White Lightning Network, navrhované kanály s dvojím financováním, pro které a návrh specifikace nyní také vytvořil ACINQ, společnost za sebou Eclair. Jak název napovídá, kanály s dvojím financováním umožní oběma uživatelům částečně financovat platební kanál tím, že každý vloží nějaký bitcoin. To by mělo přinést větší flexibilitu uživatelskému prostředí Lightning, protože uživatelé mohou ihned po otevření kanálu odesílat a přijímat platby.
Výměna ponorek
Aby bylo možné provést platbu bleskem, musí uživatelé vložit prostředky na kanál blesku. Jakmile jsou tyto kanály v kanálu, nelze je posílat na běžné bitcoinové adresy (v řetězci) (pokud není kanál nejprve uzavřen). To znamená, že bitcoin v kanálu Lightning je v běžné peněžence poněkud oddělen od bitcoinů, na rozdíl od toho, jak jsou peníze na běžném účtu poněkud odděleny od peněz na spořicím účtu.
Existují však řešení, díky nimž je přechod mezi bleskem a on-chain platbami plynulejší.
Jedno řešení je Výměna ponorek. Vyvinutý Alexem Bosworthem (ale konceptualizován pomocí Lightning Labs CTO Olaoluwa Osuntokun dokonce před tím), Submarine Swaps v zásadě umožňuje uživatelům posílat platby Lightning prostředníkovi v Lightning Network; že prostředník pošle odpovídající množství bitcoinů na běžnou (on-chain) bitcoinovou adresu. Funguje to i obráceně: uživatelé mohou prostředníkovi posílat pravidelné platby on-chain; že prostředník poté odešle odpovídající množství bitcoinů do přijímajícího uzlu Lightning v Lightning Network.
Důležité je, že u Submarine Swaps se tato konverze provádí „atomicky“. Pomocí triku, který je již integrován do Lightning Network, lze Lightning platby a on-chain platby efektivně propojit navzájem. To znemožňuje zprostředkovateli odcizení platby tím, že ukradne finanční prostředky. (Po dohodě s uživateli může za svou službu účtovat malý poplatek.)
Sestřih
Další řešení, díky kterému bude uživatelský zážitek Lightning plynulejší, se nazývá „sestřih“. Spojení by v zásadě umožnilo uživateli „dobít“ prostředky ve stávajícím kanálu Lightning nebo z něj „odčerpat“ prostředky, potenciálně při zachování kanálu otevřeného.
Myšlenka je jednoduchá. Jakýkoli kanál Lightning začíná otevírací transakcí, která zajišťuje, že oba uživatelé souhlasí s přesunem prostředků v kanálu. Zbytek kanálu Lightning se skládá z řady následných transakcí vyměňovaných mezi uživateli, které se obvykle nevysílají do bitcoinové sítě. Prostředky v zahajovací transakci se nepohybují, dokud není kanál uzavřen.
Při „spojování“ uživatelé berou úvodní transakci, aby místo toho posílali prostředky na náhradní úvodní transakci, která zahrnuje více bitcoinů, od jednoho nebo obou uživatelů. Jakmile se tato nová otevírací transakce potvrdí na blockchainu, kanál se doplní. Dokud nebude potvrzena nová otevírací transakce, mohou tito dva uživatelé jednoduše aktualizovat starý i nový kanál současně, aby nedocházelo k „prostojům kanálu“.
Naopak, když se „spojí“, uživatelé využijí zahajovací transakci k odeslání prostředků na běžnou (on-chain) adresu a potenciální část z toho ponechají v kanálu pomocí stejného triku. Tímto způsobem mohou uživatelé provádět on-chain transakce přímo z kanálu Lightning.
Tetování
Pokaždé, když je provedena nová platba, jsou bleskové kanály mezi uživateli aktualizovány, aby odrážely jejich vzájemné zůstatky. Trik použitý k dosažení tohoto cíle v současné době zahrnuje pokutu pro uživatele, kteří se pokoušejí podvádět vysíláním starších zůstatků (pravděpodobně proto, že starší zůstatek by jim platil více). Podvádění uživatelů může přijít o všechny prostředky, které mají v kanálu.
Problém je v tom, že vysílání starých zůstatků není vždy podvodným pokusem. Existuje řada scénářů, ve kterých mohou uživatelé omylem vyslat starší zůstatek; například kvůli chybě softwaru nebo záloze. V takových scénářích je úplná ztráta prostředků kanálu docela těžkým trestem.
Poprvé publikováno 30. dubna 2018, tetování je nejnovější návrh uvedený v tomto článku. Vyvinuto společností Blockstream’s c-blesk vývojový tým – Dr. Christian Decker a Rusty Russell – a Lightning Labs Osuntokun, eltoo aktualizuje kanál vybudováním řetězce časově omezených transakcí, kde každá transakce utrácí prostředky z předchozí, aby odrážely nejnovější zůstatek kanálu.
Pokud jeden uživatel vysílá starší transakci (představující zůstatek staršího kanálu), má její protistrana nějaký čas na vysílání poslední transakce (představující nejnovější zůstatek kanálu).
Takové řešení by dnes mohlo fungovat, ale v případě selhání to není praktické. Vyžadovalo by to, aby byl celý řetězec transakcí vysílán a zaznamenáván na bitcoinovém blockchainu, což by víceméně narušilo účel Lightning Network. Decker proto navrhováno soft-fork změna protokolu Bitcoin k zavedení typu hierarchie v těchto typech transakcí: jakákoli novější transakce může přepsat jakoukoli starší transakci, aniž by bylo nutné vysílat všechny transakce v celém řetězci.
Pokud je tato softwarová vidlice přijata a aktivována v bitcoinové síti, mohli by uživatelé Lightning vytvářet kanály jak v aktuálním stylu, tak pomocí eltoo, podle toho, co preferují.
Kompaktní filtrování bloků na straně klienta
Zatímco Lightning Network je protokol druhé vrstvy, samotný bitcoinový blockchain je pro uživatele Lightning z bezpečnostních důvodů stále relevantní. Uživatelé Lightningu musí konkrétně sledovat blockchain, aby zjistili, zda jsou zahrnuty konkrétní transakce. To může být náročné na zdroje, zejména pro mobilní uživatele.
Řešení se nazývá Simplified Payment Verification (SPV) a bylo popsáno v bílé knize o bitcoinech. Současné peněženky SPV používají trik s názvem „Bloom filtry„Zjistit, zda došlo k relevantním transakcím.
Bohužel, filtry Bloom jsou poměrně nepřátelské k ochraně soukromí, protože peněženky v podstatě odhalují všechny své adresy uzlům v bitcoinové síti. Mají také určité problémy se škálováním a použitelností, protože každá jednotlivá peněženka SPV zabírá zdroje alespoň z jednoho úplného uzlu bitcoinu.
Při řešení těchto problémů spolu s Osuntokunem a Alexem Akselrodem z Lightning Labs Coinbase vývojář Jim Posen, navržen nové řešení s názvem „kompaktní filtrování bloků na straně klienta“, které implementují v Neutrino peněženka.
Kompaktní filtrování bloků na straně klienta v podstatě převrací trik, který používají současné peněženky SPV. Místo toho, aby peněženky požadovaly transakce, které se jich týkají, vytvořením a odesláním filtru Bloom do plných uzlů, vytvoří plné uzly filtr pro všechny peněženky Neutrino. Peněženka Neutrino pak pomocí tohoto filtru stanoví, že k příslušné transakci nedošlo – což je opravdu vše, co uživatelé potřebují vědět, aby si byli jisti, že nejsou podvedeni. (Pokud filtr vytvoří shodu, Neutrino načte příslušný blok, aby zjistil, zda se shoda skutečně týká přesné transakce místo falešně pozitivního.)
Je zajímavé, že i když byl tento trik navržen s ohledem na zkušenost s bleskem, mohl by být použit i ve prospěch běžných světelných peněženek.
Strážní věže
Aby se uživatelé blesku vyhnuli podvádění, musí sledovat potenciální transakce v řetězci, které by pro ně mohly být relevantní.
I když by kompaktní filtrování bloků na straně klienta mělo věci mnohem usnadnit, uživatelé se musí jednou za čas „ohlásit“, aby se ujistili, že nejsou podvedeni. Pokud zapomenou zkontrolovat, vytváří to bezpečnostní riziko.
„Strážné věže“ jsou potenciálním řešením, které lze vysledovat zpět k bílé knize Lightning Network a od té doby bylo vylepšeno spoluautorem bílé knihy Lightning Network a svítí vývojář Tadge Dryja a další. Jak název napovídá, Strážné věže by mohly uživatelům umožnit outsourcing monitorování blockchainu třetím stranám.
Současné návrhy Strážné věže nejsou vytesány do kamene, ale zhruba by fungovaly takto. Kdykoli uživatelé aktualizují kanál, pošlou malý datový balíček do Strážné věže. První část tohoto balíčku je „náznakem“ transakce, na kterou by si měli dávat pozor, jako by to byla hračka. Tato nápověda sama o sobě neodhaluje nic o obsahu transakce, na kterou musí Strážná věž dávat pozor; uživatelé se v tomto smyslu nevzdávají žádného soukromí.
Pokud se však příslušná transakce objeví v bitcoinovém blockchainu, Strážná věž jej může pomocí nápovědy rozpoznat. Poté, s daty transakcí na samotném blockchainu, může Strážná věž použít druhou část balíčku, který obdrželi, k rekonstrukci pokutové transakce. Tato pokutová transakce odešle všechny prostředky v kanálu uživateli, který je podváděn. (Nebo v případě eltoo pouze vysílá správnou rovnováhu kanálu.) Trestní transakce může být také navržena tak, aby Strážná věž mohla požadovat část prostředků jako odměnu, jako pobídku k výkonu své práce.
Uživatelé mohou outsourcovat monitorování kanálů na více strážních věží. I když jeden selže, druhý možná nebude, čímž se riziko pro uživatele blesku sníží do bodu, kdy je to pravděpodobně zanedbatelné.
Atomové vícecestné platby
Co dělá Lightning Network a síť je, že platební kanály mezi uživateli jsou vzájemně propojeny. Uživatelé mohou platit napříč platebními kanály, prostřednictvím vrstevníků v síti, kteří fungují jako „prostředníci“, uživatelům, u kterých nemají otevřený přímý kanál.
Právě teď však musí být jedna platba směrována po jedné trase. Pokud jeden uživatel chce zaplatit 5 mBTC druhému, nejenže musí mít 5 mBTC v jednom kanálu, všichni zprostředkovatelé na trase také musí mít připravených 5 mBTC v kanálu pro přeposílání. Čím větší je platba, tím menší je pravděpodobnost, že tomu tak bude.
Atomové vícecestné platby (AMP) by mohly vyřešit toto omezení dlouhou cestou. Myšlenka, kterou nejprve navrhli Lightning Labs Osuntokun a Conner Fromknecht, je jednoduchá: Větší platby lze „rozdělit“ na menší kousky, z nichž všechny mají svou vlastní cestu od plátce k příjemci prostřednictvím různých prostředníků.
Výzvou pro realizaci tohoto řešení je, že platby Lightning mohou selhat, což by v tomto případě znamenalo, že je platba provedena částečně. Částečné platby však mohou snadno představovat větší problém než vůbec žádná platba: obchodník nebude spokojen s částečnou platbou, zatímco zákazník nebude spokojený s utrácením peněz za nic.
Řešení tohoto problému spočívá v tom, že stránky AMP používají rozšíření hash časově uzamčených kontraktů, které se již používají na trasách Lightning a zahrnují předávání tajných dat po síti. Pomocí triku podobného triku, který používají deterministické peněženky (které generují více bitcoinových adres z jednoho semene), může menší část větší platby vyplatit pouze příjemce, pokud jsou všechny: pokud některá tajná data nejsou proběhnout celou trasu, celá platba selže.
Atomové swapy
Síť Lightning je navržena jako škálovací vrstva pro bitcoiny. Ale protože mnoho altcoinů jsou softwarové vidlice bitcoinových kódových základen, není často obtížné vytvořit pro tyto altcoiny podobné škálovací vrstvy. Již existuje malá Litecoin Lightning Network a pravděpodobně bude následovat další Lightning Networks.
Je zajímavé, že tyto sítě nemusí v budoucnu zůstat oddělené.
Použití základního stavebního bloku Lightning Network zvaného „atomové swapy“ (první navrhováno Tier Nolan a realizováno na Lightning by Lightning Labs ‘Fromknecht), platební kanály mohou být propojeny napříč různými blockchainy. Jinými slovy, uživatel může odesílat bitcoiny a pokud je uzel v síti ochoten provést výměnu, jiný uživatel může obdržet platbu jako litecoin.
To samozřejmě také znamená, že si uživatelé mohou takové platby posílat sami: mohou posílat bitcoiny a přijímat litecoiny. Lightning Network by ve skutečnosti mohl vytvořit síť nedůvěryhodných burz kryptoměny.
Další informace o tomto tématu naleznete v tématu: „Atomic Swaps: How the Lightning Network Extends to Altcoins.“
Továrny kanálu
Hlavní výhodou Lightning Network je pravděpodobně jeho potenciál výrazně zvýšit horní hranici bitcoinových transakcí, aniž by zatěžoval bitcoinovou síť. Pokud mají dva uživatelé na svém kanálu prostředky, mohou si navzájem platit prakticky neomezeně, přičemž vyžadují pouze dvě transakce v řetězci: jeden pro otevření platebního kanálu a druhý pro jeho uzavření.
Přesto by se dvě transakce na jeden platební kanál mohly sčítat, pokud by se bitcoiny a Lightning Network postupem času více prosadily.
Návrh od ETH Curych výzkumníci Christian Decker (také z Blockstream), Roger Wattenhofer a Conrad Burchert s názvem „Channel Factories“ by mohli dále snížit průměrný počet transakcí na řetězci požadovaných na jeden platební kanál, možná výrazně.
Volně na základě dřívějšího bleskového návrhu Deckera a Wattenhofera z roku 2015 jsou Channel Factories typem platebního kanálu, který může existovat mezi mnoha uživateli. Mezitím, jako každý platební kanál, i Channel Factory vyžaduje pouze dvě transakce v řetězci. (Pokud jsou podpisy Schnorr implementovány v bitcoinech, mohou být tyto transakce docela kompaktní, i když se to týká mnoha uživatelů.)
Továrny na kanály mohou zase fungovat jako „subkanály“ pro Lightning Network. Účastníci v rámci Channel Factory mohou mezi sebou otevírat a zavírat prakticky neomezený počet Lightning kanálů, aniž by vyžadovali další transakce v řetězci. Tím by teoreticky mohli snížit počet požadovaných řetězových transakcí pro Lightning Network o velikost.
Další informace o tomto tématu naleznete v části: „Tato nová škálovací vrstva by mohla zefektivnit platební kanály desetkrát“.
Díky vývojáři Blockstream Christianovi Deckerovi, vývojáři Lightning Labs Conneru Fromknechtovi, generálnímu řediteli ACINQ Pierru-Marie Padiouovi a dalším za informace a zpětnou vazbu.