Lightning peněženky mají historicky reputaci složité vesmírné technologie. Uživatel musí spustit svůj vlastní node, otevírat kanály a provádět složitá konfigurační nastavení. Řešení tohoto problému, které je dodnes prezentováno mnoha bitcoinery jako nejlepší, je použít „custodial“ peněženku – tedy udělat z Bitcoinu jako elektronické hotovosti bankovní účet s QR kódy. Naštěstí, celý tento příběh je neaktuální – peněženky druhé generace jako například Phoenix (ale například i Breez) ukazují, že lze vytvořit peněženku, která nechává uživateli suverenitu nad svým majetkem (tedy privátní klíče), ale automaticky a poměrně dobře řeší všechny ostatní složité věci – node, připojení do sítě, směrování, vytváření kanálů, a dokonce i přestup mezi on-chain a lightningem. V tomto článku se podíváme na peněženku Phoenix.
Peněženku Phoenix můžete na pár kliků po instalaci hned používat. Přijmout své první Bitcoiny můžete buď přes Lightning, nebo pomocí on-chain platby. Peněženka při první platbě vytvoří Lightning kanál, ke kterému máte privátní klíče. Na rozdíl od mnoha jiných peněženek (Zeus, Mutiny, Aqua, Blixt, Green) máte jeden zůstatek – všechny Bitcoiny máte v Lightning kanálu. Z pohledu uživatele je to velmi výhodné, nemusí přesouvat Bitcoiny mezi dvěma platebními sítěmi.
Aplikace Phoenix je extrémně jednoduchá – dělá jednu věc a dělá ji dobře. Dokáže přijímat a odesílat Bitcoinové platby – ať už on-chain, nebo přes Lightning. Ve skutečnosti pod kapotou je několik zajímavých funkcí, ale snaha je jednoznačně o vytvoření minimalistické Lightning peněženky, která funguje.
Nyní si ukážeme, jak funguje instalace, záloha, nastavení a samozřejmě platby. Po instalaci z obchodů (Play nebo App Store, podle platformy) nás uvítají úvodní obrazovky. Potom si můžeme vybrat, jestli chceme vytvořit novou peněženku nebo obnovit zálohu:
Mimochodem, pokud máte systém nastaven na češtinu nebo slovenštinu, bude celá peněženka přeložena (výjimkou je zatím slovenština na platformě iOS, která zatím není přeložena).
Klikneme-li na vytvoření nové peněženky, můžeme ji okamžitě začít používat.
To bylo jednoduché, že? Je to dokonce jednodušší než custodial peněženky – není třeba vyplňovat žádné e-mail adresy nebo telefonní čísla. Samozřejmě, peněženku bychom si měli zazálohovat, to si ukážeme později. Nyní pojďme přijmout první platbu. Klikněme na tlačítko Receive.
Pokud chceme, můžeme kliknout na tlačítko Edit (upravit) a napsat popis příchozí platby (tento popis uvidí i odesílatel a zůstane ve vaší peněžence jako popis platby) a částku, kterou chcete od druhé strany. Částku můžete zadat v sats, ale i ve vámi zvolené fiat měně (tu si můžete zvolit v nastavení).
Po kliknutí na Create Invoice se nám zobrazí QR kód Lightningové faktury. Fakturu však můžeme také sdílet (příslušným tlačítkem sdílení) nebo zkopírovat do clipboardu.
Pokud z jiné peněženky tuto fakturu zaplatíme, dostaneme potvrzující obrazovku:
Přijatá platba nemá žádné potvrzení na síti, kanál musí těžař zařadit do bloku. Vzhledem k tomu, že platba přišla přes Lightning, je však zůstatek okamžitě použitelný a na těžaře vůbec nemusíme čekat. Zůstatek je ihned použitelný.
Odesílání funguje podobně – klikneme na tlačítko Send (odeslat). Po povolení přístupu ke kameře (abychom mohli skenovat QR kódy) můžeme buď načíst QR kód, nebo vložit platební požadavek z clipboardu. Já skenuji QR kód z BTCPayServeru.
Jakkoli načteme platební požadavek, na další obrazovce se dozvíme detaily – popis platby, částku, poplatky a podobně.
Můžeme se podívat na hlavní obrazovku, kde vidíme přehled všech plateb a máme přístup k ostatním ovládacím prvkům – nastavením nebo možnosti vyžádat si likviditu.
Na obrazovce jsme si doufám všichni všimli, že jsme stále neodzálohovali peněženku. Pojďme to napravit – kliknutím na upozornění se dostaneme přímo do obrazovky se zálohou. Pokud bychom chtěli zálohu provést později znovu, stiskneme tlačítko ozubeného kolečka vlevo dole, dostaneme se do menu s nastaveními a zvolíme možnost „Recovery Phrase“.
Po zapsání 12 anglických slov, která tvoří zálohu peněženky, potvrdíme, že jsme si je zapsali na bezpečné místo a že chápeme, že pokud ztratíme telefon a zároveň zálohu, ke svým Bitcoinům se už nedostaneme. Prosím, opravdu si udělejte zálohu na papír a dobře ji uložte, nejen screenshot někde do fotek (mimochodem, screenshot to ani nedovolí udělat, i když mnozí to „řeší“ tak, že si mobil vyfotí foťákem na druhém mobilu). Mnoho lidí přišlo o peníze proto, že si zálohu chtěli udělat „někdy později“. Je to 12 slov, zapíšete si to za méně než tři minuty.
Chcete-li přijmout on-chain Bitcoin, v záložce Receive přejeďte prstem doleva – tím se zobrazí Bitcoinová adresa a QR kód. Na tuto adresu stačí poslat Bitcoiny a objeví se ve vaší peněžence. Pro odeslání on-chain platby nemusíte udělat nic speciálního – pokud naskenujete on-chain adresu nebo platební požadavek (nebo jej vložíte z clipboardu), platba normálně zafunguje, jako kdyby šlo o on-chain peněženku.
Podívejme se ještě na pár zajímavých nastavení. Klepnutím na ozubené kolečko se nám zobrazí menu:
Máme-li rádi anonymitu, můžeme zapnout používání anonymizační sítě Tor. Podporu Tor má Phoenix přímo integrovanou v peněžence a stačí ji zapnout. Zde je dobré říci, že používání Phoenixu s Tor je výrazně pomalejší, nemusí proběhnout automaticky všechny platby a aplikaci je občas třeba restartovat, aby se připojila na jiný Tor entry point. Osobně používám Phoenix bez Tor.
V části Display máme možnost změnit nastavení fiat měny, jazyka a zobrazení.
Pokud víme, že budeme více přijímat než odesílat, můžeme si vyžádat likviditu. Učiníme tak tlačítkem „Request Liquidity“ (vyžádat likviditu) na hlavní obrazovce.
Zvýšení likvidity na přijímání je dobré dělat v dobách nižších poplatků (například o víkendu), abychom neplatili příliš mnoho těžařům. Zároveň se často vyplatí spíše vyšší likvidita – poplatek za likviditu sice závisí na částce (1% v době psaní tohoto textu), ale poplatek minerům je fixní.
Chcete-li si prohlédnout instalaci a použití Phoenix peněženky na videu, doporučujiprvní lekci z kurzu Jak si koupit první kryptoměny a zaplatit jimi. Kurz je dostupný zdarma a bez registrace.
Všimněte si, že tato lekce má méně než čtyři minuty, za které stihneme udělat všechno, včetně zálohy peněženky.
Phoenix umožňuje přijímat i odesílat on-chain platby, oběma směry pomocí technologie splicingu. To znamená, že přijetí on-chain platby přidá prostředky do kanálu, tedy vytvoří transakci, která použije prostředky ze stávajícího kanálu, přihodí k nim nové on-chain prostředky, a tím vznikne nový kanál (Phoenix nevytváří více kanálů, ale podle potřeby pracuje s jedním kanálem, který zvětšuje nebo zmenšuje).
Odeslání on-chain platby vezme on-chain výstup, kterým je nabitý kanál, a vybere on-chain prostředky odtud, zbytek pošle zpět a otevře jimi nový kanál.
To znamená, že u on-chain plateb se u Phoenixu mění likvidita. Přijetí platby jsou dvě on-chain platby – jedna je odeslání na swap-in on-chain adresu a druhá na vložení potvrzených prostředků do kanálu. Přitom tato druhá platba je zatím poměrně drahá, protože utrácí prostředky z 2-of-2 multisig adresy. Brzy však přejdou i kanály na taproot musig schéma, které tento problém vyřeší. Odeslání prostředků pomocí Phoenixu on-chain je jedna transakce, i když také poněkud dražší, ze stejného důvodu.
Phoenix umožňuje přijímat i odesílat on-chain platby, oběma směry pomocí technologie splicing. To znamená, že přijetí on-chain platby přidá prostředky do kanálu, tedy vytvoří transakci, která použije prostředky z existujícího kanálu, přihodí k nim nové on-chain prostředky, a tím vznikne nový kanál (Phoenix nevytváří více kanálů, ale podle potřeby pracuje s jedním kanálem, který zvětšuje nebo zmenšuje).
Odeslání on-chain platby vezme on-chain výstup, kterým je nabitý kanál, a vybere on-chain prostředky odtud, zbytek pošle zpět a otevře jimi nový kanál.
To znamená, že u on-chain plateb se u Phoenixu mění likvidita. Přijetí platby jsou dvě on-chain platby – jedna je odeslání na swap-in on-chain adresu a druhá pro vložení potvrzených prostředků do kanálu. Přitom tato druhá platba je zatím poměrně drahá, protože utrácí prostředky z 2-of-2 multisig adresy. Brzy však i kanály přejdou na taproot musig schéma, které tento problém vyřeší. Odeslání prostředků pomocí Phoenix on-chain je jedna transakce, i když také o něco dražší, ze stejného důvodu.
Phoenix je skvělá peněženka pro začátečníky. Díky ní snad většina nových uživatelů fázi custodialních peněženek rovnou přeskočí a vezme si privátní klíče do svých rukou. Phoenix osobně považuji za dobrou Bitcoinovou peněženku na lightning i on-chain transakce pro úplné začátečníky. Úspěšnost plateb je obrovská, peněženka funguje rychle a spolehlivě. Uživatel nemusí řešit, zda používá Lightning, nebo on-chain, neboť obě možnosti jsou perfektně integrované (respektive pokud Phoenix začne časem ukazovat unifikované QR kódy, tak to bude ideální).
Přeji si, abyste alespoň jednu Lightning peněženku druhé generace vyzkoušeli a nabízeli ji nováčkům namísto custodial peněženek. Myslím, že Phoenix se tohoto úkolu zhostí perfektně.
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.
Platební síť známá jako Lightning Network, jež funguje jako druhá vrstva bitcoinového protokolu, je tu s námi již více než dva roky. Jenže jak to obecně s vývojem složitých a robustních systémů bývá, trvá delší dobu, než se vydají tou správnou cestou, a to se týká nejen technických řešení, ale i uživatelské přívětivosti. Společnost ACINQ je jedním z předních inovátorů v této oblasti a na konci roku 2019 se rozhodla dát světu dárek v podobě peněženky Phoenix – LN peněženky druhé generace.
Jak to již u nových protokolů bývá, je ze začátku velmi složité je používat a dlouhodobě spravovat. Stejné to bylo i s Lightning Network a peněženkami na něm postavenými. Uživatelé museli manuálně spravovat vytváření i uzavírání platebních kanálů, likviditu v těchto kanálech, zálohování stavu kanálů, k jakým uzlům jsou uživatelé připojeni, a posílání transakcí nebylo vůbec spolehlivé.
Lightning Network je tzv. druhou vrstvou nad bitcoinovým protokolem. Jejím cílem je hlavně umožnění drobných, levných a rychlých plateb, ale bez potřeby každou drobnou platbu zapisovat do blockchainu. Více o Lightning Network si můžete přečíst v našem článku zde.
I když se technologicky stav stále zlepšoval, uživatelský prožitek (UX) zaostával. Toto se týkalo i první mobilní LN peněženky Eclair od společnosti ACINQ, která, ač na svou dobu byla dobrá, nedokázala uživatele odstínit od těchto technikálií.
Netrvalo dlouho a vývojářům došlo, že chtějí-li co nejlepší UX, nemusí znovu vynalézat kolo – stačí se podívat na existující Bitcoin peněženky (na které jsou uživatelé zvyklí) a vzít si z nich to, co funguje. Není potřeba zatěžovat uživatele zbytečnými technickými záležitostmi, pokud může aplikace udělat práci za něj. A tak vznikla LN peněženka druhé generace. Zrodil se Phoenix.
Zklamáním pro některé čtenáře nejspíš bude, že Phoenix je aktuálně dostupná pouze pro zařízení se systémem Android. Není však třeba dlouho zoufat, vývojáři pilně pracují na verzi pro iOS, která by tak měla být dostupná v roce 2021.
První a základní vlastností každé bitcoinové peněženky by mělo být to, že je tzv. non-custodial, tedy že uživatel má plně pod kontrolou privátní klíče a ty neopouštějí jeho zařízení (leda by je někomu sám předal). Všechny bitcoiny ve vaší Phoenix peněžence jsou tedy skutečně vaše, i kdyby ACINQ nebo celý Lightning Network zmizely přes noc.
Peněženka používá k záloze dvanáctislovný seed dle standardu BIP39, nicméně jelikož se jedná o LN peněženku, vývojáři varují před importováním seedu do několika peněženek najednou, to by totiž mohlo způsobit problémy.
Kromě anglického jazyka podporuje Phoenix dalších sedm jazyků včetně češtiny, nevýhodou ovšem je, že jazyk se nedá přepnout manuálně, ale je nastaven dle jazyka systému. Co se ovšem dá změnit, je nastavení zobrazených měn – můžeme tedy zobrazit bitcoin či jeho různé denominace (satoshi, milibitcoin) a pro přepočet na národní měny máme na výběr několik možností, včetně té české. Pokud je někdo obzvláště opatrný, aby okolní oči nespatřily zůstatek na displeji telefonu, může zobrazování zůstatku na hlavní stránce vypnout.
Phoenix obsahuje i možnost přepnutí barevného schématu na světlou či tmavou verzi nebo dle nastavení systému – toto uleví vašim očím, pokud rádi platíte v přítmí či v noci nedočkavě kontrolujete svůj zůstatek.
Nakonec má Phoenix pro uživatele i možnost připojovat se výhradně pomocí sítě Tor, což skryje jeho skutečnou IP adresu a zlepšuje tak uživatelovu anonymitu. Je také možné připojit Phoenix k vlastnímu Electrum serveru (i přes Tor) a nespoléhat se tak na servery třetích stran.
Toto vše je téměř na jedničku, ale vývojáři museli udělat pár kompromisů, aby Phoenix peněženka mohla mít tak dobré UX. Tyto kompromisy se týkaly zejména soukromí a potřeby důvěřovat společnosti ACINQ. Jelikož se vaše Phoenix peněženka připojuje pouze k ACINQ uzlům, má tato společnost informace o platbách, které posíláte.
ACINQ je naštěstí plně transparentní ohledně těchto kompromisů a hodlá je minimalizovat tak, aby do budoucna představovaly ještě menší riziko (viz přidání připojení přes Tor). Možnost připojit se k vlastnímu LN uzlu ovšem nečekejte.
Sami tvůrci tvrdí, že Phoenix má stejné UX jako standardní bitcoinová peněženka. I když toto tvrzení může někomu připadat pošetilé, třeba z důvodu, že UX klasických bitcoinových peněženek se mu nemusí zdát ideální, je to stále velký krok.
Phoenix, stejně jako ostatní peněženky, funguje tak, že po prvním spuštění vyzve uživatele k vytvoření nové peněženky nebo obnovení ze zálohy. Zároveň umožňuje již při startu zapnout připojení přes Tor a připojit se k vlastnímu Electrum serveru, aby už při vytváření peněženky nebylo potřeba spoléhat se na cizí uzly.
Vytvoření nové peněženky trvá jen několik sekund, poté je uživatel ihned převeden na hlavní stránku, kde je pro něj zobrazeno důležité upozornění, aby si zazálohoval svoji peněženku (pomocí dvanáctislovného seedu) a případně nastavil PIN kvůli bezpečnosti. Kromě zamykání pomocí PIN kódu Phoenix podporuje i biometrický zámek, tedy čtečku otisku prstu.
Dále již můžeme měnit nastavení a přijímat i odesílat platby jak on-chain, tak i přes Lightning Network.
Výrazným rozdílem oproti jiným LN peněženkám je, že ve Phoenix peněžence se nerozlišuje mezi tzv. on-chain a off-chain zůstatkem, respektive žádný on-chain zůstatek ani neobsahuje. Všechny bitcoiny, které ve Phoenixu máte, jsou uzamčeny v Lightning Network kanálech.
Výrazy „on-chain“ a „off-chain“ odlišují transakce, jež se zapisují do blockchainu. Typickou bitcoinovou transakci, kterou mineři musí tzv. vytěžit, aby ji zařadili do blockchainu, označujeme jako on-chain. Off-chain transakce jsou takové, které se do blockchainu nezapisují – může to být například tak, že jeden člověk prodá druhému svoje privátní klíče výměnou za hotovost.
Jelikož i transakce v Lightning Network se nezapisují do blockchainu (přestože jsou to platné bitcoinové transakce), označujeme je jako off-chain.
Abychom mohli platit, je třeba nejdříve nějaké bitcoiny přijmout. To lze udělat zcela jednoduše pomocí tlačítka „Přijmout“. Peněženka vygeneruje Lightning Network požadavek na přijetí platby, u kterého lze nastavit požadovaný obnos a popisek stejně jako v jiných LN peněženkách.
Možná vás napadá otázka: „Jak přijmu platbu přes Lightning Network, když nemám otevřené žádné kanály?“ Je to jednoduché, Phoenix umí automaticky vytvořit nový kanál tzv. za letu. Není tedy potřeba řešit příchozí nebo odchozí likviditu a nastavování kanálů – Phoenix se o vše postará sám. Z příchozí částky je 0,1 % použito jako poplatek ACINQ za tuto službu.
Stejná jednoduchost se týká i příchozích on-chain plateb. Na obrazovce pro přijetí stačí použít tlačítko „Zobrazit bitcoinovou adresu“ a peněženka vygeneruje standardní adresu ve formátu bech32. Když protistrana pošle na tuto adresu bitcoiny, Phoenix automaticky vytvoří nový LN kanál. Tato operace, jež zamění příchozí on-chain za off-chain bitcoiny, se nazývá swap-in a ACINQ si za ni opět bere drobný poplatek (0,1 % z částky).
Perfektní, již umíme přijímat on-chain i off-chain platby bez jakýchkoliv starostí, jak tedy platit? Phoenix umí automaticky detekovat, zda skenuje platební požadavek Lightning Network nebo prostou bitcoinovou adresu, a podle toho jedná. V případě LN požadavku požádá uživatele o potvrzení platby a platbu okamžitě odešle. V případě posílání na bitcoinovou adresu je možné změnit odesílané množství a Phoenix následně udělá tzv. swap-out, tedy odešle LN platbu ACINQ uzlu, který udělá on-chain platbu za něj. Vše opět trvá jen pár sekund.
Výhoda Phoenixu je tedy hlavně ta, že je plnohodnotnou LN peněženkou. Ovšem všechnu těžkou práci odvedou uzly ACINQu, na které je naše peněženka napojená. ACINQ si za to bere drobné poplatky z vytváření kanálů.
Příchozí i odchozí platby je možné zpětně prohlížet a případně u nich editovat popisky. V nastavení peněženky lze také kontrolovat stav jednotlivých LN kanálů, tedy hlavně jejich likvidity. V nastavení taktéž nalezneme možnost uzavřít všechny kanály a poslat zbývající zůstatek na bitcoinovou adresu mimo peněženku Phoenix. Tato možnost poslouží zejména uživatelům, kteří už Phoenix nechtějí nadále využívat nebo chtějí zresetovat stav svých kanálů.
Jak jsme již naznačili na předešlých řádcích, Phoenix se snaží být hlavně peněženkou, která bude svým uživatelům co nejvíce usnadňovat přijímání i odesílání bitcoinových plateb – nehledě na to, zda on-chain, či přes Lightning Network. Toho se dá ovšem dosáhnout, jen když uživatel nebude mít možnost všelicos měnit a přenastavovat.
Můžeme tedy říci, že Phoenix cílí hlavně na uživatele, kteří prostě jen chtějí bitcoinem platit, ale už nechtějí znát technické pozadí nebo si nepotřebují určité věci nastavovat po svém. Dalo by se to skoro přirovnat k ProtonMailu či podobným mailovým klientům – není potřeba provozovat vlastní mail server, když to někdo dělá dobře za mě a poskytuje mi to jako službu.
Do cílové skupiny Phoenix skoro určitě nebudou patřit uživatelé, kteří extrémně prahnou po transakčním soukromí a anonymitě. Lidé, kteří nechtějí používat Lightning Network a on-chain platby jsou pro ně dostačující, jsou taktéž nejspíš mimo hru. Ale všem ostatním, kteří chtějí platit bez větších starostí a zároveň netouží provozovat vlastní LN uzel, lze vzkázat: Phoenix je tu pro vás!
Phoenix od společnosti ACINQ je peněženka s pravděpodobně nejlépe promyšleným uživatelským rozhraním na trhu. I když toho co do nastavení, soukromí nebo suverenity nenabízí tolik jako ostatní Lightning Network peněženky, v použitelnosti je všechny předežene.