Az elmúlt két hónapban igen sokat foglalkoztam és írtam is a Lightning Networkről. Talán időszerű most röviden összefoglalnom az eddigi tapasztalatokat, mivel arra jutottam, hogy egy rövid időre félre rakom a témát és az LN helyett egyéb technológiákra fókuszálok.

Ami mostanában ismerkedik a Bitcoinnal, annak egy nagyon gyors összefoglaló minderről.

A Lightning Network lényege, hogy payment channeleken keresztül tegye lehetővé a blockchain alapú kriptopénzek skálázási (párhuzamos tranzakciószám) és egyéb (pl. privacy) problémáinak orvoslását. Akit ennél mélyebben érdekel, annak belinkelem a téma kapcsán készült cikkemet, aminek alapját a január elején tartott Blokklánc Műhelyes előadásom adta. (-link-)

Kezdeném is gyorsan egy rövid körképpel:

  • LND (Go), Eclair (Java) és C-Lightning (C++) a három népszerű és többé kevésbé teljes LN implementáció. Ezek közül személy szerint az LND-t teszteltem aktívan és némileg érintőlegesen a C-Lightninget, viszont a community feedback alapján mindhárom nagyjából ugyanott tart. Apropó C-Lightning… Egyszerűen nem tudom felfogni, hogy miért döntött úgy a Blockstream, hogy a saját LN implementációját C++-ban fejleszti. Elég csak belenézni a c-lightning support ticketekbe, hemzsegnek a “segfault” bejelentések… Értem én, hogy menő dolog C++-ban fejleszteni, de ma már azért lenne bőven olyan alternatív nyelv, ami lényegesen üzembiztosabb mission-critical és nyílt-internetes security kihívásokra és nem Java-nak hívják (lásd Rust vagy Scala). Nincs persze semmi bajom a C++-szal, közel 10 évet programoztam server-kliens módú elosztott környezetben C++ alapokon, de ha ma kellene tennem, akkor biztosan nem a C++-ot választanám, ahogy arra is igen komoly pénzt tennék, hogy ha ma böffenne fel Satoshinak, hogy kéne programozni egy Bitcoin nodeot, akkor ő sem C++-ban kezdené már el…
  • A Lightning Network hihetetlen módon, de tényleg működik, méghozzá kifejezetten stabilan. Azonban mindennek ellenére egy deszkamodell, amit a fejlesztők nagy része egyrészt kifejezetten nem ajánl éles működésre, sőt mi több semmilyen támogatást sem nyújtanak ehhez.
  • A támogatás hiánya még önmagában nem is lenne krízis, hiszen ha valaki eljut odáig, hogy LND-t futtasson, akkor csak rendelkezik némi szaktudással ehhez. Azonban ennél sokkal komoly érvágás, hogy az aktív fejlesztés miatt a kód folyamatosan változik és igen gyakran előfordul, hogy a kód olyan szinten változik, ami miatt a korábbi wallet vagy channel.db fileok invaliddál válnak. Szóval éles környezetben egy upgrade felér egy orosz-rulettel.
  • Márpedig upgradelni kell, ha teszik, ha nem. Ha az ember nem követi a kódot, akkor hamar olyan helyzetbe kerülhet, hogy inkompatibilissé válik számára a hálózat nagy része.
  • Mivel semmi garancia nincs arra, hogy egy kód upgrade után fog bármi is működni, ezért minden egyes upgrade előtt le kell bontani az összes csatornát, kiszedni az éles bitcoinokat egy átmeneti tárcába, majd az új lnd-nél nulláról építeni a fundingot. Az elmúlt majd három hónapban ezt eddig 3x játszottal el, és mindhárom alkalommal beragadt a funding egy része (forced státuszba került). A legutóbbi ilyen beragadás ~2 hete történt, amikor is sikerült beragasztanom 0.08BTC-t, amik azóta is lockolva vannak. Ráadásul egy szoftver hiba miatt ha jól látom, akkor idén szeptemberig lockolva is lesz neki a nagy része…
  • Ezek a beragadások miatt volt már olyan, hogy párhuzamosan 3 különböző LND-t kellett futtatnom, hogy működjön is a “biznisz” és hozzá tudjak később férni a feloldódó fundingokhoz.

Apropó biznisz: Nyilván ezzel lepek meg legkevésbé bárkit is, de egyelőre azért inkább egy nagy játék a Lightning Network, mintsem egy hatalmas biznisz. A channel funding tranzakciók díjai miatt még mindig durván mínuszban van az eddigi egyenleg, holott azért amikor már 30 csatornám volt kiépítve, akkor csordogált át bőven kisebb értékű tranzakció a nodeomon. Persze ne legyünk telhetetlenek… Egyelőre az egész LN téma még egy nagy kutatás-fejlesztés.

A Lightning Network létjogosultsága kapcsán egyébként egészen pontosan az történt, amit január elején prognosztizáltam: A mempool varázslatos kiürülése erősen elvette a fókuszt a layer2 implementációkról, így perpillanat ott tartunk, hogy továbbra is egy igen szűk tech csoport foglalkozik az egész témával. Erre enged következtetni az is, hogy bár a nodeok száma az elmúlt hetekben is folyamatosan növekszik (hamarosan átlépi az 1000-et is!), de a nodeok közötti csatornák és a csatornák kapacitása immáron lassan egy hónapja stagnál…

A jelenlegi adaptációs ütem, szolgáltatások megjelenése és fejlesztői tervek fényében azt gondolom, hogy fél év múlva lesz időszerű újra elővennem a Lightning Network témát, hacsak ezen idő alatt nem történik valami olyan átütő erejű esemény, ami miatt újra prioritást nyer.

 

Source: Variance

%d bloggers like this: