Lightning Network: Mi fán is terem?

Az elmúlt egy hetet (karácsony ide, karácsony oda) a bejglizabáláson és a nagycsaládi ebédelésen túl lényegében a Lightning Networkkel töltöttem. Maga a Lightning Network (továbbiakban LN) egy olyan jövőkép, amivel kapcsolatban perpillanat két táborra szakad a közösség: vagy nagyon imádja és az egyetlen tiszta jövőt látja benne (én személy szerint ugye ezt a tábort erősítem), vagy nagyon utálja és csak a népbutítást és a nagybankok hatalomátvételét vizionálja ennek kapcsán. A két csoportban – tisztelet a nagyon kicsi kivételnek -, egyetlen dolog közös: lényegében fogalmuk sincs arról, hogy mit is imádnak, avagy éppen utálnak. A brutálisan szélsőséges politikai megosztottság nem véletlen, hiszen az LN egy olyan szintű protokollt hoz el, ami nagyon erősen rajzolhatja át az erővonalakat a Bitcoinhoz kapcsolódó üzleti vállalkozások között. Ezért ezen körök mindent megtesznek azért, hogy minél inkább befolyásolják a közösségeket. A két kezemen sem tudom megszámolni, hogy csak az elmúlt egy hónapban mennyi olyan megtévesztő propagandavideót és leírást láttam/olvastam, ami a nagybanki befolyásolástól egészen a decentralizáció teljes összeomlásáig mindent belevizionált a Lightning Networkbe.

Mindenképp fogok a közeljövőben egy mythbuster cikket is írni ezekről a bizonyos politikai agymenésekről, de ebben a cikkben most arra koncentrálnék, amit – reményeim szerint – legtöbben vártok: Mi is az az LN és miként is működik? Az elmúlt fél évben már többször is beígértem ezt a cikket, de eddig nem volt elég időm, hogy a mélyére ássak. Szerencsére az ünnepi hangulat azonban megteremtette az ehhez szükséges időt is.

Kezdeném talán egy nagyon gyors fogalomhatározóval. Ennek első pontját lopnám is a tegnapi postomból:

  • Az LN a korábban már sokat emlegetett layer2-es skálázási implementációja a Bitcoin (és Litecoin) protokollnak, ennek volt az egyik fontos előfeltétele az a bizonyos SegWit protokoll implementáció (Nem a SegWit2X… az egy másik történet…)
  • Az LN nodeok egymás között egy- vagy kétirányú csatornákat hoz létre, mely csatornák között routing protokollt működik. Nagyjából úgy érdemes elképzelni az LN-t mint magát az interneten, csak itt adatkapcsolatok helyett pénzügyi műveletekre épül rá a protokoll. Az adatok helyett/mellett itt pénz áramlik minden aktív csatornán.
  • Mindez úgy, hogy a csatorna változása nem kerül onchain propagálásra, tehát nincs confirmation várakozás, nincs mempool és nincs mining fee sem.
  • Az LN nem bitcoin specifikus történet. Bármilyen blockchainre ráhúzható, bár a szó szerinti implementációnak szükséges előfeltétele a SegWit, de “from-scretch” ez megkerülhető.
  • A jelenlegi tervek és állapot szerint 2018 igen korai szakaszában az LN elérhető lesz az éles blockláncokon is. Jelenlegi információk között a Litecoin (LTC) fog kapni teljes értékű LN-t (Litening néven fog ott futni), de perpillanat azt sem lehet kizárni, hogy a Bitcoin hálózaton is egyszerre fog indulni az éles szolgáltatás.
  • Apró érdekesség, hogy a LND egyik vezető fejlesztője (@roasbeef) néhány hete már nyitott egy kisebb payment csatornát a Bitcoin mainneten teszt jelleggel, ahol már valós Bitcoinnal “tesztelnek”. Szóval ennyire a kiadásközeli állapotban van az LN.
  • A LN nem egy termék, hanem egy specifikáció, aminek számos implementációja ismert. Ezek közül a legnagyobb felhasználói bázis az lnd, eclair és a c-lightning köré összpontosul. Ezek kompatibilitását folyamatosan tesztelik (-link-), mely tesztek november közepe óta már 100%-os kompatibilitást mutatnak.
  • Az LN filozófiája nagyon egyszerű: Építs fel egy vagy több LN node/hub felé payment channelt, amiken keresztül már off-chain tudsz költekezni és/vagy pénzt fogadni, sőt ha két irányú csatornát építesz fel, akkor akár fogadni is tudsz azon keresztül bitcoint.
  • Az LN implementálásához a stabil node kódokon kívül nem kell SEMMI. Nem kell se hardfork, se pedig softfork. A protokoll működtetéséhez szükséges minden előfeltétel ott van már az összes Bitcoin node kódbázisában.

Na ez így leírva nagyon egyszerű és még talán logikus is, de… mi a francot is jelent ez??? Nézzük mire jutottam:

Folytatás…