Select Page
Nezpracované transakce – získání informací o stavu kanálů a jejich analýza

Nezpracované transakce – získání informací o stavu kanálů a jejich analýza

Tak, máme za sebou lehký populárně teoretický úvod. Víme co jsou a k čemu jsou Uzly, k čemu slouží Kanály a proč je dobré mít kanály nastavené “tak akorát“. Tohle jsme potřebovali projít, abychom se dostali k důležité části naší série a to je “kde sakra zjistit jestli mi Uzel a Kanály fungují dobře“. Nechci se ve své příspěvku věnovat nástrojům typu RTL nebo ThunderHub. Jsou to velmi užitečné nástroje a získáte pomocí nich spoustu informací o provozu Vašeho uzlu. To nejdůležitější, z mého pohledu, však musíte hledat jinde. Bez nadsázky mohu říci, že analýza “UnForwarded transactions” je nejdůležitější činností správce uzlu. Jenom ta totiž poskytuje informace o tom, zdali Vaše kanály jsou nastaveny tak “akorát” .

Kde najít informace?

Všechny potřebné informace naleznete v logu vašeho Lightning Network démona. V Hydranode používáme distibuci CADR založenou na Debianu a jako démona Lightning Network máme LND. Logy lnd je uložen v /var/log/lnd-system-mainnet/bitcoin/mainnet/lnd.log. Abychom měli usnadněnu práci při vyhledávání informací, tak si logy také ukládáme do systému Graylog. Následující příklady tedy budou používat výstupy z log souboru i z Graylogu.

Jednoduché vyhledání o nezpracovaných požadavcích může vypadat například takto:

Grep z log souboru

root@HYDRAnode:~# grep "insufficient bandwidth" /var/log/lnd-system-mainnet/bitcoin/mainnet/lnd.log|grep WRN
2024-07-27 01:10:22.290 [WRN] HSWC: ChannelLink(9d122fe17a0bfca6072abc3d71ec5fff795dc8f66a667d49fc04899f6b8a9026:1): insufficient bandwidth to route htlc: 4049880183 mSAT is larger than 1770478261 mSAT
2024-07-27 01:10:58.962 [WRN] HSWC: ChannelLink(e3887802f7b3a07cdae12dbc0733bd0f6f8e84587c54c346e61b2db2f6b386fe:2): insufficient bandwidth to route htlc: 100287789 mSAT is larger than 0 mSAT
2024-07-27 01:23:29.002 [WRN] HSWC: ChannelLink(e3887802f7b3a07cdae12dbc0733bd0f6f8e84587c54c346e61b2db2f6b386fe:2): insufficient bandwidth to route htlc: 51874541 mSAT is larger than 0 mSAT
2024-07-27 03:21:08.698 [WRN] HSWC: ChannelLink(9d122fe17a0bfca6072abc3d71ec5fff795dc8f66a667d49fc04899f6b8a9026:1): insufficient bandwidth to route htlc: 2854584796 mSAT is larger than 1770478261 mSAT
2024-07-27 04:42:58.642 [WRN] HSWC: ChannelLink(da65b09580228d0afa8add0f5369453a8d58d38d6ea2f9ca4680cd3e406d00b8:1): insufficient bandwidth to route htlc: 9501696908 mSAT is larger than 2894394520 mSAT

Výpis z Graylogu

Výpis unforwarded transakcí pomocí GrayloguV obou dvou příkladech dostáváme totožné informace:

      • identifikace kanálu
      • velikost transakce požadovaná sítí
      • dostupná kapacita kanálu v odchozím směru

Spojením těchto informací spolu s velikostí poplatků nastavených na daném kanálu a pochopitelně s trochu delší historií monitorování (v tomto směru je užitečnějším nástrojem Graylog) poměrně jednoduše dospějete k závěrům zdali:

    • je velikost kanálu odpovídající velikostem transakcí, které uživatelé tvoří
    • jsou poplatky nastavené na kanálu optimální

Dvě základní špatné situace

Klasika, prostě krajní řešení. Oba dva případy znamenají neefektivní použití Vašich cených Bitcoinů nebo Satoshi. Oba dva jsou špatné, protože nepřináší efekt Vám ani síti.

Příliš nízké (nulové) poplatky

