Obnovit stránku

Bitcoin v prostředí vysokých poplatků (TIPY A TRIKY)

Aktualizováno • Autor: Juraj Bednár

Čas od času poplatky na Bitcoinové síti stoupnou a transakce mohou stát až desítky dolarů. Je to dáno limitem Bitcoinové sítě na velikost bloku. Pohledů na tento fakt je několik – od toho, že Bitcoin je na první vrstvě s takovými poplatky nepoužitelný, a nesplňuje tak vlastnosti peer to peer elektronické hotovosti, až po to, že poplatky jsou stále nízké a v budoucnu nebudou stačit jako odměna těžařům na zabezpečení sítě dostatečným hashrate. V tomto článku se podíváme na různé možnosti, co můžeme dělat v prostředí vysokých poplatků.

TX fees too damn high

Bitcoin v prostředí vysokých poplatků (TIPY A TRIKY) – OBSAH

  1. Jaké jsou momentálně poplatky?
  2. Síť Lightning network
  3. Liquid
  4. Ecash – Cashu a Fedimint
  5. Závěr

Jaké jsou momentálně poplatky?

Abychom věděli, jaký máme dát poplatek, v první řadě musíme vědět, jak poplatky fungují a jak je síť zatížena. Začněme tedy otázkou, jak funguje trh s poplatky v Bitcoinovém blockchainu. Vzácným zdrojem v blocích je tzn. blockspace, tedy kolik bajtů se vejde do bloku. Tento limit je momentálně nastaven na 1 MB, i když ne všechny bajty se počítají stejně (detailní fungování je nad rámec tohoto článku, ale v zásadě některé bajty tzv. witness dat mají slevu). Nově vznikající transakce přicházejí do tvz. mempoolu, který si udržuje každý uzel a je to seznam dosud nepotvrzených transakcí. Ty mohou být za jistých okolností, předtím než jsou vytěženy, nahrazeny jinými transakcemi. Těžař se podívá do svého mempoolu a vybere transakce tak, aby jeho odměna byla co nejvyšší. Hezkou vizualizací mempoolu je například stránka mempool.space.

Vizualizace obsazenosti mempoolu ze stránky mempool.space. Vizualizace ukazuje v tomto případě dva týdny.

V grafu vidíme množství jednotlivých transakcí spolu s „jednotkovým poplatkem“, tedy kolik sat na vB transakci platí. vB je zkratka virtuální bajtu a započítává zmiňovanou slevu. Výše na grafu jsou transakce, které platí vyšší poplatek, a každý nový blok „ukousne“ z grafu – většinou svrchu, ale nemusí tomu tak být, protože poplatek za transakci může zaplatit buď jiná transakce, nebo některé minery lze zaplatit i mimo blockchain. Je tak možné „ukousnout“ i odjinud než svrchu, ale ve většině případů je to právě svrchu. Pokud vidíme strukturu tohoto grafu, vidíme, kolik je v tomto konkrétním mempoolu nepotvrzených transakcí a jak by trvalo, než by mineři vytěžili naši transakci.

Množství transakcí v závislosti na poplatku. Zvýrazněný rozsah 30–40 sat/vB má 18,08MvB a je 22,21 MvB od „vrchu“.

Pokud bychom například poslali transakci s poplatkem 30 sat/vB, nacházíme se od vrchu 22.21MvB, což znamená, že pokud by nepřibývaly další transakce, které zaplatí takový nebo vyšší poplatek, trvalo by její potvrzení až 23 bloků, což je v průměru 230 minut neboli necelé čtyři hodiny. Problém je, že transakce budou přibývat, protože mnozí aktéři chtějí zaplatit za transakci poplatek, který způsobí potvrzení v dalším bloku. Toto stránka mempool.space vizualizuje také na hlavní stránce.

Doporučené poplatky ze stránky mempool.space na základě priority. Chcete-li potvrzení v následujícím bloku, měli byste zaplatit aspoň 52 sat/vB.

Kolik tedy zaplatit? Není to jednoduchá otázka, protože známe jen aktuální situaci v mempoolu a nevíme, jak se bude vyvíjet v čase. Existují různé algoritmy, pomocí kterých lze předpokládat potvrzení do nějakého času, ale žádný není dokonalý. Kromě algoritmu mempool.space existují i jiné algoritmy, jeden z nich naleznete například na stránce light.oxt.me

