Lightning peňaženky majú historicky reputáciu zložitej vesmírnej technológie. Užívateľ musí bežať svoju vlastnú nodu, otvárať kanály a robiť zložité konfiguračné nastavenia. Riešenie tohto problému, ktoré je dodnes prezentované ako najlepšie mnohými bitcoinermi je použiť “custodial” peňaženku - teda urobiť z Bitcoinu ako elektronickej hotovosti bankový účet s QR kódmi. Našťastie, celý tento príbeh je neaktuálny - peňaženky druhej generácie ako napríklad Phoenix (ale napríklad aj Breez) ukazujú, že je možné vytvoriť peňaženku, ktorá necháva užívateľovi suverenitu nad svojim majetkom (teda privátne kľúče), ale automaticky a pomerne dobre rieši všetky ostatné zložité veci - nodu, pripojenie do siete, smerovanie, vytváranie kanálov a dokonca aj prestup medzi on-chain a lightningom. V tomto článku sa pozrieme na peňaženku Phoenix.
Peňaženku Phoenix môžete na pár klikov po inštalácii hneď používať. Prijať svoje prvé Bitcoiny môžete buď cez Lightning alebo pomocou on-chain platby. Peňaženka pri prvej platbe vytvorí Lightning kanál, ku ktorému máte privátne kľúče. Na rozdiel od mnohých iných peňaženiek (Zeus, Mutiny, Aqua, Blixt, Green) máte jeden zostatok - všetky Bitcoiny máte v Lightning kanáli. Z pohľadu užívateľa je to veľmi výhodné, nemusí presúvať Bitcoiny medzi dvoma platobnými sieťami.
Aplikácia Phoenix je extrémne jednoduchá - robí jednu vec a robí ju dobre. Dokáže prijímať a odosielať Bitcoinové platby - či už on-chain alebo cez Lightning. V skutočnosti pod kapotou je viacero zaujímavých funkcií, ale snaha je jednoznačne o vytvorenie minimalistickej Lightning peňaženky, ktorá funguje.
Teraz si ukážeme ako funguje inštalácia, záliha, nastavenie a samozrejme platby. Po instalácii z obchodov (Play alebo App Store, podľa platformy) nás uvítajú úvodné obrazovky. Potom si môžeme vybrať, či chceme vytvoriť novú peňaženku alebo obnoviť zálohu:
Mimochodom, ak máte systém nastavený na češtinu alebo slovenčinu, bude celá peňaženka preložená (výnimkou je zatiaľ slovenčina na platforme iOS, ktorá zatiaľ nie je preložená).
Ak klikneme na vytvorenie novej peňaženky, môžeme ju okamžite začať používať.
To bolo jednoduché, však? Je to dokonca jednoduchšie ako custodial peňaženky - netreba vypĺňať žiadne e-mail adresy alebo telefónne čísla. Samozrejme, peňaženku by sme si mali zazálohovať, to si ukážeme neskôr. Teraz poďme prijať prvú platbu. Kliknime na tlačidlo Receive.
Ak chceme, môžeme kliknúť na tlačidlo Edit (Upraviť) a napísať popis prichádzajúcej platby (tento popis uvidí aj odosielateľ a ostane vo vašej peňaženke ako popis platby) a sumu, ktorú chcete od druhej strany. Sumu môžete zadať v sats, ale aj vo vami zvolenej fiat mene (tú si môžete zvoliť v nastaveniach).
Po kliknutí na Create Invoice sa nám zobrazí QR kód Lightningovej faktúry. Faktúru však môžeme aj zdieľať (príslušným tlačidlom zdieľania) alebo skopírovať do clipboardu.
Ak z inej peňaženky túto faktúru zaplatíme, dostaneme potvrdzujúcu obrazovku:
Prijatá platba nemá žiadne potvrdenia na sieti, kanál musí ťažiar zaradiť do bloku. Vzhľadom na to, že platba prišla cez Lightning je však zostatok okamžite použiteľný a na ťažiarov vôbec nemusíme čakať. Zostatok je ihneď použiteľný.
Odosielanie funguje podobne - klikneme na tlačidlo Send (Odoslať). Po povolení prístupu ku kamere (aby sme mohli skenovať QR kódy) môžeme buď načítať QR kód alebo vložiť platobnú požiadavku z clipboardu. Ja skenujem QR kód z BTCPayServera.
Akokoľvek načítame platobnú požiadavku, na ďalšej obrazovke sa dozvieme detaily - popis platby, sumu, poplatky a podobne.
Môžeme sa pozrieť na hlavnú obrazovku, kde vidíme prehľad všetkých platieb a máme prístup k ostatným ovládacím prvkom - nastaveniam alebo možnosti vyžiadať si likviditu.
Na obrazovke sme si dúfam všetci všimli, že sme stále neodzálohovali peňaženku. Poďme to napraviť - kliknutím na upozornenia sa dostaneme priamo do obrazovky so zálohou. Ak by sme chceli zálohu vykonať neskôr znova, stlačíme tlačidlo ozubeného kolieska vľavo dole sa dostaneme do menu s nastaveniami a zvolíme možnosť “Recovery Phrase”.
Po zapísaní 12 anglických slov, ktoré tvoria zálohu peňaženky potvrdíme, že sme si ich zapísali na bezpečné miesto a že chápeme, že ak stratíme telefón a zároveň zálohu, ku svojim Bitcoinom sa už nedostaneme. Prosím, naozaj si urobte zálohu na papier a dobre ju odložte, nie len screenshot niekde do fotiek (mimochodom, screenshot to ani nedovolí urobiť, aj keď mnohí to “riešia” tak, že si mobil odfotia foťákom na druhom mobile). Veľa ľudí prišlo o peniaze preto, lebo si zálohu chceli urobiť “niekedy neskôr”. Je to 12 slov, zapíšete si to za menej ako tri minúty.
Ak chcete prijať on-chain Bitcoin, v záložke Receive potiahnite prstom doľava - tým sa zobrazí Bitcoinová adresa a QR kód. Na túto adresu stačí poslať Bitcoiny a objavia sa vo vašej peňaženke. Pre odoslanie on-chain platby nemusíte urobiť nič špeciálne - ak naskenujete on-chain adresu alebo platobnú požiadavku (alebo ju vložíte z clipboardu), platba normálne zafunguje ako keby išlo o on-chain peňaženku.
Pozrime sa ešte na pár zaujímavých nastavení. Kliknutím na ozubené koliesko sa nám zobrazí menu:
Ak máme radi anonymitu, môžeme zapnúť používanie anonymizačnej siete Tor. Podporu Tor-u má Phoenix priamo integrovanú v peňaženke a stačí ju zapnúť. Tu je dobré povedať, že používanie Phoenixu s Torom je výrazne pomalšie, nemusia prejsť automaticky všetky platby a aplikáciu občas treba reštartnúť, aby sa pripojila na iný Tor entry point. Osobne používam Phoenix bez Toru.
V časti Display máme možnosť zmeniť nastavenia fiat meny, jazyka a zobrazenia.
Ak vieme, že budeme viac prijímať ako odosielať, môžeme si vyžiadať likviditu. Urobíme tak tlačidlom “Request Liquidity” (vyžiadať likviditu) na hlavnej obrazovke.
Zvýšenie likvidity na prijímanie je dobré robiť v časoch nižších poplatkov (napríklad cez víkend), aby sme neplatili príliš veľa ťažiarom. Zároveň sa často oplatí skôr vyššia likvidita - poplatok za likviditu síce závisí od sumy (1% v čase písania tohto textu), ale poplatok minerom je fixný.
Ak si chcete pozrieť inštaláciu a použitie Phoenix peňaženku na videu, odporúčam prvú lekciu z kurzu Ako si kúpiť prvé kryptomeny a zaplatiť nimi. Kurz je dostupný zdarma a bez registrácie.
Všimnite si, že táto lekcia má menej ako štyri minúty, za ktoré stihneme urobiť všetko, vrátane zálohy peňaženky.
Phoenix umožňuje prijímať aj odosielať on-chain platby, oba smery robí pomocou technológie splicingu. To znamená, že prijatie on-chain platby pridá prostriedky do kanála, teda vytvorí transakciu, ktorá použije prostriedky z existujúceho kanála, prihodí k nim nové on-chain prostriedky a tým vznikne nový kanál (Phoenix nevytvára viacero kanálov, ale podľa potreby pracuje s jedným kanálom, ktorý zväčšuje alebo zmenšuje).
Odoslanie on-chain platby zoberie on-chain výstup, ktorým je nabitý kanál a vyberie on-chain prostriedky odtiaľ, zvyšok pošle naspäť a otvorí nimi nový kanál.
To znamená, že pri on-chain platbách sa pri Phoenix-e mení likvidita. Prijatie platby sú dve on-chain platby - jedna je odoslanie na swap-in on-chain adresu, a druhá na vloženie potvrdených prostriedkov do kanála. Pritom táto druhá platba je zatiaľ pomerne drahá, pretože míňa prostriedky z 2-of-2 multisig adresy. Čoskoro však prejdú aj kanály na taproot musig schému, ktorá tento problém vyrieši. Odoslanie prostriedkov pomocou Phoenixu on-chain je jedna transakcia, aj keď tiež trochu drahšia, z rovnakého dôvodu.
Phoenix umožňuje prijímať aj odosielať on-chain platby, oba smery robí pomocou technológie splicingu. To znamená, že prijatie on-chain platby pridá prostriedky do kanála, teda vytvorí transakciu, ktorá použije prostriedky z existujúceho kanála, prihodí k nim nové on-chain prostriedky a tým vznikne nový kanál (Phoenix nevytvára viacero kanálov, ale podľa potreby pracuje s jedným kanálom, ktorý zväčšuje alebo zmenšuje).
Odoslanie on-chain platby zoberie on-chain výstup, ktorým je nabitý kanál a vyberie on-chain prostriedky odtiaľ, zvyšok pošle naspäť a otvorí nimi nový kanál.
To znamená, že pri on-chain platbách sa pri Phoenix-e mení likvidita. Prijatie platby sú dve on-chain platby - jedna je odoslanie na swap-in on-chain adresu, a druhá na vloženie potvrdených prostriedkov do kanála. Pritom táto druhá platba je zatiaľ pomerne drahá, pretože míňa prostriedky z 2-of-2 multisig adresy. Čoskoro však prejdú aj kanály na taproot musig schému, ktorá tento problém vyrieši. Odoslanie prostriedkov pomocou Phoenixu on-chain je jedna transakcia, aj keď tiež trochu drahšia, z rovnakého dôvodu.
Phoenix je skvelá peňaženka pre začiatočníkov. Vďaka ním snáď väčšina nových užívateľov fázu custodialnych peňaženiek rovno preskočí a vezme si privátne kľúče do svojich rúk. Phoenix osobne považujem za dobrú Bitcoinovú peňaženku na lightning aj on-chain transakcie pre úplných začiatočníkov. Úspešnosť platieb je obrovská, peňaženka funguje rýchlo a spoľahlivo. Užívateľ nemusí riešiť, či používa Lightning alebo on-chain, lebo obe skúsenosti sú perfektne integrované (respektíve ak Phoenix začne časom ukazovať unifikované QR kódy, tak to bude ideálne).
Prajem si, aby ste aspoň jednu Lightning peňaženku druhej generácie vyskúšali a ponúkali ju nováčikom namiesto custodial peňaženiek. Myslím, že Phoenix sa tejto úlohy zhostí perfektne.
Platobná sieť známa ako Lightning Network, ktorá funguje ako druhá vrstva bitcoinového protokolu, je tu s nami už viac ako dva roky. Lenže ako to všeobecne s vývojom zložitých a robustných systémov býva, trvá dlhšiu dobu, než sa vydajú tou správnou cestou, a to sa týka nielen technických riešení, ale aj používateľskej prívetivosti. Spoločnosť ACINQ je jedným z popredných inovátorov v tejto oblasti a na konci roka 2019 sa rozhodla dať svetu darček v podobe peňaženky Phoenix – LN peňaženky druhej generácie.
Ako to už pri nových protokoloch býva, je zo začiatku veľmi zložité ich používať a dlhodobo spravovať. Rovnaké to bolo aj s Lightning Network a peňaženkami na ňom postavenými. Používatelia museli manuálne spravovať vytváranie aj uzatváranie platobných kanálov, likviditu v týchto kanáloch, zálohovanie stavu kanálov, k akým uzlom sú používatelia pripojení a posielanie transakcií nebolo vôbec spoľahlivé.
Lightning Network je tzv. druhou vrstvou nad bitcoinovým protokolom. Jej cieľom je hlavne umožnenie drobných, lacných a rýchlych platieb, ale bez potreby každú drobnú platbu zapisovať do blockchainu. Viac o Lightning Network si môžete prečítať v našom článku tu.
Aj keď sa technologicky stav stále zlepšoval, používateľský prežitok (UX) zaostával. Toto sa týkalo aj prvej mobilnej LN peňaženky Eclair od spoločnosti ACINQ, ktorá, hoci na svoju dobu bola dobrá, nedokázala používateľa odtieniť od týchto technikálií.
Netrvalo dlho a vývojárom došlo, že pokiaľ chcú čo najlepší UX, nemusia znovu vynájsť koleso – stačí sa pozrieť na existujúce Bitcoin peňaženky (na ktoré sú používatelia zvyknutí) a vziať si z nich to, čo funguje. Nie je potreba zaťažovať používateľa zbytočnými technickými záležitosťami, pokiaľ môže aplikácia urobiť prácu za neho. A tak vznikla LN peňaženka druhej generácie. Zrodil sa Phoenix.
Sklamaním pre niektorých čitateľov najskôr bude, že Phoenix je aktuálne dostupný iba na zariadeniach so systémom Android. Nie je však potrebné dlho zúfať, vývojári usilovne pracujú na verzii na iOS, ktorá by tak mala byť dostupná v roku 2021.
Prvou a základnou vlastnosťou každej bitcoinovej peňaženky by malo byť to, že je tzv. non-custodial, teda že používateľ má plne pod kontrolou privátne kľúče a tie neopúšťajú jeho zariadenie (leda by ich niekomu sám odovzdal). Všetky bitcoiny vo vašej Phoenix peňaženke sú teda skutočne vaše, aj keby ACINQ alebo celý Lightning Network zmizli cez noc.
Peňaženka používa na zálohe dvanásťslovný seed podľa štandardu BIP39, avšak keďže ide o LN peňaženku, vývojári varujú pred importovaním seedu do niekoľkých peňaženiek naraz, to by totiž mohlo spôsobiť problémy.
Okrem anglického jazyka podporuje Phoenix ďalších sedem jazykov vrátane češtiny, nevýhodou však je, že jazyk sa nedá prepnúť manuálne, ale je nastavený podľa jazyka systému. Čo sa však dá zmeniť, je nastavenie zobrazených mien – môžeme teda zobraziť bitcoin či jeho rôzne denominácie (satoshi, milibitcoin) a na prepočet na národné meny máme na výber niekoľko možností, vrátane tej českej. Pokiaľ je niekto obzvlášť opatrný, aby okolité oči nevideli zostatok na displeji telefónu, môže zobrazovanie zostatku na hlavnej stránke vypnúť.
Phoenix obsahuje aj možnosť prepnutia farebnej schémy na svetlú či tmavú verziu alebo podľa nastavenia systému – toto uľaví vašim očiam, pokiaľ radi platíte v prítmí či v noci nedočkavo kontrolujete svoj zostatok.
Nakoniec má Phoenix pre používateľov aj možnosť pripájať sa výhradne pomocou siete Tor, čo skryje jeho skutočnú IP adresu a zlepšuje tak používateľovu anonymitu. Je tiež možné pripojiť Phoenix k vlastnému Electrum serveru (aj napriek Tor) a nespoliehať sa tak na servery tretích strán.
Toto všetko je takmer na jednotku, ale vývojári museli urobiť pár kompromisov, aby Phoenix peňaženka mohla mať tak dobré UX. Tieto kompromisy sa týkali najmä súkromia a potreby dôverovať spoločnosti ACINQ. Keďže sa vaša Phoenix peňaženka pripája iba k ACINQ uzlom, má táto spoločnosť informácie o platbách, ktoré posielate.
ACINQ je našťastie plne transparentný ohľadom týchto kompromisov a hodlá ich minimalizovať tak, aby do budúcna predstavovali ešte menšie riziko (pozri pridanie pripojenie cez Tor). Možnosť pripojiť sa k vlastnému LN uzlu však nečakajte.
Sami tvorcovia tvrdia, že Phoenix má rovnaké UX ako štandardná bitcoinová peňaženka. Aj keď toto tvrdenie môže niekomu pripadať pochabé, napríklad z dôvodu, že UX klasických bitcoinových peňaženiek sa mu nemusí zdať ideálne, je to stále veľký krok.
Phoenix, rovnako ako ostatné peňaženky funguje tak, že po prvom spustení vyzve používateľa k vytvoreniu novej peňaženky alebo obnoveniu zo zálohy. Zároveň umožňuje už pri štarte zapnúť pripojenie cez Tor a pripojiť sa k vlastnému Electrum serveru, aby už pri vytváraní peňaženky nebolo potrebné spoliehať sa na cudzie uzly.
Vytvorenie novej peňaženky trvá len niekoľko sekúnd, potom je používateľ ihneď prevedený na hlavnú stránku, kde je pre neho zobrazené dôležité upozornenie, aby si zálohoval svoju peňaženku (pomocou dvanásťslovného seedu) a prípadne nastavil PIN kvôli bezpečnosti. Okrem zamykania pomocou PIN kódu Phoenix podporuje aj biometrický zámok, teda čítačku odtlačkov prsta.
Ďalej už môžeme meniť nastavenia a prijímať aj odosielať platby ako on-chain, tak aj cez Lightning Network.
Výrazným rozdielom oproti iným LN peňaženkám je, že vo Phoenix peňaženke sa nerozlišuje medzi tzv. on-chain a off-chain zostatkom, respektíve žiadny on-chain zostatok ani neobsahuje. Všetky bitcoiny, ktoré vo Phoenixe máte, sú uzamknuté v Lightning Network kanáloch.
Výrazy „on-chain“ a „off-chain“ odlišujú transakcie, ktoré sa zapisujú do blockchainu. Typickou bitcoinovou transakciu, ktorú mineri musia tzv. vyťažiť, aby ju zaradili do blockchainu, označujeme ako on-chain. Off-chain transakcie sú také, ktoré sa do blockchainu nezapisujú – môže to byť napríklad tak, že jeden človek predá druhému svoje privátne kľúče výmenou za hotovosť.
Keďže aj transakcie v Lightning Network sa nezapisujú do blockchainu (hoci sú to platné bitcoinové transakcie), označujeme ich ako off-chain.
Aby sme mohli platiť, je potrebné najskôr nejaké bitcoiny prijať. To možno urobiť úplne jednoducho pomocou tlačidla „Prijať“. Peňaženka vygeneruje Lightning Network požiadavku na prijatie platby, na ktorej možno nastaviť požadovaný obnos a popis rovnako ako v iných LN peňaženkách.
Možno vás napadá otázka: „Ako prijmem platbu cez Lightning Network, keď nemám otvorené žiadne kanály?“ Je to jednoduché, Phoenix vie automaticky vytvoriť nový kanál tzv. za letu. Nie je teda potrebné riešiť prichádzajúcu alebo odchádzajúcu likviditu a nastavovanie kanálov – Phoenix sa o všetko postará sám. Z prichádzajúcej čiastky je 0,1 % použitých ako poplatok ACINQ za túto službu.
Rovnaká jednoduchosť sa týka aj prichádzajúcich on-chain platieb. Na obrazovke na prijatie stačí použiť tlačidlo „Zobraziť bitcoinovú adresu“ a peňaženka vygeneruje štandardnú adresu vo formáte bech32. Keď protistrana pošle na túto adresu bitcoiny, Phoenix automaticky vytvorí nový LN kanál. Táto operácia, ktorá zamení prichádzajúce on-chain za off-chain bitcoiny, sa nazýva swap-in a ACINQ si za ňu opäť berie drobný poplatok (0,1 % z čiastky).
Perfektné, už vieme prijímať on-chain aj off-chain platby bez akýchkoľvek starostí, ako teda platiť? Phoenix vie automaticky detegovať, či skenovať platobné požiadavky Lightning Network alebo prostú bitcoinovú adresu, a podľa toho koná. V prípade LN požiadavky požiada používateľa o potvrdenie platby a platbu okamžite odošle. V prípade posielania na bitcoinovú adresu je možné zmeniť odosielané množstvo a Phoenix následne urobí tzv. swap-out, teda odošle LN platbu ACINQ uzla, ktorý urobí on-chain platbu za neho. Všetko opäť trvá len pár sekúnd.
Výhoda Phoenixu je teda hlavne tá, že je plnohodnotnou LN peňaženkou. Avšak všetku ťažkú prácu odvedú uzly ACINQ-u, na ktoré je naša peňaženka napojená. ACINQ si za to berie drobné poplatky z vytvárania kanálov.
Prichádzajúce a odchádzajúce platby je možné spätne prezerať a prípadne pri nich editovať popisy. V nastavení peňaženky možno tiež kontrolovať stav jednotlivých LN kanálov, teda hlavne ich likvidity. V nastavení taktiež nájdeme možnosť uzavrieť všetky kanály a poslať zostávajúci zostatok na bitcoinovú adresu mimo peňaženky Phoenix. Táto možnosť poslúži najmä používateľom, ktorí už Phoenix nechcú naďalej využívať alebo chcú zresetovať stav svojich kanálov.
Ako sme už naznačili na predošlých riadkoch, Phoenix sa snaží byť hlavne peňaženkou, ktorá bude svojim používateľom čo najviac uľahčovať prijímanie aj odosielanie bitcoinových platieb – nehľadiac na to, či on-chain, či cez Lightning Network. Toho sa dá však dosiahnuť, len keď používateľ nebude mať možnosť všeličo meniť a prenastavovať.
Môžeme teda povedať, že Phoenix cieli hlavne na používateľov, ktorí jednoducho len chcú bitcoinom platiť, ale už nechcú poznať technické pozadie alebo si nepotrebujú určité veci nastavovať po svojom. Dalo by sa to skoro prirovnať k ProtonMailu či podobným mailovým klientom – nie je potreba prevádzkovať vlastný mail server, keď to niekto robí dobre za mňa a poskytuje mi to ako službu.
Do cieľovej skupiny Phoenix skoro určite nebudú patriť používatelia, ktorí extrémne prahnú po transakčnom súkromí a anonymite. Ľudia, ktorí nechcú používať Lightning Network a on-chain platby sú pre nich dostačujúci, sú taktiež najskôr mimo hry. Ale všetkým ostatným, ktorí chcú platiť bez väčších starostí a zároveň netúžia prevádzkovať vlastný LN uzol, možno odkázať: Phoenix je tu pre vás!
Phoenix od spoločnosti ACINQ je peňaženka s pravdepodobne najlepšie premysleným používateľským rozhraním na trhu. Aj keď toho čo do nastavenia, súkromia alebo suverenity neponúka toľko ako ostatné Lightning Network peňaženky, v použiteľnosti ich všetky predbehne.
Juraj Bednár
Som cypherpunker, mám rád slobodu, súkromie, peer to peer technológie a terminálové okná. Skúmam chaotický svet, volatilitu a neistotu, bojujem proti entropii - zakladám firmy, neziskové projekty, robím kurzy a píšem knihy. Som spoluzakladateľ Paralelnej Polis, hackerspace Progressbar, či bug bounty platformy Hacktrophy. Vyštudoval som odbor umelá inteligencia a umelá inteligencia sa vrátila - tak ako som ju nikdy nepoznal. O všetkých týchto skúsenostiach píšem blog.