Lightning alapok

Peer-kapcsolatok és csatornák (channels)

  • A peer-ek az interneten (TCP/IP rétegen) keresztül egymáshoz kapcsolódó node-ok.

  • A csatorna két peer között létrehozott fizetési csatorna a Lightning Networkben.

  • Ahhoz, hogy bármely node-hoz csatornát nyissunk, előbb létre kell hozni a peer-kapcsolatot.

  • A nyilvánosan elérhető node-okhoz automatikusan lehet csatlakozni.

  • Ha egy node nem nyilvánosan elérhető, a peer-kapcsolatot a nem-nyilvános oldalról kell kezdeményezni, még akkor is, ha a másik peer nyitja a csatornát.

Fizetések fogadása

Ahhoz, hogy egy node fizetéseket tudjon fogadni a Lightning Networkben, a következőkre van szükség:

  • "bejövő likviditásra" (más néven remote balance), ami azt jelenti, hogy a csatorna másik oldalán, a másik peer-nél kell lennie satoshinak.

  • egy csatorna egy jól kapcsolt node-hoz, vagy közvetlenül a fizető peer-től érkező csatorna, hogy biztosítsuk az útvonal létezését.

A bejövő fizetés maximális összege a legnagyobb bejövő likviditású egyetlen csatorna által határozott meg (nem additív a csatornák között).

Csatornaméret és peer választása (channel size)

  • Nincs fix szám, de általánosságban nem ajánlott 200K-500K sats alatti csatornák nyitása.

  • A https://1ml.com/statisticsarrow-up-right oldalon láthatjuk a hálózaton lévő átlagos csatornaméretet:

    0.028 BTC = 2 800 000 satoshi, 2019. május 28-án.

  • A túl kicsi csatornákat nem lehet majd bezárni, ha az onchain díjak magasak. Ez sebezhetővé teszi a csatornát abban az esetben, ha a másik fél egy korábbi állapottal próbálja bezárni (így ellophatja a csatornában lévő pénzt).

  • Az elküldhető vagy továbbított fizetés maximális összege a legnagyobb egyirányú likviditású egyetlen csatorna által határozott meg (nem additív a csatornák között).

  • Egyetlen nagy csatorna egy jól kapcsolt és stabil node-hoz hasznosabb, mint sok kicsi.

  • Érdemes olyan node-okhoz csatlakozni, ahol az üzemeltető probléma esetén elérhető.

  • Válassz egy ismerős node-ot, vagy egyet a listából: https://1ml.com/node?order=nodeconnectednodecountarrow-up-right

  • Próbáld ki az egyedi ajánlásokat a nyilvános node-odhoz: https://moneni.com/nodematcharrow-up-right

Onchain Bitcoin-díjak

Tor node-ok

A Tor egy anonimizáló hálózat, amelyet a résztvevők IP-címének elrejtésére terveztek. Valamelyest hasonlít egy több ugrásból álló VPN használatához. Továbbiak: https://en.wikipedia.org/wiki/Tor_(anonymity_network)arrow-up-right

  • Egy Tor mögött futó Lightning node bármely másik node-hoz tud csatlakozni és csatornát nyitni.

  • A clearneten futó node-ok nem látnak a Tor mögé.

  • A Tor node-nak előbb peer-ként kell felvennie a clearnet node-ot ahhoz, hogy csatornát tudjon nyitni.

  • A csatorna létrehozása után a kapcsolat megmarad, de az újraindítás után kicsit több időbe telhet az újracsatlakozás.

  • Ha mindkét node egyszerre indul újra, vagy a clearnet node IP-címe megváltozik, amíg mindkettő offline, a peer-kapcsolatot újra kell konfigurálni manuálisan.

Fizetések továbbítása

  • Képzeljünk el egy B node-ot egy A-B-C soros kapcsolatban.

  • B csatornái úgy vannak beállítva, hogy A-tól bejövő kapacitás (remote balance), és C felé kimenő kapacitás (local balance) áll rendelkezésre.

  • Ha A fizetni akar C-nek, az 1 ugrást jelent az útvonalon.

  • A motorháztető alatt: A elküldi a satoshikat B-nek (a routing node-nak), aki továbbfizeti C-nek.

  • A csatornák kapacitása nem változik, csak mozog.

  • A teljes fizetés csak akkor mehet végbe, ha a másik irányból előbb sikeresen átküldik a hash image-et (üzenetet).

  • A folyamat "minden vagy semmi" -- a fizetés nem akadhat el útközben.