Mimochodem, pod doporučenými poplatky jste si mohli všimnout i částky v dolarech. Ta samozřejmě závisí na hodnotě Bitcoinu, ale je určena pro „běžnou“ transakci, která má 140 vB. Nezávisí tedy na částce, kterou posíláte, ale na velikosti transakce v bajtech.

Představte si, že se vám stane to, co jednomu mému kamarádovi – přijímal dobrovolné příspěvky na svůj projekt (i) přes on-chain transakce. To znamená, že měl desítky transakcí na některé z jeho adres. Pokud by chtěl tyto příspěvky nyní všechny poslat na nějakou adresu, měla by transakce klidně i několik kvB. Pokud by například chtěl přeposlat 100 dobrovolných příspěvků do hardwarové peněženky nebo do lightningu, může mít transakce například 17 kvB. 17 000 x 50 = 850 000 sat poplatek.

Proto je při on-chain platbách z času na čas dobré konsolidovat transakce – tedy přeposlat všechny platby sám sobě v čase, kdy jsou nižší poplatky.

Double spend, resp. Replace by Fee

Pokud jsme poslali transakci s nízkým poplatkem, můžeme jednoduše provést novou transakci. Tedy mineme stejné coiny dvakrát („double-spend“). V Bitcoinu je mechanismus proti dvojitému minutí stejných coinů právě mining, čili dokud transakce není potvrzena, mělo by to jít.

Naráží to však na několik praktických problémů. Prvním z nich je fakt, že ne každá peněženka umožňuje takovou double-spend transakci jednoduše vytvořit ze svého rozhraní. A pokud vidí transakci, kterou jste v peněžence vytvořili, nemusí vám jednoduše dovolit vytvořit jinou transakci s vyšším poplatkem.

Tento problém je řešitelný například tak, že privátní klíče importneme do jiné peněženky. Pamatujte, že Bitcoiny ve skutečnosti nejsou ve vaší peněžence, peněženka je ve skutečnosti klíčenka – obsahuje privátní klíče, díky kterým můžete vytvářet platné bitcoinové transakce. Pozor, nedělejte to s Lightning peněženkami, pokud si nejste jisti, co děláte.

Náhradní transakci můžeme provést pouze pokud to peněženka podporuje. Kromě toho existuje speciální příznak transakce, který se jmenuje „replace by fee“. Pokud si transakci vyhledáme pomocí block explorera na blockstream.info, uvidíme, zda je u transakcí povolen Replace by fee:

Při pohledu na transakci v některých block explorerech můžete vidět, zda mají povolený flag replace by fee.

Tento příznak je poněkud kontroverzní a není závazný. Říká to, zda chceme, aby bitcoinové uzly přijaly náhradní transakci s vyšším poplatkem, pokud již mají ve svém mempoolu jinou transakci, která utrácí původní coiny. Měla to být ochrana proti double-spend útokům předtím, než je transakce zařazena do bloku. Pro minera je však podstatné, zda je transakce platná a je motivován těžit transakce s nejvyšším poplatkem a nějaké příznaky jej nemusí zajímat. Zároveň nelze určit, zda těžař tento příznak respektoval, protože to, co byla první transakce, se určuje právě zařazením do bloku, před potvrzením neumíme takovou informaci ověřit.

Stalo se tedy to, že mnoho uzlů (včetně mého) běží Bitcoinovou nodu s příznakem, který cíleně ignoruje tento příznak a povolí nahrazení transakce takovou, která zaplatí vyšší poplatek. Je to jednak proto, aby tvůrci aplikací nežili v omylu, že Bitcoinová síť chrání uživatele před double spend útoky jinak než tažením. Zejména je to však proto, že situace, že je příliš nízký poplatek a uživatel používá peněženku, která tento příznak nenastavila, je běžná a uživatelé si s ní neumějí poradit.

Ukázka Replace by Fee v peněžence Electrum.

Pokud to vaše peněženka podporuje, můžete takovou transakci vytvořit většinou tak, že zvolíte tuto volbu v menu.

Child pays for parent

Nahradit transakci jinou můžeme tehdy, když máme privátní klíče a dokážeme transakci podepsat. To však nemusí být pravda ve více případech. Například v případě, že máme předpodepsanou multisig transakci (například zavření Lightning kanálu) a neumíme „sehnat“ nebo přesvědčit druhou stranu, aby podepsala jinou transakci. Mnohem častější případ je, že nepotvrzená transakce posílá peníze nám a chceme peníze rychleji přijmout, nikoli odeslat.

