Anglická verzia tohto textu je súčasťou mojej knihy The Orange Flash of Freedom: Understanding and using the Bitcoin Lightning network
Aj keď väčšina užívateľov bitcoinu pozerá primárne na cenu a zárobok, Bitcoin priniesol oveľa viac ako “len” digitálne zlato. Aj napriek tomu, že altcoineri často kritizujú Bitcoin za to, že je “pomalý”, pretože bloky vznikajú v priemere každých 10 minút, nad Bitcoinovým protokolom vznikla platobná sieť, ktorá strčí do vrecka akýkoľvek altcoin.
Sieť Lightning má platby s okamžitou finalitou, nie je potrebné čakať na žiadne potvrdenie nikým iným. Sieť je známa aj nízkymi poplatkami za platby – v skutočnosti si uzly siete navzájom konkurujú práve na poplatkoch a tak sú ceny dlhodobo konkurenčným tlakom tlačené dole.
Momentálne Lightning používame najmä na Bitcoinové platby medzi užívateľmi. Potenciál Lightningu je však oveľa väčší. Uvedomil som si to vtedy, keď som narazil na platobný terminál, ktorý platbu Lightningom nepodporoval. Mohol som zaplatiť Bitcoinom s vysokým poplatkom alebo nejakým altcoinom, ktorý nevlastním. Vďaka existencii instantných zmenární a zákonu kryptomenového izomorfizmu môžeme na platbu používať akúkoľvek kryptomenu, aj keď ju priamo nemáme.
Lightning je ideálny platobný protokol
Ak by sme týmto spôsobom chceli používať inú kryptomenu, napríklad Monero alebo Ethereum, mali by sme dva problémy. U Monera by bol základný problém s tým, že na potvrdenie je potrebné počkať na vyťaženie v bloku. Priemerný blok Monera je 2 minúty, ale kľudne sa môže stať, že blok nepríde aj niekoľko minút. Okrem toho pri zaťaženejšej sieti sa naša transakcia nemusí objaviť v najbližšom bloku. Ak stojíme v kaviarni a platíme účet, kaviareň napríklad Litecoin transakciu neuvidí, kým nebude zaradená naša Monero platba do bloku. Niektoré zmenárne dokonca čakajú desať blokov.
Pri Ethereu sú síce bloky kratšie, aj keď niekedy môže zaradenie transakcie trvať napríklad minútu, ale poplatky sú väčšinou vysoké.
Lightning má predikovateľne nízke poplatky a netreba čakať na žiadne bloky.
Platobný podvozok
Lightning si teda môžeme predstaviť ako podvozok, ktorým môžeme cez Internet poslať hodnotu. Ak mám platobnú kartu v eurách, platím ňou v paraguaji, tak cez platobný protokol neprejde len poslanie fiat meny, ale možno hneď niekoľko konverzii. Ja zaplatím zostatkom v eurách, počas cesty sa premenia na doláre, aby prijímateľ dostal guaraní (pretože neexistuje priamy pár PYG/EUR).
Likvidita
A tu prichádza na rad ďalšia vlastnosť Lightningu – používa Bitcoin, ktorý je extrémne likvidný. Likvidita nesúvisí síce priamo s trhovou kapitalizáciou, ale môžeme z nej odvodiť cca veľkosť sietí. Ethereum má trhovú kapitalizáciu cca tretinu Bitcoinovej kapitalizácie. Potom je BNB (Binance coin) a Solana, ktoré sú okolo 6%. A potom nič (stablecoiny nepočítam, to sú doláre, len v inej platobnej sieti – a sú dostatočne likvidné). Rozdelenie je teda také, ako to u sietí očakávame – nasleduje mocninový zákon.
Ak je dôležitá likvidita (čo je, hlavne ak prebiehajú po ceste zámeny za iné meny), vo svete kryptomien neexistuje lepšia možnosť ako Bitcoin – a Bitcoin je zároveň natívnou menou siete Lightning.
Absencia špinavých coinov
Ďalšou výhodou Lightningu je, že coiny nemajú históriu a teda sa nijak neodlišujú. V Lightningu neexistujú špinavé coiny, všetky sú rovnaké. To je pre platobnú sieť kľúčová vlastnosť, pretože musí fungovať na báze softvéru a mala by byť predikovateľná – nechceme platbu zabrzdiť preto, lebo sa niekomu po ceste nepozdávali coiny.
Programovateľnosť
Okamžité, lacné, “čisté” platby likvidným aktívom. Čo ešte? Programovateľnosť a multi-chainovosť. Multi-chainovosti som sa venoval v inom článku, tak sa poďme pozrieť na programovateľnosť. Vďaka nej dokážeme napríklad urobiť atomic swap – teda platbu medzi rôznymi chainami, ktorá buď nastane celá alebo nenastane vôbec.
Ak sa pozrieme na príklad s platobnou kartou – cestou nastalo viacero vecí. Mne odbudli eurá na bankovom účte, na burze došlo k výmene eur za usd, na inej burze došlo k výmene usd na pyg a na účte obchodníka sa objavilo presne to množstvo pyg, ktoré požadoval – celou cestou nikto nesmie tratiť na kurzových rozdieloch. Výmeny kurzov väčšinou stoja klienta od 0% do 1%, prijatie platby 1%-5% na strane obchodníka. Minimálne čo sa týka cien, máme čo inovovať. Poplatky však odrážajú aj to, čo všetko sa môže cestou pokaziť. Ak “vytvorenie platobnej cesty” a jej potvrdenie trvá príliš dlho, musí byť drahšia zmena meny, pretože čím dlhšie potvrdenie trvá, tým viac sa môže pohnúť kurz (a teda niekto dostáva opciu na kurz zadarmo).
Čím je platba menej atomická, tým vyššie poplatky za samotnú platbu (aj keby nedošlo k výmene jednej meny za druhú). Čo to znamená, že je atomická? Môže sa napríklad stať to, že prostriedky budú odčítané zo zostatku odosielateľa, ale neprídu prijímateľovi, alebo opačne. Môže sa stať to, že platba je síce potvrdená, ale nakoniec sa zistí, že došlo k podvodu s kartou a obchodník síce vydal tovar, ale peniaze v skutočnosti nedostane. Atomická platba znamená, že sa všetko udeje buď ako celok – teda žiadna časť transakcie nemôže nastať sama o sebe, ale buď sa udeje transakcia celá alebo sa neuskutoční žiadna jej časť.
Lightning samotný je atomický, ale vďaka programovateľnosti môžu byť atomické aj výmeny Bitcoinov cez Lightning za inú kryptomenu. Ak odišli Bitcoiny z mojej Lightning peňaženky, určite prídu Litecoiny adresátovi.
Ešte lepšia programovateľnosť
Programovateľnosť v Lightningu však ide oveľa ďalej. S René Pickhardtom sme v júni 2019 napísali paper o Lightning Discreet Log Contracts. Vďaka tejto technológii je možné do Lightningového kanálu uložiť v podstate “smart kontrakt”, ktorým si napríklad môžeme zafixovať kurz Bitcoinu voči doláru a efektívne tak v Lightning kanáli držať dolárový zostatok – dokonca aj s úrokom.
Tento nápad implementoval projekt 10101, vďaka ktorému ste mohli mať Lightning peňaženku s dolárovým aj bitcoinovým zostatkom naraz a mohli ste platiť dolárovým zostatkom. Projekt síce prešiel z priamych Lightning kanálov na zjednodušené DLC kanály, ktoré nevedia smerovať platby, ale platiť z nich pomocou HTLC a atomických swapov je technicky realizovateľné a relatívne jednoduché. Buď technológia atomických swapov alebo Lightning DLC nám umožní zrealizovať to, čo robia platobné siete založené na platobných kartách – prijímateľ platby chce zostatok v guaraní, ja mám nejaké eurá v lightning kanáloch. Prijímateľ teda vytvorí Lightning faktúru, ktorej súčasťou platby je atomická zmena satoshi na guaraní, ja ju načítam a zaplatím potrebné množstvo satoshi, ale to tak, že vystúpim z pozície, ktorá mi fixovala ich eurovú hodnotu. Zaplatil som “eurami”, prišli “guaraní”, ale cez sieť prešli iba satoshi, lebo nič iné cez Lightning network natívne prechádzať nevie. Bitcoin ako univerzálna mena (peniaze, digitálna vzácnosť) je okamžitý univerzálny platobný prostriedok, ale nemusíme s ním prísť do kontaktu, ak nechceme – a aj tak môžeme využívať jeho unikátne vlastnosti.
Backend softvér druhej generácie
Po Lightning peňaženkách prvej generácie prišli peňaženky druhej generácie ako Phoenix a Breez, ktoré zjednocujú Lightning a on-chain zostatok, automaticky otvárajú kanály, poskytujú swap služby a zjednodušujú používanie Lightningu na úroveň “chcem poslať” a “chcem prijať”.
To isté sa začína diať aj pri backend softvéri. Napríklad služba Greenlight od Bitcoinovej firmy Blockstream umožňuje nechať väčšinu zložitých operácií ako je synchronizácia blockchainu, hľadanie cesty a podobne na cloudovú službu (postavenú na node core lightning), ale všetky operácie s kľúčami ponechať na koncovom zariadení. Túto službu využíva projekt Breez SDK, vďaka ktorému je možné stavať Lightning aplikácie bez nutnosti bežať na koncovom zariadení celý Lightning uzol, ale ponechať užívateľovi suverenitu a vlastníctvo privátnych kľúčov.
Zaujímavým projektom je aj phoenixd, čo je pomerne maličký Lightning uzol, ktorý funguje podobne ako Phoenix peňaženka – prijímate a odosielate zo zjednoteného zostatku a phoenixd vám otvára kanály ak je to potrebné (za poplatok). Prijatie Lightning platby do vašej aplikácie je teda jedno jednoduché volanie API a služba phoenixd všetko spracuje za vás.
V prípade, že sa k tomuto prístupu dostane aj služba 10101 alebo jej podobná, nastane možnosť na Lightningu držať a cez Lightning posielať akúkoľvek hodnotu, aj keď v skutočnosti sa posielajú stále iba satoshi.
Záver
Vďaka spomínaným vlastnostiam Lightningu si myslím, že Lightning bude protokolom na vyrovnávanie (clearing) platieb dokonca aj v prípadoch, kedy jednotliví užívatelia nebudú chcieť použiť Bitcoin na samotnú platbu – či už ako príjemcovia alebo odosielatelia. Pre mnohé prípady použitia bude dokonca tento protokol pre užívateľov neviditeľný. Hráč nejakej online hry si kúpi nový oranžový skafander pre svoju postavičku, zaplatí to svojou kreditkou, fiat mena sa premení na Bitcoin, pošle sa cez Lightning predajcovi tohto oranžového skafandra, ktorý používa službu na prijímanie platieb s výplatou na účet v indickej banke v rupiách. Väčšinu cesty platba prejde atomickým platobným kanálom vo forme Bitcoinov, ale vstup a výstup môže byť úplne iná mena aj platobná sieť.
Lightning sa tak stane univerzálnym transportným systémom na prenos hodnoty kdekoľvek na planéte. Samozrejme, Bitcoineri by boli najradšej, aby všetky transakcia začínali a končili v Bitcoinoch. Pre takéto ideologické obmedzenie Lightning protokolu však nie je žiadny technický ani filozofický dôvod – ľudia si vyberajú peniaze, aké chcú a na aké sú pripravení – a tak trochu aké si zaslúžia.
New book: The Orange Flash of Freedom: Understanding and using the Bitcoin Lightning network
This text is part of my new book about Lightning network: The Orange Flash of Freedom.
Bitcoin has created digital gold – empowering many people to freely transact using a non-inflationary, non-manipulable hard form of money. The Lightning network builds upon this innovation, offering a fast, scalable payment network, that can be used to instantly send and receive money over the internet. It is a basic protocol of the internet, similar to e-mail for communication, or web for accessing information or apps. Lightning network can be as complex as you need it to be.