i
Upozornění: Všechny služby týkající se Samourai Wallet vč. příslušných projektů jako oxt.me, kycp.org, nextblock.is, gitlab repozitář a další byly pozastaveny vládou Spojených států amerických. Žádnou část z celkové infrastruktury nemají vývojáři pod kontrolou a proto ani není bezpečné aplikace používat či aktualizovat.
Běžné používání Bitcoinu má jednu zásadní vadu na kráse. Tou je mizerné transakční soukromí, které se prozatím na úrovni protokolu nepodařilo moc vylepšit. A jen díky vývojářům, kteří se rozhodli tento problém vyřešit po svém, existuje mobilní peněženka Samourai Wallet. Ta je doslova nabitá řadou fičur, které mnoho problémů se soukromím řeší různými způsoby. RoninDojo Tanto je full nodové mini-PC vybavené výkonným hardwarem a kompletním Samourai Wallet ekosystémem. Ten umožňuje využívat Bitcoin bez obav tak, jak to Satoshi Nakamoto původně zamýšlel.
i
Full node = plnohodnotný uzel bitcoinové sítě, jenž drží kompletní a ověřenou databázi všech transakcí, které kdy v síti proběhly. Nejčastěji jde o plně synchronizovaný Bitcoin Core. Aktivních nodů jsou v síti desítky tisíc, viz graf od bitcoinového core vývojáře Luke Dashjr.
RoninDojo Tanto je v první řadě bitcoinový full node. Pokud nevíte, o co jde, mrkněte nejdříve na náš článek Co to je Bitcoin full node? (ZÁKLADY BITCOINU), který, jak název napovídá, obsahuje základní a důležité informace, které byste o Bitcoinu měli vědět. Ale ve zkratce, nepoužíváte-li vlastní full node, nepoužíváte ani Bitcoin. Věříte třetí straně a to není způsob, kterým byl Bitcoin navržen a jak by se měl používat.
Tanto ale není obyčejným full nodem. V malé krabičce se skrývá výkonný mini počítač s procesorem o 6 jádrech, 4GB RAM a 1TB NVMe SSD diskem. Chlazení zajišťuje mohutné šasi z tlustostěnného hliníku, které zajišťuje nehlučný a pasivní chod celého zařízení. Po softwarové stránce zde naleznete celý stack Samourai Wallet ekosystému a pár dalších užitečných aplikací, jako je váš vlastní Bitcoin (blockchain) explorer, electrum server a např. nástroj pro napojení na Bisq, decentralizovanou P2P burzu.
Tanto je pro každého, kdo chce používat Bitcoin tím správným způsobem, ale především pro ty, jimž není lhostejné jejich transakční soukromí. Výhoda Tanta je, že můžete všechny užitečné funkce poskytnout svým blízkým tak, aby i oni mohli používat Bitcoin s plným potenciálem, o čemž si povíme již za chvíli.
Základem Samourai Wallet ekosystému je mobilní peněženka pro Android. Jak už to ale s peněženkami bývá, každá se musí připojovat na nějaký full node. A je jedno, zda máte peněženku pro desktop či chytrý telefon, nebo používáte hardwarovou peněženku typu Trezor či Ledger. Samourai Wallet se ve výchozím nastavení připojuje na tzv. Dojo, což je full node vyvinutý přímo pro potřeby této peněženky. A pokud nemáte své vlastní Dojo, připojujete se na Dojo, které provozují vývojáři této peněženky a celého Samourai Wallet ekosystému.
To s sebou samo o sobě přináší značnou nevýhodu, která opět spočívá v tom, jak Bitcoin funguje na úrovni protokolu. Pokud používáte cizí Dojo, majitel a provozovatel Doja zná vaši kompletní transakční historii napříč minulostí, přítomností i budoucností. Stejně tak ale funguje drtivá většina peněženek, které nejsou napojeny na vlastní full node. A právě zde začíná dávat smysl vlastní full node, v našem případě Dojo a v kontextu dnešního článku i vlastní Tanto.
Ve středu obrázku vidíme Dojo, které jako stavební kámen využívá Bitcoin Core. Každý provozovatel Bitcoin Core signalizuje bitcoinové síti informace o souboru pravidel, se kterými (ne)souhlasí, což je základní prvek konsenzu, a tedy účasti v síti jako takové. Pokud by se kdokoliv snažil odeslat do bitcoinové sítě podvodnou transakci, budete to vy prostřednictvím vašeho vlastního bitcoin softwaru, kdo řekne NE. Pokud nemáte vlastní full node, nemáte ani hlas a musíte doufat, že bude někdo hlasovat za vás ve vašem vlastním zájmu.
Na Dojo je pak napojeno několik dalších nástrojů sloužících k různým účelům. Pomocí Whirlpool CLI se můžete zúčastnit speciálních transakcí, které mají za účel přerušit deterministické vazby mezi vstupy a výstupy dané transakce. Jednoduše řečeno, taková transakce vytvoří v blockchainu dostatečný chaos, aby se nikdo nezorientoval v tom, odkud bitcoiny pocházejí a jaká je jejich historie. Takové transakci se říká CoinJoin, lidově řečeno se takovému procesoru přezdívá mixování.
i
Mixování je poněkud nešťastný název pro kolaborativní transakci typu CoinJoin. Mix totiž implikuje výměnu mincí s třetími stranami. V případě CoinJoinu pomocí Whirlpoolu vaše bitcoiny nikdy neopouštějí vaši peněženku a po celou dobu tohoto procesu k nim máte privátní klíče.
Zatímco Whirlpool CLI zajišťuje nepřetržité mixování všech vašich bitcoinů do chvíle, než je potřebujete utratit, Whirlpool GUI je grafické rozhraní, pomocí kterého tento nástroj můžete ovládat. Whirlpool se separátně nachází i v mobilní Samourai Wallet aplikaci, přes kterou můžete rovněž své bitcoiny mixovat, ale vzhledem k architektuře dnešních telefonů, které nejsou dělané na nepřetržitou práci, není aplikace vhodná k re-mixování. Daleko vhodnější je pro tento účel právě Whirlpool CLI, který může na Tantu nerušeně běžet 24/7/365 a nepřetržitě re-mixovat.
Whirlpool Stat Tool je užitečná aplikace, která vypočítává anonymity set vašich bitcoinů pomocí Boltzmannova termodynamického modelu. Jinými slovy můžete zjistit, jaký chaos externí pozorovatel (nejčastěji firmy provádějící transakční analýzu) uvidí, podívá-li se na vaše bitcoiny v blockchainu pomocí bitcoin exploreru.
Explorer, jindy nazývaný blockchain či bitcoin explorer, je aplikace, která překládá bitconovou databázi všech UTXO do čitelné a mnohdy i do grafické podoby. Pokud nevíte, o co jde, a nebo pokud explorer pravidelně používáte, rozhodně nevynechejte náš článek Bitcoin explorer (VŠE, CO POTŘEBUJETE VĚDĚT), jelikož v něm najdete spoustu zajímavých, ale hlavně důležitých informací.
Tanto je vybaveno příhodně nazvaným Bitcoin Explorerem, oblíbeným open-source projektem. V něm si můžete vyhledávat vlastní i cizí transakce a mimo to vám nabídne spoustu zajímavých funkcí a informací. Mít svůj vlastní explorer patří do základní výbavy každého pořádného uživatele a opět platí, že pokud nemáte svůj vlastní explorer, používáte něčí cizí, což s sebou přináší řadu nepříjemných kompromisů.
Indexer je speciální aplikace, která umí pracovat s bitcoinovou databází (blockchainem). Aby vaše peněženka (nejen Samourai Wallet) věděla, na jakých adresách se mohou nacházet vaše bitcoiny, jakou další čerstvou adresu vám má vygenerovat, chcete-li nějaké bitcoiny přijmout, je zapotřebí nějakého indexeru. A opět, nepoužíváte-li vlastní indexer, používáte cizí indexer, jehož provozovatele se ptáte na své adresy. Je to, jako byste se cizího člověka na ulici ptali na stav svého bankovního konta. Může to znít legračně, ale v důsledku jde při používání drtivé řady bitcoinových peněženek o velmi, velmi špatný nápad.
Tanto je takovým indexerem vybaveno. Obrovskou výhodou je, že si na něj můžete napojit řadu vlastních peněženek, ať už těch mobilních, desktopových, či hardwarových. Takovému indexeru se jinak říká Electrum Server a další nespornou výhodou je, že tento server můžete nabídnout i svým blízkým a citelně tak zlepšit jejich soukromí a bezpečnost při používání Bitcoinu.
Tanto je mimo jiné unikátním kusem hardwaru, a to zejména pro jeho custom case, který slouží zároveň i jako heatsink pro odvod tepla zajišťující plně pasivní chod. Výsledkem je neslyšný provoz, což je věc, které se s běžnými miniventilátory těžko dosahuje.
Tanto se posílá perfektně zabalené, aby vzhledem ke své váze dorazilo ke svému majiteli bez sebemenší újmy na zdraví. V přepravní krabici naleznete dvě menší viz foto. V jedné se nachází Tanto samotné, v druhé adaptér s veškerým příslušenstvím, které budete potřebovat.
Krom Tanta v balení naleznete napájecí adaptér, ethernet kabel, microSD kartu, speciální steel plate pro zálohu seedu uzpůsobený pro potřeby Samourai Wallet včetně raznice, gumové podložky pod Tanto, pár náhradních šroubků, imbusový klíč a několik fajn samolepek.
Samotné Tanto se skládá z SBC počítače RockPro64, který je výkonnější alternativou k oblíbenému RaspberryPi 4. RockPro64 je vybaven 6jádrovým ARM procesorem, 4GB RAM LPDDR4 a gigabitovým ethernetem. Kompletní specifikace naleznete zde. Tanto je rovněž vybaveno rychlým, 1TB NVMe SSD diskem. Teplo z procesoru jde rovnou do hliníkového casu, jenž bez problému odvádí teplo i při té nejnáročnější práci, kterou Tanto dostane.
Instalace Tanta je Plug and Play a budete k ní potřebovat trochu trpělivosti a pokud možno rozumně rychlé internetové připojení.
Zprovoznění Tanta je poměrně jednoduché. Stačí (v uvedeném pořadí) připojit ethernet kabel a posléze zdroj. Ze spodní strany Tanta uvidíte červené LED světlo, které symbolizuje, že vše běží. Tanto bude potřebovat cca 10 minut k dokončení všech potřebných nastavení a poté bude k dispozici skrze internetový prohlížeč na adrese https://ronindojo.local
Pokud by ani po deseti minutách nebyla adresa dostupná, bude potřeba zjistit IP adresu Tanta, kterou váš router zařízení přidělil, a tu přímo zadat v internetovém prohlížeči. K tomu můžete použít jednoduchou aplikaci Angry IP Scanner a nebo se přímo podívat do rozhraní vašeho routeru, kde naleznete seznam všech připojených zařízení včetně Tanta. Jakmile se dostanete na webové rozhraní, setkáte se s úvodní obrazovkou.
Dalším krokem je zobrazení přihlašovacích údajů s root právy. Heslo si důkladně uložte, ideálně do nějakého password manageru typu Bitwarden apod. Jde o účet s maximálními možnými právy, který pravděpodobně nikdy potřebovat nebudete, ale přístup se může jednou hodit.
Jako další je potřeba nastavit heslo pro účet ronindojo, pod kterým se budete přihlašovat nejen do webového rozhraní, ale v případě potřeby i do prostředí příkazové řádky pomocí SSH, budete-li jej někdy potřebovat. V prostředí CLI se dá nastavovat mnohem více věcí a je zde vícero funkcí, které ale budou postupně přidávány do webového prostředí.
Na další stránce uvidíte průběh instalace Tanta a veškerého softwaru. To může v závislosti na internetovém připojení pár desítek minut trvat a jelikož se některé aplikace kompilují přímo ze zdrojového kódu, je potřeba mít trochu trpělivosti.
Jakmile bude dokončena instalace všech aplikací, objeví se tlačítko „Take me to the Dashboard“, které vás přenese do hlavního webového rozhraní RoninDoja. V následující kapitole se podíváme na všechny sekce a vysvětlíme si, k čemu slouží a jak je využívat.
Většina funkcí, které budete potřebovat, je k dispozici ve webovém rozhraní. Některé funkce jsou dočasně dostupné pouze skrze terminál, do nějž se dostanete pomocí SSH např. s aplikací Termius. Tým RoninDojo projektu usilovně pracuje na tom, aby byly všechny důležité funkce dostupné z webového rozhraní a běžný uživatel nemusel přijít s terminálem do styku.
Na hlavní stránce neboli na Dashboardu naleznete všechny zásadní informace o stavu Tanto. Než začnete své Tanto plně používat, je zapotřebí, aby všechny tři položky, Dojo, Bitcoin Core a Indexer, byly sesynchronizovány na 100 %. To může trvat až 48 h či déle, opět v závislosti na rychlosti vašeho internetového připojení, jelikož Bitcoin Core potřebuje stáhnout přes 450 GB dat a průběžně je zpracovávat. Tato data pak zpracovává ještě Indexer a Dojo, což může trvat taky pěkných pár hodin.
Každá jednotlivá aplikace či softwarová část RoninDoja má svoje logy. V těch loguje veškerou důležitou aktivitu, kterou aplikace provádějí. Technicky zkušenějším uživatelům se mohou hodit ve chvíli, kdy nebude něco fungovat tak, jak by mělo, a všem ostatním se budou hodit pro případnou komunikaci se supportem či ochotnou komunitou na Telegramu, která vždy ráda poradí a pomůže.
O pár odstavců výše jsme si říkali, že pokud nepoužíváte vlastní full node a nemáte vlastní electrum server, pak provozovatel toho, jehož server používáte, zná celou vaši transakční historii. Za to je odpovědná věc zvaná XPUB. Vaše běžná bitcoinová adresa, na kterou přijímáte bitcoiny, není nic jiného než veřejný klíč. XPUB je hlavní veřejný klíč, ze kterého se derivují veřejné klíče. Aby vaše RoninDojo vědělo, jaké veřejné adresy má sledovat, je potřeba importovat XPUB. Ten naleznete v nastavení vaší Samourai Wallet aplikace.
Rozdíl v používání vlastního full node a cizího je tedy jednoduše ten, že pokud používáte cizí full node, posíláte svůj XPUB (celou vaši transakční minulost i budoucnost) cizímu člověku. Máte-li svůj full node a v dnešním případě své RoninDojo, XPUB nikam a nikomu neposíláte a nikomu nic neprozrazujete. Existují i jiné metody získávání adres, např. tzv. block filtery, ale ty jsou pro účely chytrých telefonů z pohledu dat a hardwarové náročnosti prozatím nezajímavé.
Ačkoliv s vlastním RoninDojem získáte i svůj vlastní Bitcoin Explorer, zdejší funkce Transaction vám rychle umožní zkontrolovat jakoukoliv transakci. Tu můžete posléze otevřít v OXT či KYCP explorerech, které jsou vybaveny velmi užitečnými nástroji, jež „obyčejné“ explorery postrádají. Než s nimi začnete pracovat, rozhodně znovu doporučujeme náš článek Bitcoin explorer, ve kterém se těmto dvěma věnujeme podrobněji.
Pakliže by vám chyběla nějaká specifická adresa nebo byste chtěli v rychlosti prozkoumat jakoukoliv adresu v bitcoinovém blockchainu, můžete tak učinit zde. Pokud adresu importujete, vaše Dojo ji bude i nadále sledovat. Tu pak můžete v rychlosti otevřít opět na OXT a zkoumat více dopodrobna.
Pakliže byste měli podezření, že vám chybí nějaká transakce či adresa, je zde možnost proscanovat určitý rozsah bloků. Pravděpodobně tuto funkci nikdy potřebovat nebudete, ale kdyby náhodou, je k dispozici. Navíc jde o celkem pomalý proces.
Další položkou v menu jsou informace o systému. Zde naleznete podrobný přehled o teplotách a vytížení procesoru, podrobné informace o operační paměti RAM, síťovém prostředí a úložišti. Zároveň odsud můžete své Tanto restartovat nebo úplně vypnout.
Tato funkce je spíše pro pokročilejší uživatele, ale slouží pro případy, kdy chcete např. použít Samourai Wallet v offline režimu. Pomocí aplikace podepíšete transakci svým privátním klíčem a zde ji pak vložíte v HEX formátu a odešlete do sítě. Tímto způsobem se pak dá Samourai Wallet peněženka používat jako cold storage.
V předposlední sekci menu pak naleznete možnosti změny hesla pro případy, že byste si při počátečním nastavení RoninDoja zvolili heslo, které vám nevyhovuje. A ve finále, v poslední části menu najdete způsoby, jak přispět nezávislému týmu vývojářů, který na projektu RoninDojo nepřetržitě a usilovně pracuje a posouvá jej vpřed.
Terminál neboli příkazová řádka může znít děsivě, ale v případě RoninDoja se bát nemusíte. Je zde vytvořeno jednoduché textově-grafické rozhraní a bohatě si vystačíte s šipkami a enterem na klávesnici. Pomocí aplikace pro SSH připojení, např. Termius, se opět připojíte pomocí IP adresy, uživatele ronindojo a hesla, které jste si zvolili v průběhu prvotního nastavení.
Na hlavní stránce naleznete několik položek. První se týká Doja, druhá RoninUI (webového rozhraní), třetí přístupových údajů ke všem aplikacím, čtvrtá aplikací samotných, pátá obsahuje nástroje pro uživatele Samourai Wallet a poslední šestá nabízí volby celkového systému.
Pod první položkou Dojo můžete základní aplikaci, na které vše stojí, zastavit, spustit, restartovat, zkontrolovat stav, logy či celé Dojo přeinstalovat. Ani jednu z těchto funkcí s největší pravděpodobností asi potřebovat nebudete, ale v případě potřeby jsou zde dostupné a budete-li něco řešit se supportem, mohou vás požádat o interakci s těmito možnostmi.
RoninUI, resp. webové rozhraní, je v podstatě jedna samostatná aplikace. V této sekci jsou dostupné všechny volby jako u předchozí položky. Ty se můžou hodit především v případě, že by byly s webovým rozhraním nějaké potíže, např. pokud by nebylo dostupné.
Každá jednotlivá aplikace, která na RoninDojo běží, má své vlastní přihlašovací údaje. Většinu z nich, až na Whirlpool, nebudete potřebovat, slouží ke komunikaci a propojením mezi sebou samými. Přihlašovací údaje Whirlpoolu by měly být co nevidět k dispozici i ve webovém rozhraní, ale dnes si ukážeme, jak je využít a jak propojit RoninDojo se Samourai Wallet peněženkou a s Whirlpool GUI na desktopu pro pohodlné a nepřetržité mixování.
RoninDojo je vybaveno ještě několika aplikacemi, které prozatím nejsou z webového rozhraní dostupné. Mempool Space Visualizer je opět vlastní instancí známého exploreru mempool.space, o kterém jsme rovněž psali v již zmiňovaném článku o explorerech. Specter Server slouží k propojení Specter aplikace s vlastním full nodem. Electrum Server nabízí volby dvou verzí indexeru (SW Indexer a Electrs) a v dohledné době přibude třetí, velmi rychlý a výkonný indexer Fulcrum, který by měl nahradit Electrs.
Bisq Connection slouží k propojení vlastního full nodu s Bisq aplikací, decentralizovanou P2P směnárnou, na kterou jsme napsali podrobný návod, jenž by vám rozhodně neměl uniknout. Fan control slouží pro potřeby ovládání ventilátoru v případech, kdy si chcete RoninDojo postavit sami z vlastních komponent. A ve finále, položka Manage Application slouží ke správě všech těchto aplikací.
Sekce Samourai Toolkit obsahuje tři super nástroje týkající se transakčního soukromí. Tou hlavní je ovšem Whirlpool, FOSS software sloužící k již dříve zmíněným kolaborativním transakcím, známým jako CoinJoin. Nastavení Whirlpoolu a vysvětlení toho, jak funguje a jak jej správně používat, si ukážeme již za chvíli.
Boltzmann calculator je pythonová kalkulačka, která propočítává entropii bitcoinových transakcí podle Boltzmannova termodynamického modelu. Zjednodušeně řečeno ověřuje pravděpodobnost deterministických linků mezi bitcoinovými UTXOs. Pomocí této featury si můžete spočítat efektivitu entropie vaší celé peněženky či jednotlivých transakcí. Jedním z dalších nástrojů z dílny Samourai Wallet je speciální explorer KYCP.org (Know Your Coin Privacy), který tento model využívá a výsledky interpretuje v grafickém rozhraní.
Druhým nástrojem je Whirlpool Stat Tool, pomocí kterého můžete zjistit anonymity Whirlpoolové transakce. Ta je počítána ve dvou rovinách, a to backward anonset a forward anonset. Anonymity set bývá vášnivým tématem v otázce transakčního soukromí, a budete-li mu chtít více porozumět, doporučujeme skvělý článek: Diving head first into Whirlpool Anonymity Sets.
V poslední části CLI menu naleznete veškeré potřebné funkce k ovládání RoninDoja, jako je vypnutí, reboot, updaty operačního systému i RoninDoja samotného, systémový monitoring apod. Zároveň odsud můžete RoninDojo odinstalovat a znovu nainstalovat, budete-li mít kdykoliv takovou potřebu.
A nyní k jádru věci dnešního článku. Achillovou patou drtivé většiny bitcoinových peněženek, včetně těch hardwarových a především mobilních je to, že při jejich používání zároveň používáte cizí full node. A opět, ve většině případů vyzrazujete provozovateli full nodu svůj XPUB, a tedy celou vaši transakční historii i budoucnost. Napojení Samourai Wallet peněženky v kombinaci s RoninDojo je naštěstí jednoduché a zvládne jej i prachobyčejný uživatel.
Na začátek si ukážeme průvodce nastavením Samourai Wallet peněženky. Přivítá vás stručné a přehledné onboarding UI. Jak první obrázek napovídá, pointou Bitcoinu je být svou vlastní bankou a mít absolutní kontrolu nad svými financemi. Další krok zmiňuje použití Toru, který je zásadní pro síťové soukromí a upozornění na Dust UTXOs (forma útoků oslabující vaše bitcoinové soukromí). Třetí krok informuje o možnosti používat Samourai Wallet jako cold storage a čtvrtý napojení na vlastní full node pomocí pouhého nascanování QR kódu.
Prvním krokem při nastavení peněženky je možnost routování přes Tor síť, funkci rozhodně zapněte. Druhou je ono napojení na vlastní full node (Dojo). Klikněte na tlačítko Scan QR a oscanujte QR kód, který naleznete v Dashboardu (1. obrázek 5. kapitoly) vašeho RoninDoja pod položkou Dojo pomocí tlačítka Manage. Jakmile se v mobilní aplikaci Samourai Wallet změní Dojo Status na Connected, je vaše peněženka napojena na váš vlastní full node.
Dalším krokem je volba vytvoření nové bitcoinové peněženky nebo případně obnova stávající peněženky. Tady pozor, jste-li stávajícím uživatelem Samourai Wallet, nedává příliš smysl peněženku obnovovat, jelikož jste svůj XPUB již provozovateli full nodu poskytli. Pro maximalizaci soukromí je potřeba své bitcoiny přesunout na nově vytvořenou peněženku, která již od počátku byla napojená na váš vlastní full node (Dojo).
Jako další krok je potřeba nastavení passphrase, která slouží jako 13. slovo k vašemu seedu. Ideální je kombinace několika slov, která si budete stoprocentně pamatovat. Dalším krokem je zobrazení seedu a jak můžete vidět na 3. obrázku, správná bitcoinová peněženka vám nedovolí udělat screenshot. Seed si perfektně zaznamenejte pomocí RoninSteelu, kovového backupu ražnicového stylu, který jste dostali k vašemu Tantu. Pro ty, kteří RoninSteel nemají, je v dalším kroku připravena papírová šablona k vytištění se všemi potřebnými informacemi. Posledním krokem je nastavení 8místného PIN kódu.
V této kapitole si podrobně ukážeme, jak funguje Whirlpool v mobilní peněžence Samourai Wallet a přerušíme transakční historii bitcoinových UTXOs. Pro účely tohoto článku jsem zvolil testnet, jehož mince mají nulovou reálnou hodnotu. Pro klid duše si můžete Samourai Wallet a Whirlpool osahat také nejprve přes testnet, který můžete zvolit v prvním kroku ihned potom, jakmile nainstalujete aplikaci do svého telefonu.
Jakmile nastavíte svůj PIN, budete vyzváni ke claimnutí tzv. PayNymu. PayNym je Bitcoin Improvement Proposal BIP47, který umožňuje soukromé sdílení bitcoinových adres mezi dvěma stranami bez address reuse, což je snad ten nejhorší prohřešek při používání bitcoinu co do transakčního soukromí. Pomocí kryptografie si Alice s Bobem mohou vyměnit platební informace bez toho, aby nejenže znali navzájem své identity, ale zároveň bez přímé interakce mohli druhému kdykoliv zasílat platby bez omezení.
Samourai Wallet je ovšem o krok dál a PayNymy využívá ke speciálnímu typu kolaborativních transakcí známých jako Cahoots neboli Stonewall 2x (CoinJoin mezi dvěma stranami pro platbu třetí straně) a Stowaway (PayJoin – typ CoinJoinu mezi dvěma stranami, při kterém je skrytá reálná posílaná částka). A nyní se už dostáváme k Whirlpoolu.
i
Samourai Wallet peněženka je koncipovaná trochu jinak než drtivá většina bitcoinových peněženek. Pro oddělení bitcoinů s a bez transakční historie je peněženka rozdělena na více účtů. Dvěma hlavními jsou Receive a Postmix. Do Receive (šedá) byste měli pouze přijímat bitcoiny, jelikož v tomto účtu se defaultně nacházejí UTXOs s deterministickou transakční historií. Do Postmixu (modrá) přijímat nelze, lze z něj pouze utrácet a právě zde se nacházejí pouze bitcoiny s přerušenou transakční historií a change UTXOs vzniklé při útratě.
Do Whirlpoolu se dostanete pomocí rozbalovacího tlačítka v dolním pravém rohu. Jakmile budete ve Whirlpoolu, budete-li jej znát, můžete si nastavit tzv. SCODE, který slouží jako sleva na poplatky pro CoinJoinování. A nyní se pojďme seznámit s Whirlpoolem a všemi jeho částmi. Na první pohled to vypadá trochu složitě, ale praxe dělá mistry a nejlepší bude, když si to rovnou vyzkoušíte sami.
Napoprvé se opět setkáte s informačním UI, které vysvětluje co a jak. Na prvním obrázku v záložce Transactions je vysvětleno, co Whirlpool je a jak funguje. Jakmile pošlete bitcoiny z šedého Receive accountu, vznikne tzv. tx0 transakce, jejímž účelem je vytvoření několika stejně velkých UTXOs a separace tzv. doxxické change, která putuje zpět do Receive účtu. UTXOs určené k mixování míří do tzv. premix účtu, kde čekají na potvrzení v bitcoinové peněžence a na svůj první CoinJoin. Odtud automaticky míří do postmixu, kde jsou připraveny k utracení a zároveň se nekonečně remixují, dokud je neutratíte.
Stisknutím tlačítka Get Started se přesunete na výběr vašich UTXOs, které se nacházejí v Receive accountu. Tady opět pozor, můžete naráz poslat do premixu více než jedno vaše bitcoinové UTXO, ale měli byste vědět, jaké spojení tím vytváříte. Pokud by jedno vaše UTXOs bylo z Coinbase, které je linknuté s vaším KYC účtem obsahujícím vaše privátní informace, a druhé, anonymní z Bisqu, sloučením těchto dvou UTXOs byste Coinbase a kohokoliv, kdo by měl k těmto informacím přístup, informovali o existenci vašich non-KYC bitcoinů. Pokud si historií a důsledky, které by spojení vašich UTXO znamenalo, nejste jisti, CoinJoinujte postupně jedno UTXO po druhém.
Jakmile zvolíte jedno či více UTXO, které budete chtít CoinJoinovat, přichází na řadu volba poolu. Pooly jsou čtyři a jsou rozděleny do velikostí 0,5 BTC, 0,05 BTC, 0,01 BTC a 0,001 BTC. Je důležité si spočítat, jaký pool se vám vyplatí více. Poplatek za vstup do poolu je vždy stejný a čím vyšší částku budete CoinJoinovat, tím více nových nedeterministických UTXOs vyrobíte a tím levněji vás vstup do Whirlpoolu per 1 UTXO vyjde. O to více ale zaplatíte na poplatcích těžařům, a proto je vhodné počkat na prázdný mempool, kdy jsou transakce s poplatkem 1 sat/vB potvrzovány hned v dalším bloku.
Poplatek nastavíte pomocí tlačítek LOW, NORMAL či HIGH v první třetině, viz první obrázek. Stiskem modrého tlačítka REVIEW CYCLE DETAILS se přesunete na sumář tx0 transakce, kterou posíláte do premixu. V něm si můžete zkontrolovat následující: velikost poolu, počet nových UTXO, počet deterministických linků, počet možných kombinací, které se mezi novými UTXOs dají vyvodit a entropii podle Boltzmannova modelu vyjádřenou v bitech. Zeleným tlačítkem BEGIN CYCLE spustíme CoinJoin.
Ještě než dojde k odeslání transakce, zobrazí se upozornění na tzv. Doxxic Change. Jde o klasickou change (drobné zpět) s tím rozdílem, že tato UTXO na blockchainu linkuje k bitcoinům, které šly do premixu, a je tedy potřeba s ní zacházet velmi opatrně. Pokud by např. tato change měla historickou vazbu na Coinbase a vy byste ji při posílání dalších bitcoinů do Whirlpoolu spojili s bitcoiny pocházejícími z Bisqu, sdělili byste Coinbase a všem, kdo ví, na co se dívají, že tyto bitcoiny vlastníte a že jste je rovněž zCoinJoinovali.
A právě proto Samourai Wallet na tuto change upozorňuje a rovnou vás vyzve k zablokování pro účely útraty. Budete-li chtít, tuto change pak můžete kdykoliv opět odemknout a libovolně ji utratit. Jde pouze o zamezení automatické konsolidace s jinými UTXOs. V položce Transactions již nyní uvidíte odchozí transakci pojmenovanou jako Transfer to Whirlpool.
A nyní k podrobnému procesu celého CoinJoinu. Jakmile odešlete tx0 transakci, spatříte rozdělené UTXOs stejné hodnoty v premixu (záložka Mixing). Ikonky ciferníku na prvním obrázku symbolizují čekaní na potvrzení v bitcoinové síti, než budou transakce zařazeny do bloku. Jakmile dojde k potvrzení, aplikace zaregistruje UTXOs ke CoinJoinu a po chvíli dojde k prvnímu mixu. Ihned po prvním mixu se UTXO přesune do postmixu (záložka Remixing), nyní již ponížené o poplatek těžařům (viz rozdíl 302 sat) a bude k dispozici nejen pro útratu, ale pro následné, nepřetržité mixování zdarma bez poplatku.
Vrátíte-li se na položku Transactions, uvidíte historii prvních mixů pocházejících z premixu a historii remixovaných UTXO. Ideální stav tedy je nechat UTXOs remixovat do aleluja, dokud je nebudete potřebovat utratit. A nyní se pojďme ještě podívat, jak zefektivnit remixování pomocí aplikací Whirlpool CLI a GUI.
Remixování na chytrém telefonu má jednu zásadní vadu na kráse. Dnešní chytré telefony nejsou stavěné na nepřetržitý provoz aplikací, ať už na popředí, či na pozadí. V operačních systémech je v rámci šetření baterie pevně zakódován maximální čas, po který aplikace na pozadí může běžet, a proto chytrý telefon není pro účely remixování zrovna dvakrát vhodný. Tento problém řeší aplikace Whirlpool CLI, která může běžet 24/7/365 na zařízení typu Raspberry PI 4 či na domácím NASu typu Synology a v kontextu dnešního článku na všem vlastním Tantu.
Jako první je potřeba stáhnout Whirlpool GUI, které slouží jako grafické rozhraní k propojení Samourai Wallet, s Whirlpool CLI běžícím na vašem RoninDojo.
Ve Whirlpool GUI zvolíte možnost Advanced: remote CLI a vložíte .onion adresu, kterou naleznete v prostředí terminálu (kapitola 5), Samourai Toolkit -> Whirlpool. Pokud máte nainstalovaný Tor jako službu běžící na pozadí, zvolte v Tor proxy port 9050. Pokud Tor instalovat nechcete, vystačíte si s Tor prohlížečem, díky kterému můžete Tor software využívat na portu 9051. Stiskem červeného tlačítka Connect se připojíte na Whirlpool CLI běžícím na vašem Tantu.
Nyní už zbývá propojit Samourai Wallet pomocí oscanování QR kódu či vložení jeho textové podoby (naleznete jej v mobilní aplikaci pod Settings -> Transactions -> Pair to Whirlpool GUI) a stisknout červené tlačítko Initialize GUI.
Whirlpool GUI se odemyká pomocí passphrase, kterou jste si zvolili při vytvoření peněženky v mobilní Samourai Wallet aplikaci. Dále je už proces Whirlpoolu stejný jako v mobilním prostředí Samourai Wallet peněženky. Zvolíte UTXO, které chcete poslat do premixu, nastavíte velikost poolu a poplatku těžařům za zařazení transakcí do bloku.
Jakmile odešlete tx0 transakci, objeví se nové UTXOs v záložce Premix. Po prvním potvrzení v bitcoinové síti budou připraveny k prvnímu CoinJoinu, díky kterému se dostanou z Premixu do Postmixu. Odtud se budou nepřetržitě CoinJoinovat, viz sloupec Mixs na třetím obrázku. UTXOs jsou k mixování vybírány náhodně, a tak se nedivte, pokud jedno UTXO bude mít jen jeden remix a jiné např. deset. Randomizace výběru UTXOs do CoinJoinu je důležitá pro pořádné transakční soukromí.
Většině čtenářů, kterým se podařilo tento hutný článek dočíst až do konce, se patrně bude lehce motat hlava z přehlcení množstvím nových informací. Smutnou pravdou bohužel je, že pokud se běžný uživatel podívá za závoj hesel HODL, Stack Sats, Never Sell, Bitcoin Fixes This, a Number Go Up a dá si tu práci porozumět tomu, jak bitcoin funguje, zjistí, že to zase taková sláva není.
A právě někde v tomto momentě dojde ke srážce s realitou, kdy zjistíte, že pravděpodobně krom HODLu neumíte bitcoin pořádně používat a co hůř, že nevíte, jak jej utrácet tak, aby vaše transakční bezpečí nebylo pomalu stejně mizerné jako při používání kreditní karty. O to horší je poznání faktu, že drtivá většina peněženek, včetně těch hardwarových, je v praxi pro používání bitcoinu ve smyslu placení horko těžko použitelná.
Naštěstí je zde úzká skupina bitcoinových free open source developerů, kteří tento problém prokoukli už před x lety a rozhodli se, že sami pro sebe potřebují nástroje, které používání Bitcoinu přiblíží co nejblíže běžné hotovosti a o tyto nástroje se podělí i s ostatními. A vzhledem k událostem posledních pár let a posledních měsíců nebyla nikdy lepší doba, než je teď, naučit se s Bitcoinem zacházet s ohledem na transakční soukromí.
Vše začíná volbou těch správných nástrojů, které jsou zdarma a všem k dispozici včetně vědomostí a informací, o které se s vámi rádi podělí nejen členové Samourai Wallet a RoninDojo komunity. Jedním z těchto nástrojů je i RoninDojo, které si můžete pořídit v hotové variantě Tanto, o němž je dnešní článek, nebo si jej pořídit svépomocí, o čemž píšeme v našem starším článku: RoninDojo (RECENZE): Backend pro vaši Samourai Wallet s pomocí maliny.
Michal Mikle
Jsem overclocker a nadšený Bitcoiner. U počítačového hardwaru mne nevyužitý výkon nenechává chladným a pro své záliby leckdy sáhnu i po tekutém dusíku či po jiných extrémních metodách chlazení. Založil jsem službu pro optimalizaci Intel procesorů delid.cz, skládám PC na míru a baví mě téma soukromí a bezpečnosti. Mimo digitální svět se zajímám o permakulturu a další systémy nízké časové preference.