V takovém případě může příjemce (a většinou i odesílatel) provést tzv. „child pays for parent“ (dítě platí za rodiče) transakci. Je to minutí nepotvrzených coinů zpět na svoji adresu. Poplatek musí dát dostatečně vysoký k tomu, aby součet poplatků za obě transakce na bajt byl dostatečný k tomu, aby se transakce dostala do bloku. Pokud je to možné, některé peněženky (např. Electrum) umožňují takovou transakci vytvořit přímo z menu – pravé tlačítko na nepotvrzené transakci a „Child pays for parent“. Peněženka vypočítá, jaký poplatek je třeba zaplatit za novou transakci, aby spolu se starou transakcí byl takový, jak chceme.

Jestli vás zajímá, jak takový přepočet probíhá: Pokud má jedna transakce například 500 vB a poplatek 1 sat/vB a druhá transakce bude mít například 300 vB, jaký musíme dát poplatek, aby v průměru na obě transakce byl poplatek například 100 sat/vB? Obě transakce dohromady mají tedy 800 vB. Dohromady by měl být poplatek (100 sat/vB x 800 vB) = 80 000 sat. V první transakci jsme zaplatili (1 sat/vB x 500 vB) = 500 sat. Tedy nový transakční poplatek musí být 80 000 – 500 = 79 500 sat. Miner se na tyto transakce pak dívá jako na celek. Ví, že chce-li zařadit do bloku tu druhou s poplatkem 79 500 sat, musí vyminovat i tu první s poplatkem 300 sat. Ale pořád se mu to může vyplatit. Mineři skutečně takto poplatky počítají čili tento postup funguje.

Child pays for parent v peněžence Electrum.

Drobný problém nastává tehdy, pokud se ta nižší transakce nevejde do mempoolu, jak ho mají nastaven mineři. Je třeba poslat obě transakce najednou. Pokud dostáváte takovou transakci, je dobré si ji uložit v hex formátu, protože je možné, že ji zapomene i vaše peněženka.

Příjemce může tento postup učinit vždy, protože může utratit peníze, které mu přicházejí (k tomu, aby vytvořil transakci, která utrácí příchozí peníze, nemusí být tato transakce potvrzena, mohou se zařadit do stejného bloku dohromady).

Odesílatel to může učinit pouze tehdy, když mu přijde „výdaj“. Pokud posílá například 100 000 sat a utrácí vstup 100 500 sat, má jediný výstup 100 000 sat. Toto se stává relativně málokdy, i když tato čísla nemusí přesně sedět. Například pokud chci někomu poslat 101 000 sat a dám poplatek 500 sat, nevyplatí se mi vytvořit další výstup 500 sat s „výdajem“, protože ten zvětší transakci tak, že bude mít více bajtů, a tedy celkový poplatek by byl ještě vyšší. Kromě toho výstup s malou hodnotou je prakticky nepoužitelný, protože poplatek na jeho minutí je vyšší než jeho hodnota. V takovém případě je racionální buď příjemci poslat pár drobných navíc, nebo zvýšit transakční poplatek.

Pokud ale mám transakci s výdajem, jsem také příjemce transakce (přijímám výdaj). V takovém případě mohu udělat přesně to, co příjemce – utratit „výdaj“ jako dosud nepotvrzený příjem novou transakcí a použiji strategii „child pays for parent“.

Transakční akcelerátor

Další možností je „podplatit minery“, aby blok zařadili i přes nižší fee mimo samotnou transakci. To znamená, že jim zaplatíte jinou cestou než přímo transakčním poplatkem, například přes Lightning nebo kreditkou. Tyto služby jsou však často předražené a nebudu je zde doporučovat. Vygooglujte, pokud to opravdu hodně potřebujete, ale z částky nebudete nadšeni. Transakční akcelerátor spouští také přímo služba mempool.space, ale v době psaní tohoto článku nebyla dostupná pro veřejnost.

Síť Lightning network

V předchozí části jsme si řekli, jak fungují poplatky v Bitcoinové síti, co je vzácným zdrojem a co dělat v případě, že jste dali příliš malý poplatek a transakce je nepotvrzená. Naštěstí zaplatit poplatek není jediné, a často ani nejlepší, řešení.

Častým řešením problému poplatků je použití sítě Lightning network. Funguje však pouze za jistých okolností. Pojďme se podívat na to, kdy se vyplatí.