K této chybě dospějete při laborování s kanály patrně velmi rychle a možná si jí ani nevšimnete. Způsobíte ji tak, že otevřete kanál s nulovými nebo velmi nízkými poplatky (nulové poplatky jsou default hodnota v případě použití lncli) na některý z žádaných cílových uzlů. Síť tuto nabídku okamžitě zaregistruje, využije nabídku nižších poplatků a pošle přes Vás tolik transakcí kolik kapacita Vašeho kanálu zvládne. Výsledkem je, že balance kanálu je na straně druhého uzlu a vy přes ten kanál již žádnou transakci nepošlete. Zároveň jste přišli o poplatky za routing, protože v průběhu té bouře transakcí jste měli poplatku nula :-(. Pravděpodobnost, že by došlo k přesunu balance zpět na Vaši stranu je velice nízká. Museli byste najít obdobně atraktivní uzel a otevřít k němu kanál o podobné kapacitě.

Jednu pozitivní vlastnost tato situace má a tou je to, že jste získali pěkný testovací kanálna němž si můžete testovat výši poplatků, při které se již síť nebude pokoušet využívat Váš kanál pro další transakce (viz parsování logů výše).

Příliš vysoké poplatky

Opačnou situací (ale lépe řešitelnou) je otevření kanálu s příliš vysokými poplatky. V takovém případě síť vždy najde pro transakce levnější cestu a přes Váš uzel (resp. kanál) nebude transakce posílat. Pokud byste situaci nesledovali a kanál nechali v takovémto stavu, tak výsledek je stejný jako v předchozím případě. Mrtvě jste alokovali Vaše cené Bitcoiny a Vy nevyděláváte a síť nemá z Vaší práce prospěch.

Naštěstí se dá tato situace řešit lépe než v předchozím případě. Postupným snižováním poplatků dosáhnete toho, že síť začne Váš kanál akceptovat a využívat. Buďte však opatrní. Příliš rychlé snižování může způsobit razantní překročení akceptovatelné hranice a síť může Vaši kapacitu velmi rychle využít a dostat se do předchozího stavu. V nastavování poplatků se hodně řiďte pořekadlem “spěchej pomalu”.

Nějaká rychlá a užitečná rada?

Systém LightningNetwork je velmi dynamický a tudíž asi žádná rada dlouho nevydrží. Tak snad pouze tu, že aktuálně se forwarding transakcí zastaví někde při poplatcích 5500 SATs/ppm. Vyšší poplatky (pokud chcete transakce routovat) tedy nemá smysl nastavovat.

Stejně jako v předchozích případech si Vás dovoluji požádat o podporu. Pokud Vás informace v článku zaujaly, můžete mě podpořit pár SATy. Stačí kliknout na ikonu.

Používání sítě Lightning Network – Kanály

Používání sítě Lightning Network – Kanály

Jak jsem již uvedl v předchozím textu Používání sítě Lightning Network – Nody, nechci se věnovat příliš technickému popisu LN. Takových textů je již publikováno spousta a jeden hezký v češtině můžete najít zde. Mým cílem je hlavně se podívat na Bitcoin a LightningNetwork očima uživatele, správce a provozovatele Nodu. Hlubší vývojářské pohledy a analýzy ponechám povolanějším.

Dneska se budeme věnovat kanálům. Kanály slouží k propojení jednotlivých bodů v síti Nodů a jsou komunikačními neurony sítě. Uzel bez kanálu není k ničemu. V průběhu své praxe provozovatele a správce jsem si uzly rozdělil (možná neodborně) do následujících kategorií:

  • Testovací
  • Zbytečné
  • Malé
  • Velké
  • Akorát

Testovací kanály

Jsou speciální podkategorií v kategorii Zbytečné. Každý z nás takový kanál použil a mnozí z nás je stále používají. Slouží k otestování základních funkcí práce s kanály, ale díky své velikosti (10 – 20kSATs) nemají v síti prakticky význam. Jsou, díky testovacím účelům, často tvořeny mezi našimi vlastními uzly a tím pádem nemají ani z hlediska routování šanci získat nějaký zvláštní význam. Vzhledem k poplatkům, které zaplatíte za zřízení těchto kanálů, jsou také poměrně drahé. Inu, znalosti nikdy nejsou zadarmo😉…

Zbytečné

Horším případem testovacích kanálů jsou kanály Zbytečné. Tyto kanály otevřou správci uzlů, kteří nedostatečně nastudovali síť a její chování, a otevřou malý kanál (cca 50 – 100kSATs) k některému z významnějších Nodů a očekávají, že kanál bude funkční. Jsou přesvědčení, že pomohli budování robustnosti sítě. Většinou se dočkají pouze zklamání, protože celé týdny se v jejich kanálu nic neděje a pouze zbytečně spálili poplatky za otevření kanálu a alokovali prostředky do mrtvé, nehýbající se hmoty.

Malé

K tvorbě malých kanálů většinou dojde opět nepochopením funkce LN a kanálů. Správce uzlu má potřebu poslat jednu či dvě platby a otevře si kvůli tomu kanál s potřebnou kapacitou. Po uhrazení faktury je kapacita kanálu přetlačena na vzdálenou stranu kanálu, a vzhledem k tomu, že se neočekávají žádné transakce, které by vyrovnaly zůstatek kanálu, je takový kanál většinou po čase uzavřen vzdálenou stranou, která potřebuje on-chain hotovost na vytvoření jiného kanálu.

Druhou variantou, jak může dojít k vytvoření malého kanálu, je nedostatečná analýza transakcí a požadavků sítě.

Velké

Řešení velkých kanálů se může zdát zbytečné. Jsou velké, zvládnou jakékoliv požadavky, tak proč se trápit? Pokud Vás netrápí problémy s Vaší likviditou a nemáte čas se věnovat optimalizaci efektivity kanálů a tím pádem efektivity sítě, pak je Váš přístup pochopitelný. Pohled odpovědného správce však říká, že utopit jakékoliv prostředky jako mrtvou hmotu, která se nehýbe, je špatné. Zdroje musí být efektivní, musí pracovat a generovat zisk. Proč mít otevřený kanál o kapacitě 4 BTC, když největší transakce, kterou kdy přenesl, je 0,1 BTC? Není v takovém případě efektivnější mít 4 kanály o kapacitě 1 BTC a zprostředkovat propojení více nodů? Získám více transakcí a pochopitelně více feeček. A o efektivitu by nám mělo jít především.

Akorát

Postupně jsme se dostali až ke kanálu, který respektuje požadavky sítě, je balancován podle typu Vašeho Nodu a feečka má nastavena adekvátně toku transakcí, které síť generuje. Cesta k tomuto stavu není jednoduchá a dostane Vás tam pouze spousta práce, analýz a studia.

V předchozích odstavcích jsem se pokusil popsat různé varianty stavu kanálů, jak mohou na základě mé zkušenosti nastat. Netvrdím, že pokrývám všechny stavy, které mohou v myslích uživatelů nastat. Mně ale vyhovuje a dokonce si dovolím na základě tohoto rozdělení poskytnout pár doporučení:

  • Pokud jste kapitálově silní a provozujete Velké kanály, doporučuji optimalizovat. Mít alokovány zbytečné zdroje není dobré pro žádnou lidskou činnost, tedy ani pro LN.
  • Pokud provozujete Malé a Zbytečné kanály, doporučuji je zrušit, nejsou totiž ani Vám, ani síti k ničemu. Raději, pokud chcete, aby Vaše HODL Bitcoiny něco vydělávaly, se domluvte s nějakým větším uzlem a pomozte mu v navýšení kapacity jeho kanálů. V Hydranode máme za tímto účelem zřízen investiční program SuperHODL (podrobněji někdy později nebo na dotaz) a o poplatky vzniklé z forwardingu transakcí se s investory dělíme.
  • Na téma základních nástrojů a postupů analýzy kanálů ještě napíšu zvláštní kapitolu tohoto seriálu. Zatím mi klidně pište dotazy na bcoufal@hydranode.net. Opakující se a důležité dotazy se pokusím zpracovat do nějaké formy FAQ a zveřejním je jako jednu z kapitol tohoto seriálu.

Co dál?

Máme za sebou taxonomii kanálů podle našich pětiletých zkušeností správců poměrně velkého node. Vám, pokud zrovna začínáte, nezbývá než do toho skočit a začít se učit praxí. Aktuálně jsou poplatky příznivé, a tak je správný čas na otevírání kanálů. Předem Vám prozradím, že pokud budete chtít zkoumat Lightning Network i z hlediska forwardingu transakcí, potřebujete minimálně dva kanály.

Kam ty kanály ale otevřít? To bude do budoucna jedna z vašich základních otázek, na kterou bohužel neexistuje jednoduchá odpověď. Síť je dynamická, vyvíjí se a každý den je jiný. Některé uzly s Vámi nebudou chtít komunikovat, jiné se Vám nebudou zdát vhodné. Abych Vám zjednodušil cestu, tak Vám nabízím jako jeden uzel Hydranode. Základní parametry a popis našich partnerů najdete na uvedeném odkazu. Jsme v otázce kanálů liberální a na partnerské uzly máme pouze jeden (at to bezpečnostní) požadavek. Jeden uzel, jeden kanál. Další kanál už musíte hledat sami. Server 1ML se může stát jedním z Vašich prvních zdrojů informací.

Až budete mít první dva kanály, můžeme začít analyzovat logy Lightning démona. Ale o tom zase příště.

Pokud Vás informace v článku zaujaly, můžete mě podpořit pár SATy. Stačí kliknout na ikonu.

Používání sítě Lightning Network – Nody

Používání sítě Lightning Network – Nody

Nechci se pouštět do dalšího detailního popisu fungování Lightning Network. Takových textů je již publikováno spousta a jeden hezký v češtině můžete najít zde. Mým cílem je hlavně se podívat na Lightning Network očima začínajícího uživatele, správce a provozovatele Nodu.

V první řadě chci ale poděkovat těm čtenářům, kteří kliknutím testují “Bobův donation button” v závěru článků a poskytují mi tak reálnou zpětnou vazbu o čtenosti článku. Ještě více děkuji těm z Vás, kteří nabízenou možnost podpory využijí a ocení snahu těmi pár SATy dotace. Klidně k SATům můžete přidat nějaký dotaz nebo komentář.

Lightning Network, jak víme, je složena z uzlů (nody) navzájem propojených kanály. V této kapitole se budeme věnovat uzlům a pro účely dalšího popisu si je můžeme rozdělit do dvou kategorií:

  • koncové
  • transportní

Koncové uzly

Mezi koncové uzly můžeme v současné době zařadit asi většinu uzlů v síti. Tyto uzly jsou svými tvůrci primárně designovány pro uspokojení vlastních platebních potřeb a i když mají napojení na více jak jeden další uzel, tak tato propojení nejsou dělána s účelem poskytnout služby svého node a kapacitu svých kanálů pro routing transakcí ostatních uživatelů. Koncové uzly si jejich majitelé připojí k uzlům s nimiž si nejčastěji vyměňují transakce, případně k nějakému vhodnému transportnímu uzlu.

Podrobněji dále můžeme tyto uzly rozdělit na:

  • platící uzly slouží jejich majitelům pro platby v síti LN. Troufnu si tvrdit, že tyto uzly ve velmi krátké době skončí, protože v současné době existuje velmi mnoho aplikací peněženek, že udržovat si uzel pouze kvůli placení mi přijde jako opravdu zvláštní luxus. Nicméně každý z nás někdy musel začít a platící uzel je velmi dobrý způsob jak do tajů LN začít pronikat.
  • inkasující uzly jsou mnohem důležitější součástí sítě. Pro přijímání občasných plateb sice nepotřebujete mít za každou cenu 24x7x365 online připojený nástroj, ale pokud chcete provozovat například eshop, tak se nepřetržité možnosti přijímat platby neobejdete. Zde už se dostáváme k dilematu, zdali si pořídit a starat se o uzel svůj nebo využít komerčních poskytovatelů služby jako je například Hydranode.

Transportní uzly

Transportní uzly jsou jejich tvůrci navrhovány především proto aby sloužily k propojování ostatních uzlů. Ve zjednodušeném slova smyslu můžeme říci, že síť (infrastrukturu) Lightning Network tvoří především uzly transportní. Jejich význam pro síť se bude zvyšujícím se počtem a objemem transakcí zvyšovat. Dovoluji si přirovnat dnešní stav k situaci adopce Internetu. Páteřní infrastruktura Lightning Network bude součástí tvrdého a velmi konkurenčního byznysu, ve kterém budou vítězit ti vytrvalejší a investičně silnější.

Kam patří Hydra?

Hydranode je od začátku koncipována jako komerční služba pro koncové a inkasující klienty. Touto filosofií se od začátků řídíme při navrhování a managementu našich kanálů.
Zároveň si ale v Hydře velmi jasně uvědomujeme odpovědnost komerčních subjektů za fungování sítě jako celku a snažíme se využít naše kapacity pro budování robustních a spolehlivých transportních uzlů.

Udělali jsme si krátkou rekapitulaci typologie uzlů v síti Lightning Network a za 14 dní budeme pokračovat typologií kanálů.

Pokud Vás informace v článku zaujaly, můžete mě podpořit pár SATy. Stačí kliknou na ikonu.

Management kanálů v síti Lightning network

Management kanálů v síti Lightning network

Rozhodl jsem se napsat sérii článků na téma forwarding transakcí v sítích Lightning Network. K tomu mě inspirovala diskuse na sociální síti, kde se jeden z účastníků opřel do nodů, které mají na některých svých kanálech nastaveny vysoké poplatky. Ten člověk evidentně nechápal provozování Bitcoin nodu a nodu v síti Lightning Network jako službu pro budoucnost světa (možná to zní pateticky, ale já to tak vnímám), ale spíše jako hračku pro osobní použití, kterou po chvíli odhodí a zapomene na ni. V souvislosti s řízením uzlu se zmíním o možnosti pro milovníky strategie HODL, kterou v Hydře interně nazýváme SuperHODL.

V první řadě chci ale poděkovat těm čtenářům, kteří kliknutím testují “Bobův donation button” v závěru článků a poskytují mi tak reálnou zpětnou vazbu o čtenosti článku. Ještě více děkuji těm z Vás, kteří nabízenou možnost podpory využijí a ocení snahu těmi pár SATy dotace. Klidně k SATům můžete přidat nějaký dotaz nebo komentář.

Dále se pokusím držet následujících témat, která mě momentálně napadají ohledně problematiky Lightning Network. Nemohu ale vyloučit, že na základě zpětné vazby od čtenářů dojde ke změnám.

Co bych rád probral:

Cílem mé série článků je ukázat důležitost správného managementu kanálů pro bezproblémové fungování sítě Lightning Network. Management kanálů vyžaduje znalosti a úsilí, které je nutné zaplatit. Zároveň ale chci zdůraznit, že se jedná o dobrý business model.

Administrátoři uzlů v síti Lightning Network mějte na paměti, že vaše práce je důležitá protože Bitcoin, bez velkého patosu mohu říci, přináší naději a stabilitu do našeho světa. Važte si své práce a uvědomte si, že pro dlouhodobou stabilitu ji musíte vykonávat kontinuálně a dlouhodobě. Vaše práce má tedy svoji cenu. Respektujte ji.

Pokud Vás některý z mých článků zaujme, budu rád za každou drobnou radu či přímou finanční podporu.

I sold it. How do I get my money?

I sold it. How do I get my money?

I sold it. How do I get my money?

In the first article “Do you want to make instant payments in BTC? It’s easy.“, we showed how easy it is for a customer to prepare for the possibility of Bitcoin payments. In the second “Basic shopping – basic terminal” we showed how easy it is to start using payments in your store or business. Now we’ll take a look at what a merchant needs to transfer sales to their wallet

It’s not complicated, but we all understand that safety comes first. And at the moment, it’s about money.

First, make sure you have the Signal app installed on your phone. We consider this app currently be the most secure in the field of communication encryption and access authentication. That’s why we use it to authenticate your identity and communicate with your Hydra operator.
This is known professionally as 2FA authentication.

After installing the Signal app, save your signal number to your profile in Management. Please do not forget the international area code. This is important! Once we have Signal configured, we can start collecting sales.

Here is My profile tab
Here you put your signal number

Contact the Hydranode operator (signal number +421948000172) to request a payout. You will receive a report for your Store/Stores via email (you use it to log in the Management and it is also listed in My profile). You check the report and if everything agrees, send the operator an invoice from your wallet via Signal. If the report and invoice amounts match, the appropriate amount will be sent to your wallet within a few minutes.

That’s all. If you like this how-to press the Pay button and send some SATs to autor.