Zkoumání založené na datech, které dokazuje, že Lightning škáluje bitcoinové platby nad rámec Visa a že inovace druhé vrstvy jsou cestou.
Jedná se o názorový editorial Stanislava Kozlovského, softwarového inženýra a makroekonomického výzkumníka.
Mnoho bitcoinářů už slyšelo o „nedostatečné škálovatelnosti“ bitcoinu – je to jedna z nejčastějších kritik, kterou proti projektu vedou jak nenasytní konkurenti kryptoměn, tak etablovaní aktéři.
Někteří pamětníci si možná vzpomenou na vášnivé, v kontroverzích se koupající války o velikost bloků z let 2015 až 2017, které se za podpory zasvěcených osob z odvětví nejplynuleji zaměřily na to, aby Bitcoin zvětšením maximální velikosti bloku škáloval na více transakcí, a tím téměř vytvořily precedens a navždy změnily budoucí směřování Bitcoinu
Obě tyto otázky se nakonec ukážou být ponechány na špatné straně historie. V tomto díle si ukážeme, jak Lightning Network řeší problémy se škálovatelností Bitcoinu a nepochybně dokazuje, že rozhodnutí o malých blocích bylo nakonec správné.
Omezení a volby základní vrstvy
Než pochopíme, co Lightning Network řeší, měli bychom nejprve pochopit, co je jejím inherentním problémem. Jednoduše řečeno: blockchain nelze škálovat tak, aby decentralizovaně ověřoval transakce celého světa
Blokové řetězce trpí přirozeným omezením, které je nutí ke kompromisu mezi třemi kvalitami – jedna kvalita jejich systému musí jít na vrub zbylých dvou. Jak je znázorněno výše, blockchain může spolehlivě mít pouze dvě z těchto tří vlastností:
- Decentralizovaný: není ovládán žádnou jednotlivou stranou nebo malým počtem elit
- Škálovatelný: škáluje se na dostatečný počet transakcí
- Bezpečný: není snadné jej napadnout a prolomit jeho invarianty
Stojí za povšimnutí, že všechny tyto vlastnosti se nacházejí na samostatných, komplexních spektrech. Například se nestává „bezpečnou“ nad určitou hranicí, je to velmi závislé na případu použití a mnoha různých charakteristikách
Bitcoin je pomalý z nějakého důvodu. Výslovně se rozhodl optimalizovat části trilema „bezpečnost“ a „decentralizace“, přičemž „škálovatelnost“ (transakce za sekundu) ponechal na vedlejší koleji.
Klíčovým poznatkem je, že podobně jako u dnešního internetu a finančního systému je optimálnější skládat celý systém z oddělených vrstev, kde každá vrstva optimalizuje a používá se pro jiné věci.
Bitcoin, základní vrstva, je globálně replikovaná veřejná účetní kniha – každá transakce se vysílá každému účastníkovi sítě. Je zřejmé, že takovou účetní knihu nelze prakticky škálovat, aby se do ní vešla rostoucí rychlost transakcí na celém světě. Kromě toho, že je nepraktická a poškozuje soukromí, její nevýhody značně převažují nad jejími zanedbatelnými výhodami.
Svého času probíhala mezi internetovou komunitou velká občanská válka o to, co by měl Bitcoin udělat pro zvýšení své transakční propustnosti. V tomto příběhu se odehrávají zásadní, rozhořčené spory a z velké části je to to, co utvářelo Bitcoin, aby zůstal tím, čím je dnes – hnutím zdola, kde si průměrní lidé (plebs) ve vzájemném souhrnu diktují pravidla sítě
„The Blocksize War“ od Jonathana Biera ilustruje bitvu mezi příznivci decentralizované sítě, kteří chtějí to nejlepší pro dlouhodobou životaschopnost sítě, a chamtivostí a propagandou, kterou prosazují velcí hráči a korporace, aby podpořili své vlastní mocenské a ziskové plány
Zkrátka a dobře, Bitcoin byl rozvětven do neúspěšného forku s názvem „Bitcoin Cash“
Malý člověk nakonec zvítězil – Bitcoin neuspěchal žádná špatná designová rozhodnutí, která by přišla vniveč a ohrozila jeho decentralizaci, bezpečnost nebo odolnost vůči cenzuře. Bylo účinně rozhodnuto škálovat Bitcoin prostřednictvím vrstev, zavádět druhé vrstvy, které pracují odděleně od Bitcoinu a kontrolují svůj stav v hlavní, pomalejší, ale bezpečnější síti.
Naproti tomu zjevně neúspěšný fork Bitcoin Cash obětoval veškeré naděje na decentralizaci tím, že zvětšil velikost svého bloku na 32 megabajtů, což je 32krát více než u Bitcoinu, pro pouhých maximálně 50 plateb za sekundu v základním řetězci.
Velikost bloku
Každý blok Bitcoinu má stanovenou horní hranici své velikosti a ta označuje horní hranici toho, kolik transakcí může uvnitř bloku existovat. Pokud poptávka vzroste tak, že převýší množství transakcí, které může blok obsahovat, blok se zaplní a transakce zůstanou v mempoolu nepotvrzené. Uživatelé se začnou předhánět v nabídkách prostřednictvím nastavitelného transakčního poplatku, aby jejich transakce byly zařazeny těžaři, kteří jsou motivováni vybírat transakce s nejvyššími platbami.
Naivním řešením tohoto problému by bylo jednoduše zvýšit limit velikosti bloku – to znamená umožnit zařazení více transakcí do bloku. Negativní vedlejší účinky tohoto řešení jsou natolik subtilní, že i intelektuálové jako Elon Musk dělají chybu, když ho navrhují
Zvětšení velikosti bloku má účinky druhého řádu, které snižují decentralizaci sítě. S rostoucí velikostí bloku se zvyšují náklady na provoz uzlu v síti.
V Bitcoinu musí každý uzel ukládat a ověřovat každou transakci. Dále musí být zmíněná transakce šířena mezi vrstevníky uzlu, což znásobuje požadavky na šířku pásma sítě pro podporu většího počtu transakcí. Čím více transakcí, tím více rostou požadavky na zpracování (CPU) a ukládání (disk) v síti pro každý uzel. Protože provoz uzlu nepřináší žádné finanční výhody, motivace k jeho provozování se neúměrně snižuje, čím je nákladnější.
Vyjádřeno v číslech, pokud by měl Bitcoin někdy dosáhnout úrovně údajné maximální kapacity Visa (24 000 transakcí za sekundu), potřeboval by uzel 48 megabajtů za sekundu jen na příjem transakcí přes síť. Následující mapa ukazuje průměrnou rychlost internetu ve světě:
Jak je vidět, obrovská část průměrné rychlosti na světě by je vyřadila z možnosti provozovat uzel za těchto podmínek. Všimněte si, že průměrná rychlost znamená, že mnozí jsou ještě nižší než zmíněná hranice. Navíc nezohledňuje skutečnost, že uživatel by měl pro svou šířku pásma jiné využití – jen málo nezištných lidí by věnovalo 50 % svého internetového pásma pro bitcoinový uzel.“
Důležitější je, že množství dat, které by to generovalo, by znemožnilo komukoli je prakticky uložit – výsledkem by bylo 518 gigabajtů dat denně, tedy 190 terabajtů dat ročně.
Dále by se při roztočení nového uzlu musely stáhnout všechny tyto petabajty dat a ověřit každý podpis – obojí by způsobilo, že roztočení nového uzlu by trvalo dlouho (roky)
A aby toho nebylo málo, 24 000 transakcí za sekundu samo o sobě nevytváří skutečně jedinečnou globální platební síť. Visa není jedinou platební sítí na světě a svět je každým dnem propojenější.“
Lightning Network 101
Lightning Network je samostatná síť druhé vrstvy, která funguje nad hlavní sítí Bitcoinu. Zjednodušeně řečeno, dávkuje transakce Bitcoinu.
Abyste k ní měli přístup, musíte provozovat vlastní uzel nebo používat uzel někoho jiného. Síť má dva pojmy, které stojí za to pochopit pro účely tohoto článku:
- UzelLightning: samostatný software, který spolu komunikuje a tvoří novou síť peer-to-peer.
- Kanály: spojení otevřené mezi dvěma uzlyLightning, které umožňuje tok plateb mezi nimi.
Kanál je doslova transakce základní vrstvy Bitcoinu, která ukotvuje kanál do bezpečného řetězce
Jakmile dva uzly mezi sebou otevřou kanál, začnou mezi nimi proudit platby. Každá další platba změní stav kanálu, kryptograficky zruší starý stav a provede checkpoint nového stavu v paměti a na disku obou uzlů, ale kriticky nikoliv do základního řetězce.
Kanály mohou a podle mého názoru by ideálně měly zůstat otevřené po dlouhou dobu (např. rok nebo déle). Pokud se uzly někdy rozhodnou svůj kanál uzavřít, jejich poslední zůstatek po všech platbách mimo řetězec se obnoví do jejich původních peněženek. To je kryptograficky zabezpečeno pomocí hashovaných časově vázaných kontraktů (HTLC) a digitálních podpisů, které pro účely tohoto článku nebudeme podrobně rozebírat.
To umožňuje dávkovat miliardy plateb do dvou transakcí na řetězci – jedné pro otevření kanálu a jedné pro jeho uzavření. Jakmile je platba dokončena, je nesporné, jaký je poslední zůstatek mezi všemi stranami (za předpokladu, že uzly redundantně ukládají své kontrolní body kanálů).
Kritické je, že člověk nemusí být přímo spojen s jinou stranou, aby jí mohl zaplatit – kanály mohou být využívány jinými uzly v síti, aby se zvýšila jejich dosažitelnost. Jinými slovy, pokud je Alice připojena k Bobovi a Bob je připojen ke Karolíně, mohou si Alice a Karolína bezproblémově platit prostřednictvím Boba.
Škálovatelnost Lightningu
Jak si nyní ukážeme, Lightning Network již dnes škáluje tak, že podporuje 16 264 transakcí za sekundu, a proto řeší problém škálovatelnosti při zachování všech výhod, které Bitcoin nabízí – bez oprávnění, vzácnost, suverenitu uživatele, přenositelnost, ověřitelnost, decentralizaci a odolnost vůči cenzuře.
Aby platba prošla sítí, musí obvykle projít několika platebními kanály. Abychom mohli odpovědět na otázku, kolik plateb dokáže síť provést za sekundu, musíme pochopit, kolik jich průměrný kanál podporuje.“
Statistiky ukazují, že průměrná platba prochází přibližně třemi kanály.“
Referenční čísla, která použijeme pro tuto analýzu, mají kapacitu propustnosti na uzel, nikoli na kanál. Proto budeme nepřesně předpokládat, že každý uzel má pouze jeden kanál. Výchozí uzel LND je podle benchmarku údajně schopen se slušným strojem (8 vCPU, 32 GB paměti) provést 33 plateb za sekundu
S 16 266 uzly v síti (k listopadu 2022) by za předpokladu, že každá platba musí projít třemi kanály (čtyřmi uzly), měla být síť schopna dosáhnout přibližně 134 194 plateb za sekundu
To znamená, že každá platba musí projít skupinou čtyř uzlů a takových unikátních skupin je v síti 4 066. V případě, že by se jednalo o uzel, který by měl být schopen provést 33 plateb za sekundu, bylo by to v případě, že by se jednalo o uzel, který by byl schopen provést 33 plateb za sekundu. Za předpokladu, že každý uzel zvládne 33 plateb za sekundu, vynásobíme 4 066 číslem 33 a dostaneme se na 134 194.
Nyní, abychom byli realističtí: Ne na každém uzlu běží stroj, jako je ten v benchmarku – mnoho z nich běží jednoduše na Raspberry Pi. Naštěstí není třeba mnoho, aby bylo možné porazit současné platební systémy
Lightning Vs. Tradiční platby
Najít autentická čísla o špičkové kapacitě tradičních platebních systémů je obtížné, proto budeme vycházet z jejich průměrné rychlosti plateb v průběhu celého finančního roku 2021. Tu porovnáme s teoretickou kapacitou Lightningu, protože naopak získat průměrnou rychlost plateb v Lightningu je vzhledem k jeho neveřejné povaze nemožné a také to nevypovídá o kapacitě, protože poptávka po platbách Lightningu je zatím relativně nízká. Toto srovnání nám poskytne představu o tom, kolik plateb musí být uzel Lightning schopen směrovat, aby dokázal konkurovat tradičním financím:
Visa zaznamenala v roce 2021 165 miliard plateb, PayPal 19,3 miliardy plateb v rámci celé své platformy a FedWire 204 milionů. Respektive to činí 7 372, 612 a 6,5 plateb za sekundu v průměru za rok 2021. Pro představu, Bitcoin v roce 2021 provedl 2,44 platby za sekundu a škáluje maximálně na sedm za sekundu
Čísla jsou slibná – je třeba, aby každý uzel Lightning byl schopen provést jen čtyři platby za sekundu, aby překonal současné platební sítě nejméně dvojnásobně. Při této rychlosti může 4 066 unikátních skupin čtyř uzlů dosáhnout 16 264 plateb za sekundu – 2,2krát více než největší konkurent, společnost Visa
Aby toho nebylo pro tradiční platební sítě málo, průměrný poplatek za transakci v síti Lightning je 13krát nižší než v síti Visa – 0,1 % oproti 1,29 %
Je třeba připomenout, že síť Lightning lze vždy dále škálovat vytvářením nových uzlů. Jelikož se jedná o síť peer to peer, její škálovatelnost je teoreticky neomezená, pokud uzly v síti rostou
Výše zmíněný benchmark společnosti Bottlepay dále dokládá, že neexistují žádné skutečné technické překážky, které by implementacím uzlů Lightning bránily v tom, aby nakonec dosáhly 1000 plateb za sekundu. Při takovém čísle by se současná propustnost sítě blížila čtyřem milionům za sekundu, nemluvě o tom, jaká by byla při nárůstu počtu uzlů
A konečně je třeba připomenout, že síť Lightning je stále velmi nezralý software a do budoucna ji čeká ještě poměrně hodně optimalizací, a to jak protokolu, tak jeho implementací. Zdroje v podobě vývojářů jsou jediným krátkodobým omezením pro zvyšování škálovatelnosti, která se právem dostala na druhé místo před důležitější záležitosti, jako je spolehlivost.
Abychom si udělali představu o pokroku v této oblasti, společnost River Financial se nedávno podělila o to, že její úspěšnost plateb je 98,7 % při průměrné velikosti 46 USD, což je překvapivě lepší než nejstarší veřejně dostupné údaje, které se podařilo najít z roku 2018, kdy transakce za 5 USD selhávaly ve 48 % případů.
Závěr
V tomto článku jsme odhalili všechny negativní nevýhody škálování bitcoinového blockchainu prostřednictvím zvětšování velikosti bloků základní vrstvy, zejména to, že je vážně ohrožena jeho decentralizace a v konečném důsledku se nepodaří dosáhnout jeho cíle, kterým je dosažení obrovské škálovatelnosti potřebné pro požadavky, které globální platební síť má a v budoucnu bude mít stále častěji.
Ukázali jsme, že Lightning Network jako řešení druhé vrstvy nejelegantněji řeší problém škálovatelnosti tím, že zachovává všechny výhody Bitcoinu a zároveň jej škáluje mnohem více, než slibují jakákoli řešení základní vrstvy
Tento příspěvek napsal Stanislav Kozlovski. Vyjádřené názory jsou výhradně jeho vlastní a nemusí nutně odrážet názory společnosti BTC Inc. nebo časopisu Bitcoin Magazine.