Privát csatorna (private channel)

  • pontosabb "be nem jelentett" (unannounced) csatornának hívni

  • nem jelenik meg a csatornagrafikonban (hálózati gossip)

  • fizetések küldésére hasznosabb

  • fizetések fogadásához route hint szükséges az invoice-ban:

    lncli addinvoice <amount> --private

  • a route hint a finanszírozási tranzakció azonosítója (felfedi a csatornát bárki számára, aki ismeri az invoice-t)

  • keysend fizetések fogadására is alkalmas, ha a route hint ismert

  • nem továbbít fizetéseket (kivéve, ha párhuzamosan egy nyilvános csatornával használják ugyanahhoz a node-hoz -- más néven shadow liquidity)

Lightning Network routing-díjak

Haladó és automatizált díjbeállítások: fees.md

Eltérően az onchain tranzakcióktól (ahol a díj a tranzakció által elfoglalt byte-okért jár), a Lightning Network díjai a továbbított összeghez kötöttek. Két díjkomponens létezik:

  • alapdíj (base_fee_msat). Az alapértelmezett 1000 millisat, azaz 1 satoshi díj minden továbbított fizetés után.

  • arányos díj (fee_rate), amely LND-ben alapértelmezetten 0.000001. Ez azt jelenti, hogy minden egymillió satoshi után további 1 satoshi kerül felszámításra.

Közvetlenül összekötött két peer közötti fizetéseknek nincs LN-díja.

A routing-díjak módosításához használd a következő parancsot: https://lightning.engineering/api-docs/api/lnd/lightning/update-channel-policyarrow-up-right

  • Az alapdíj csökkentése 500 msat-ra és az arányos díj növelése 100ppm/0.01%-ra: $ lncli updatechanpolicy 500 0.0001 144

  • az alapértelmezett beállítás (1 sat fizetésenként + 1 ppm/0.0001%): $ lncli updatechanpolicy 1000 0.000001 144

Fontos, hogy az olcsó csatornákra magasabb routing-díjat állítsunk be, hogy a kiegyenlítés vagy a bezárás költségeit fedezzék a továbbított fizetések. Ellenőrizd a peer-ek routing-díjait az 1ml.comarrow-up-right oldalon vagy az lndmanagearrow-up-right eszközzel.

Az egyes csatornák díjainak beállítása egyetlen kattintás az RTL alkalmazásbanarrow-up-right.

Őrtornyok (Watchtowers)

További információk és a beállítás módja: watchtower.md.

Csatornatartalék (channel reserve)

Általánosságban a csatornakapacitás 1%-a szolgál tartalékul. Ez azt jelenti, hogy bármely csatorna csak az 1% feletti összeget tudja küldeni, legfeljebb 99%-ig.

A BOLT2arrow-up-right specifikálja:

A csatornatartalékot a peer channel_reserve_satoshis értéke határozza meg: a csatorna összkapacitásának 1%-a az ajánlott. A csatorna mindkét oldala fenntartja ezt a tartalékot, így mindig van vesztenivalója, ha egy régi, visszavont commitment tranzakciót próbálna közvetíteni. Kezdetben ez a tartalék nem teljesülhet, mivel csak az egyik félnél van pénz; a protokoll azonban biztosítja, hogy folyamatos haladás történjen a tartalék elérése felé, és ha egyszer teljesült, fenntartja azt.

Részletesebb magyarázat a Bitcoin Design Guidearrow-up-right-ban.

Likviditás

Az alapvetések Alex Bosworth-tól: https://github.com/alexbosworth/run-lnd/blob/master/LIQUIDITY.mdarrow-up-right

a Bitcoin Design Guidearrow-up-right-ban

Bejövő likviditás létrehozása

Fizess Lightninggal és kapj onchain-t. Lásd az ajánláslistát: CreateInboundLiquidity.md