Síť Lightning network je druhou vrstvou Bitcoinu, která používá k transakcím tzv. platební kanály (payment channels). Platební kanál samotný si můžeme představit jako Bitcoiny s účetní knihou mezi dvěma vlastníky mimo Bitcoinový blockchain. Alice a Bob se rozhodnou, že budou mít účetní knihu a nějaké množství Bitcoinů, z nichž část patří Alici a část Bobovi. Informaci o tom, komu aktuálně patří která část Bitcoinů, si udržují pouze mezi sebou (nikomu o tom neříkají a aktuální stav nepublikují do Bitcoinové sítě). Účetní kniha kromě záznamu však vždy obsahuje platnou transakci, kterou stačí poslat do Bitcoinové sítě a aktuální stav účetní knihy se zapíše na blockchain. Tím je zajištěno, že nikdo nemůže podvádět, nikoho vydírat, a tedy Alice a Bob si nemusí nijak důvěřovat – pokud by nesouhlasili s účetním záznamem, spor „rozsoudí“ Bitcoinová síť.

Jak funguje Lightning network z kurzu Jak používat Lightning network.

Alice s Bobem si tedy mohou bez on-chain transakcí posílat mezi sebou peníze. To je platební kanál. Síť z toho činí fakt, že platební kanály lze bezpečně používat pro platby jiným lidem. Pokud má Alice kanál s Bobem a Bob s Charliem, může Alice zaplatit Charliemu „přes Boba“. Díky matematickým vlastnostem sítí malého světa stačí otevřít pár platebních kanálů a můžete zaplatit prakticky komukoli ze sítě.

To ovšem neznamená, že nemusíme dělat žádné on-chain platby. Otevření kanálu (uzamčení Bitcoinů v kanálu) je on-chain transakce. Kanál pak můžeme používat libovolně dlouho a prakticky se nám ho nikdy nevyplatí zavřít (pokud potřebujeme provést on-chain platbu, je většinou výhodnější použít swap službu, která bezpečně pošle on-chain coiny na základě zaplacení lightning invoice).

Pokud posíláme mnoho menších plateb, otevřením jednoho kanálu a lightning platbami téměř vždy ušetříme. Při Lightningu se platí poplatky, ale ty nezávisí na velikosti v bajtech, ale na částce, přičemž procenta, která platíme, nejsou vysoká.

Při přijímání si musíme dát pozor na kapacitu, kterou můžeme přijmout. Máme-li kanál k Bobovi, ale všechny coiny v účetní knize kanálu patří už nám, nemá nám Bob přes tento kanál poslat nějaké další coiny. Tehdy musíme kanál buď zvětšit (např. pomocí technologie splice-in, jak to dělá peněženka Phoenix), nebo otevřít nový kanál. Oboje vyžadují on-chain transakci.

Zvětšení kanálu pomocí technologie splice-in. Do kanálu přitečou nové Bitcoiny pomocí on-chain transakce. Zdroj: Acinq

Samozřejmě, bylo by dobré mít dostatečně velký kanál, abychom mohli přijímat, kolik potřebujeme. Zmiňovaná peněženka Phoenix tuto službu poskytuje (momentálně za poplatek 1 % z koupené kapacity na rok a mining poplatku za zvětšení kanálu). Je třeba si uvědomit, že Bitcoiny zamčené v kanálu jsou vzácný zdroj – někdo je musí mít a nedaruje nám je zdarma.

Druhou možností – zvláště pokud provozujete vlastní Lightning uzel – je dohodnout se s někým na otevření kanálů. Služba Lightningnetwork Plus nám umožňuje najít protistrany pro otevírání trojúhelníků nebo víceúhelníků – Alice, Bob a Charlie se dohodnou na společném otevření kanálů, například ve výši 1M sat. Alice otevře kanál k Bobovi, Bob k Charliemu a Charlie k Alici. Všichni tři získají kapacitu na poslání 1M sats i na přijetí 1M sats.

Jsou „lightning coiny“ skutečné Bitcoiny, nebo je to derivát?