Kimenő likviditás létrehozása

Egyszerűen nyiss csatornákat, vagy fizess onchain-nel és fogadj Lightningon. Lásd az ajánláslistát: CreateOutboundLiquidity.md

Csatornák kezelése (channel management)

A csatornák ideálisan kiegyensúlyozottak, mindkét oldalon pénzzel, hogy maximalizáljuk a fizetések továbbításának képességét (kétirányú forgalmat tesz lehetővé).

Gazdag funkciókészletű eszköz az LND egyenlegek kezeléséhez. Kísérleti funkciójával személyes Telegram bothoz csatlakozhatunk, és értesítéseket kaphatunk a node tevékenységéről.

Automatizált menedzser Core Lightning (CLN) továbbítási node-okhoz.

Parancssori eszköz az LND node haladó csatornakezeléséhez, Pythonban írva.

  • Telepítés:

  • Az interaktív mód indítása (minden új indításkor):

  • A csatornák állapotának megjelenítése:

    $ lndmanage status $ lndmanage listchannels

  • Példa rebalance parancs:

    $ lndmanage rebalance --max-fee-sat 20 --max-fee-rate 0.0001 CHANNEL_ID --reckless

Ezzel a Python szkripttel egyszerűen kiegyenlítheted az LND node-od egyes csatornáit.

  • Telepítéshez futtasd az LND node terminálján:

    $ git clone https://github.com/C-Otto/rebalance-lnd

    $ cd rebalance-lnd

    $ pip install -r requirements.txt

  • Használat (további opciók a readmearrow-up-right-ban):

    $ python rebalance.py -t <channel_ID-where-to-move-sats> -f <channel_ID-from-which-to-move-sats> -a <amount-of-sats-to-be-moved>

  • Végezz megbízható onchain-offchain swap-ot.

  • Nyiss két oldalról finanszírozott, kiegyensúlyozott csatornát megbízható peer-rel a parancssor segítségével, amihez egy Lightning és egy onchain tranzakció szükséges.

Monitorozó szoftverek

Az RTL egy webes felhasználói felület a Lightning Network Daemon-hoz. Helyi hálózaton való használatra tervezték. HTTPSarrow-up-right vagy Torarrow-up-right kapcsolódási lehetőség áll rendelkezésre. https://medium.com/@suheb__/how-to-ride-the-lightning-447af999dcd2envelope

LND Lightning Node menedzser a böngészőben.

Mobil Bitcoin alkalmazás Lightning Network Daemon (LND) node-üzemeltetők számára. Android és iOS -- a REST API-n (8080-as port vagy Torarrow-up-right) keresztül csatlakozik.

Lightning tárca asztali gépre, iOS-re és Androidra -- távolról csatlakozhat az LND node-odhoz a GRPC interfészen (10009-es port) keresztül.

Hozd el a Lightning erejét a webre böngészőn belüli fizetésekkel és identitással, mindezt a saját node-oddal. https://medium.com/lightning-power-users/bitcoin-lightning-joule-chrome-extension-ac149bb05cb9arrow-up-right

Az lntop egy interaktív szöveges módú csatorna-megjelenítő Unix rendszerekhez.

Adminisztrációs webes felület az LND-hez gRPC-n keresztül. Node.js-sel, Express-szel és Bootstrap-v4-gyel épített. Teszteld itt: https://lnd-admin.chaintools.io/arrow-up-right

Azonnal telepíthető monitoring megoldás az LND node-odhoz Prometheus és Grafana segítségével. https://blog.lightning.engineering/posts/2019/07/24/lndmon-v0.1.htmlarrow-up-right

A Spark egy minimalista tárca-felület a Core Lightning (CLN)-hoz, elérhető weben, valamint mobil és asztali alkalmazásokkal (Android, Linux, macOS és Windows). Jelenleg technikailag haladó felhasználóknak szól, és nem egy mindent-egyben csomag, hanem inkább egy "távirányító" felület a Core Lightning (CLN) node-hoz, amelyet külön kell kezelni.

Lightning Network felfedezők

Források

Routing

Videók

Fórumok

Tanulás

Last updated