Lidé často říkají, že „Lightning coiny nejsou skutečný Bitcoin“. Samozřejmě, závisí to na definici, co je skutečný Bitcoin, a hlavně kdo ho vlastní. Asi nejlepší definice vlastnictví Bitcoinu je, že jej vlastní ten, kdo umí vytvořit platnou transakci, která jej dokáže poslat na jinou adresu. A jelikož v každém momentě máme podepsanou transakci, kterou můžeme poslat do sítě, a dostaneme své coiny, jsou Lightning coiny skutečné Bitcoiny, které opravdu vlastníme. Zde je dobré zdůraznit rozdíl mezi Lightningem a směnárnou – směnárnu můžeme poprosit, aby nám poslala coiny, které nám patří, ale může nastat situace, kdy tento požadavek nesplní (burza zkrachuje, nelíbí se jim ověření našeho účtu apod.).

Dalo by se říci, že se skoro vždy vyplatí mít bitcoiny, které chceme používat pro platby v Lightning kanálu. K onchain coinům se umíme vždy dostat (i když někdy musíme chvíli počkat, pokud protistrana nespolupracuje).

Custodial lightning

Nejlevnějším řešením problému kanálů jsou custodial peněženky. Můžeme si to představit jako bankovní účet u třetí strany, který nám umožňuje přijímat a posílat peníze prostřednictvím sítě Lightning network. Custodial peněženky nesplňují požadavek soukromého vlastnictví Bitcoinu – jsou plně závislé na tom, že třetí strana má „naše“ Bitcoiny, umožní nám s nimi disponovat. Tedy věříme, že třetí stranu nehacknou, případně je stát neklepne po prstech.

Populární custodial peněženka Wallet of Satoshi například odstranila svou appku z Apple Store a Play Store z amerického trhu jako reakci na to, jak pochopili aktuální americké regulace.

Rozhodnutí Wallet of Satoshi o odstranění appky z App store a Play store v USA.

Jiná populární peněženka Blue Wallet zcela vypnula službu Lightningu pro veřejnost. Osobně si nemyslím, že používání custodial peněženek má velký význam, ale nízká cena je nepopiratelná – nemusíte se starat o kanály, a tedy dělat žádné onchain platby. Provozovatel peněženky vše řeší za vás. Nestane se vám, že byste neměli kapacitu pro přijetí coinů.

Na druhé straně, jak do ceny započítáme riziko, vyplatí se používat tyto peněženky jen na velmi nízké sumy.

Strýček Jim

Pokud nevěříme provozovatelům custodial peněženek, můžeme zkusit jít za strýcem Jimem. Toho všichni známe a věříme mu. Bastlí doma svou Lightning nodu, otevírá kanály, sleduje poplatky. Není důvod, aby to dělal v rodině každý, když se tomu strýc věnuje.

Pod „Uncle Jim“ modelem tedy rozumíme custodial peněženku, přičemž custodiana známe osobně, případně je to někdo z rodiny. Na malé platby to je opravdu často dobré řešení. Používat to můžeme s lndhub v kombinaci například s BlueWallet nebo pomocí aplikace lnbits. Později si ještě povíme o dalších možnostech založených na e-cash platformách.

Princip fungování lndhub. Uživatel komunikuje s programem lndhub, který provádí účetnictví mezi jednotlivými uživateli. Platby posílá pomocí standardní lightning node (lnd).

Samozřejmě ani strýci Jimovi bychom neměli vždy věřit. Ale na malé částky je to dobrý kompromis – nemáme riziko velké služby, na kterou může zaútočit stát, a pro hackery je strýc Jim také menším cílem. Měl by však určitě myslet na bezpečnost.

Non-custodial peněženka

Velmi dobrým řešením je non-custodial peněženka, která pečuje o kanály. Možností máme několik, nejpopulárnější jsou Breez, Phoenix, Blixt, Zeus, Mutiny Wallet (o Mutiny jsme psali zvláštní článek). Co to znamená, že se stará o kanály? Používá služby tzv. liquidity providera, který otevře kanál (nebo navýší kapacitu stávajícího kanálu). Likviditu si můžete přímo zaplatit, když ji dostáváte (Mutiny), nebo za ni platíte ve formě poplatků (Phoenix). Poplatky minerům samozřejmě vždy platíte, a proto je dobré umět s kanály pracovat. Detailně si to povíme v další části.

Non-custodial peněženky se liší omezeními, úspěšností plateb, platformou a podobně. Phoenix Wallet je například rychlá kombinovaná peněženka, kde zůstatek máte v lightning kanálu, ale stále můžete přijímat a posílat také Lightning platby. Peněženka Mutiny například má zvláštní on-chain a lightning zůstatek – máte tak větší kontrolu nad tím, jaké kanály máte otevřené a jaký zůstatek je v kanálech.

Breez má podobně jako Phoenix sjednocený zůstatek, ale běží ve vašem telefonu plnou routovací nodu. Získáte tak lepší soukromí a vyšší kontrolu nad vaším nodem za cenu trochu pomalejších plateb (a pokud peněženku nepoužíváte často, tak čas od času musíte počkat na synchronizaci se sítí). Phoenix vám nechá privátní klíče, ale hledání cesty pro platbu činí server. To by za normálních okolností byl problém kvůli tomu, že vám server může vytvořit příliš velké poplatky, ale v případě Phoenixu jsou poplatky fixní – 0,4 % z odchozí platby.

Peněženky Mutiny, Zeus i Blixt vám umožní otvírat si vlastní kanály.

Populární peněženka Muun sice umožňuje posílat a přijímat Lightning platby, ale je to on-chain peněženka, takže vám nepomůže ušetřit poplatky.

Stálá node

Další možností je samozřejmě používat vlastní node, s různými front-endy. Tato možnost je pro pokročilé uživatele, ale neznamená to nutně, že musíte být mistři příkazové řádky. S projekty jako Umbrel můžete mít doma Lightning node, Nostr relay, Nextcloud, zálohovat fotky a pořizovat množství jiných věcí. Zároveň se můžete stát strýcem Jimem pro vaše blízké.

Rozhraní nodu Umbrel.

Je však třeba se starat o kanály – sledovat, kdy jsou nízké poplatky a použít nějaké své bitcoiny k otevření Lightning kanálů.

Kdy se vyplatí Lightning platby?

Jelikož při Lightning musíme otevírat vlastní kanály, on-chain poplatků se úplně nezbavíme. Depozitnout větší množství Bitcoinů do kanálu a dělat několik malých Lightning plateb je ideální use-case. Pro přijímání více menších plateb je třeba sehnat likviditu. To lze udělat tak, že si ji koupíte, nebo u některých peněženek jednoduchým trikem – vekslák vám pošle větší množství bitcoinů přes Lightning (čímž vám vaše non-custodial peněženka otevře kanál) a část bitcoinů pošlete zpět. Rozdíl můžete používat k přijímání později, jelikož takovým postupem otevřete kanál o vyšší kapacitě.

Samozřejmě, likviditu můžete sehnat i jinde, například se tři kamarádi můžete domluvit, že si mezi sebou otevřete kanály. Jedna on-chain platba a jste přímo propojeni s lidmi, se kterými si budete vyměňovat Bitcoiny.

Lightning tedy není na všechno. Pokud například pravidelně nakupujete, tak bez kapacity pro přijímání bude zvětšení kanálu vždy stát on-chain transakci (ale můžete si koupit likviditu). Pokud se vám podaří vytvořit větší on-chain kanál, budete mít zároveň zkonsolidované UTXO (připomínám, že poplatek on-chain se platí od velikosti v bajtech, tedy není dobré mít mnoho příchozích on-chain transakcí, neboť jejich následné utrácení může být drahé).

Liquid

Liquid je blockchain podobný Bitcoinu, který spravuje federace správců. Je možné uzamknout Bitcoiny na hlavním bitcoin chaine a obdržet jejich reprezentaci (LBTC) na Liquid chaine. Tím, že Liquid je mimo bitcoinový chain, může experimentovat. Základní rozdíly jsou – jiný formát adres, confidential transactions (u transakcí nejsou viditelné částky, podobně jako u kryptoměny Monero), confidential assets (můžete posílat i jiné tokeny jako Bitcoin, populárním je například Tether – USDT). Jiný je i způsob tvorby bloků – ty potvrzuje federace a vznikají deterministicky každou minutu. I když jsou transakce vyšší, tím, že je méně používán, se do bloku momentálně dostane transakce s poplatkem 0,1 sat/vB.

Na rozdíl od bitcoinů uzamčených v síti Lightning, liquid bitcoiny nejsou bitcoiny – pro jejich přesun musíte použít služby směnárny (například Boltz.exchange) nebo požádat federaci o peg-in a peg-out.

Kdysi jsem navrhoval, že díky podobné technologii lze síť Lightning rozšířit bez potřeby důvěry i o kanály, které jsou kryté Bitcoinami na Liquidu. Tam však technologicky zatím nejsme. Momentálně můžete použít Liquid například s peněženkou Aqua nebo Blockstream Green.

Rozhraní peněženky Aqua.

Aqua vám umožní nad Liquidem držet (a zaměnit) i Tether – USDT. Navíc umožňuje pomocí Liquid zůstatku zaplatit Lightning invoice pomocí swap služby. Z pohledu uživatele se jedná o něco podobného jako peněženka Muun – není to sice Lightning peněženka, ale měli byste umět přijmout a odeslat Bitcoiny přes Lightning. Bohužel při testech jsem měl s placením pomocí Lightning problémy – na rozdíl od jiných peněženek neuměla Aqua najít cestu a zaplatit invoice. Možná se jednalo o dočasný výpadek.

Ecash – Cashu a Fedimint

Ecash (nebo Chaumian Ecash) je metoda pro pořizování elektronických peněz, která zde byla ještě před Bitcoinem. Jedná se o plně anonymní způsob pořizování elektronické hotovosti. Využívá tzv. slepé podpisy. Zkusme si to představit takhle. Vygenerujeme náhodné sériové číslo, napíšeme jej na bankovku s denominací (například 1 000 sat).  Přijdeme do „mincovny“, zakryjeme sériové číslo, zaplatíme 1 000 sat a dostaneme razítko (podpis), který garantuje, že bankovka je platná. Mincovna (mint) přitom sériové číslo nevidí.

Pokud chceme někomu zaplatit 1 000 sat, stačí poslat někomu sériové číslo a podpis. Klidně textovou zprávou, přes Signal, e-mail nebo jakkoli jinak. Můžeme ji také zobrazit ve formě QR kódu. Zde samozřejmě nastává problém, který Bitcoin řeší pomocí blockchainu – jak zajistit, že někdo tuto bankovku neutratí dvakrát, sériové číslo totiž nyní viděli dva různí lidé.

To e-cash systém vyřeší tak, že přijde do mincovny, ukáže celé sériové číslo i s podpisem. Mincovna sériové číslo zařadí na seznam zneplatněných bankovek (spentbook) a potvrdí nové náhodné sériové číslo (přidá slepý podpis, ale nové sériové číslo nevidí). Příjemce původních 1 000 sat tak získá novou bankovku, jejíž sériové číslo ví jen on.

Zajímavostí této technologie je, že nevytváří samotné transakce – transakce je předání mincí (bankovek) textovou zprávou. Jediné, k čemu dochází, je výměna a zneplatnění starých mincí. Jelikož je založena na slepých podpisech, tak mincovna netuší, jaké mince byly utraceny a ani od koho pocházejí. Jedná se tak o plně anonymní, ale centralizovaný systém.

Mince mají různé denominace (podepsané různými klíči – orazítkované různými razítky), takže existuje i další operace, která je důležitá – rozměnění. Kdykoli můžu přijít za mincovnou a vyžádat si za mých 1 000 sat „drobné“, například 500 sat a 2 x 250 sat.

Strýček Jim

Pozornější z vás napadlo, že mincovnu může provozovat strýc Jim. Přesně na tomto nápadu je založen protokol Cashu. A souvisí i s Lightningem. Jedná se o e-cash mint, která je založena na Bitcoinu. Online najdete také různé peněženky, jejichž seznam udržuje hlavní stránka cashu.space.

Ecash tokeny můžete vytvořit tak, že zaplatíte Lightning invoice, kterou vystaví mint. Tokeny můžete samozřejmě posílat vším, co dané mint věří (například chcete-li si posílat peníze v rámci rodiny), nebo je jen držet v peněžence. Pokud chcete, můžete jejich pomocí zaplatit Lightning invoice. Posílání ecash je nenáročné – ať už na technické prostředky, nebo likviditu, a proto jsou transakce v rámci mint většinou zdarma.

Peněženka Minibits umožňuje používat vícero eCash mints z pěkné Android aplikace. Existují aplikace i pro iOS, či web.

Výhodou tohoto modelu strýce Jima oproti lndhub nebo lnbits je, že v tomto případě strýc jako provozovatel mint nevidí žádné zůstatky uživatelů. Neví tedy, kdo z rodiny hodluje nejvíc, případně zda synovec dostal od babičky nějaké satoshi na narozeniny. Přesto je noda napojena na Lightning a umožňuje všem uživatelům mint zapojit se do širší lightning ekonomiky. Je to taková chytřejší Lightning peněženka.

Vytvoření peněženky Minibits (Android), dobití pomocí Lightning, poslání eCash tokenů na peněženku cashu.me.

Pokud se někdo přižení do rodiny, může se mu stát, že v rodině je více strýců Jimů – provozovatelů mintů. Většina peněženek dokáže fungovat s více mints. A jelikož jsou propojeny sítí Lightning, je možné přes Lightning network přesouvat mezi nimi zůstatek.

Pohled na to, jak můžeme používat eCash systém Cashu přes long range radio (LoRa). U videa lze zapnout české titulky.

Výhodou eCash je také to, že je velmi nenáročný na datové přenosy, a díky tomu je možné jej provozovat například i přes LoRa, přes síť Reticulum, jak ukazuji na tomto videu.

Vícero strýčků Jimů

Liquid problém strýce Jima vyřešil tak, že namísto jednoho člověka, kterému je třeba věřit, věříme federaci několika lidí/firem. Podobný model používá i eCash mint Fedimint. Je založena na myšlence federovaných eCash mints od Jonathana Logana a Franka Brauna. Myšlenka je, že místo jedné mincovny jich máme několik a slepý podpis musí přidat nadpoloviční většina. Mincovny nemusí mezi sebou komunikovat a stačí, když každá udržuje svůj spendbook. Toto řešení je také velmi rychlé a efektivní, i když krytí přes Lightning nefunguje tak jednoduše – Lightning totiž nemá multisig. V aplikaci však je Lightning brána.

První pohled na peněženku Fedi Alpha.

Fedimint je v poměrně časných stádiích vývoje, protokol používat můžete například pomocí peněženky Mutiny Wallet, ale hlavní komunitní peněženka Fedi je stále v beta verzi a nepoužívá mainnet coiny. Snahou autorů je vytvořit tzv. „Superapp“, ve které uživatelé budou mít přístup k různým službám.

Závěr

Jaké máme možnosti používání Bitcoinu v prostředí vysokých poplatků? Ukázali jsme si, jak se poplatky určují, jak zjistíme, co síť požaduje za blockspace. Vysvětlili jsme si, co dělat, pokud jste poslali transakci s příliš malým poplatkem.

Pak jsme si ukázali několik možností – Lightning network, s různými typy peněženek, Liquid a eCash mints. Každá z těchto možností má jiné výhody a nevýhody. Některé vyžadují důvěru (strýc Jim a custodial možnosti), některé vyžadují nějakou důvěru (Liquid), self-custodial lightning nevyžaduje důvěru, ale je třeba platit poplatky za otevírání kanálů a likviditu – pokud jste stálými uživateli Bitcoinu, nemusí to být problém. Chcete-li onboardovat rodinu a jen lidem ukázat Bitcoin, řešení založená na ecash mints jsou možná lepší a umožňují platit přes síť Lightning network. Chcete-li dělat pouze dollar cost averaging (tedy potřeba přijímat se bude stále zvyšovat), může být řešení na atomic swapech do Liquidu, například přes peněženku Aqua dobrou volbou.

Na konci dne závisí zejména na vás a vašich potřebách, jaké poplatky jste ochotni platit a co je pro vás priorita.

U Bitcoinu vám správné nástroje pomohou ušetřit na poplatcích. V tomto článku jste se dozvěděli, jaké jsou možnosti, nyní je už jen správně využít.

Juraj Bednar

Juraj Bednár

Jsem cypherpunker, mám rád svobodu, soukromí, peer to peer technologie a terminálová okna. Zkoumám chaotický svět, volatilitu a nejistotu, bojuji proti entropii - zakládám firmy a neziskové projekty, dělám kurzy a píšu knihy. Jsem spoluzakladatel Paralelní Polis, hackerspace Progressbar a bug bounty platformy Hacktrophy. Vystudoval jsem obor umělá inteligence a ta se vrátila tak, jako bych o ni nikdy ani neslyšel. O všech těchto zkušenostech píšu blog.

Na vašem soukromí nám záleží

My, společnost Alza.cz a.s., IČO 27082440 používáme soubory cookies k zajištění funkčnosti webu a s Vaším souhlasem i mj. k personalizaci obsahu našich webových stránek. Kliknutím na tlačítko „Rozumím“ souhlasíte s využívaním cookies a předáním údajů o chování na webu pro zobrazení cílené reklamy na sociálních sítích a reklamních sítích na dalších webech.

Více informací
Rozumím Podrobné nastavení Odmítnout vše
P-DC1-WEB17