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.
Transakční soukromí při používání Bitcoinu není jednoduchá věc. Bitcoin není anonymní, ale pouze pseudoanonymní. Co to znamená a co z toho můžeme vyvodit? Na co si dát pozor a jak se nestřelit do nohy? Následujícím čtyřdílným rychlokurzem vás provede Ergo, hlavní bitcoinový stopař projektu OXT Research od Samourai Wallet. Na konci kurzu budete vyzbrojeni základními znalostmi, které vám pomůžou k ochraně vašeho soukromí při používání Bitcoinu.
Základní pojmy
V první části jsme si představili základní koncepty a teď se můžeme přesunout hlouběji k jádru chain analysis a rozšířit naši analýzu o „externí“ údaje o transakcích.
Ve druhé části se zaměříme konkrétně na dva nejdůležitější nástroje chain analysis:
Externí transakční data mohou být za pomoci dalších informací a vzorců použita ke zvýšení důvěryhodnosti detekce zůstatků „change detection“, a tím k oslabení soukromí.
Mezi externí transakční data se řadí také informace, které nemusí být nutně obsaženy v konkrétní transakci na Bitcoin protokolu.
Příklady:
Transakční grafy jsou nejjednodušší způsob, jak zobrazit vztah mezi Inputs a Outputs napříč mnoha transakcemi.
Transakční graf OXT je Directed Acyclic Graph (DAG). Směrové grafy tohoto typu se používají k mapování vztahu mezi dvěma rozdílnými objekty. V případě Bitcoinu se jedná o vztah mezi UTXOs a transakcemi.
Transakční graf nejlépe pochopíte jeho používáním. Předtím než začneme, představíme si některé funkce transakčního grafu.
Po kliknutí se vám zobrazí počáteční transakce. Transakce jsou v grafu zobrazovány jako kruhy (body). Kruhy představují změnu v UTXO sadě tím, že zobrazují vztah mezi spotřebovanými UTXO a nově vytvořenými UTXO při nové transakci.
Jedním kliknutím vyberete transakci (barva se změní z modré na zelenou) a poté můžete na panelu nástrojů v levé části obrazovky vybrat z dalších možností.
Panel nástrojů dovoluje provádět následující činnosti:
Dvojklikem na kruh transakce plně rozbalíte veškeré obsahující UTXO. UTXOs jsou zobrazeny jako čáry se šipkou podle toho, jestli se jedná o INPUT (šipka mířící směrem k transakci) nebo OUTPUT (šipka směrem od transakce). Graf také zobrazí transakce, které vytváří INPUTS nebo spotřebovávají OUTPUTS. V případě, že se jedná o Unspent output neboli „change“ , zobrazí se toto UTXO jako prázdný kosočtverec na konci.
Dvojklik a úplné rozvinutí transakce může způsobit, že graf bude příliš chaotický a špatně čitelný. Pro lepší přehlednost tedy doporučujeme rozbalovat UTXO postupně (Selectively). Chcete-li selektivně rozbalit UTXO, klikněte na transakci a poté v panelu nástrojů otevřete okno Display Transaction Details. INPUTS a OUTPUTS jednotlivé transakce mohou být selektivně rozbaleny po kliknutí na ikonku Expand TX Graph.
Po chvilce zacílení myši na INPUT nebo OUTPUT se vám zobrazí lišta s dalšími informacemi o objektu (Hover preview), aniž byste museli rozbalovat okno s podrobnostmi.
Transakční graf OXT pomůže také automaticky zpracovat některé další informace. Transakce a UTXO budou „zváženy“ na relativní bázi na základě jejich BTC objemu. Toto může být velice užitečné pro „change detection“ a grafické znázornění „peel chains“, o kterých si povíme níže.
Níže je uveden jednoduchý příklad transakčního grafu:
Poté by měl graf vypadat podobně jako na obrázku 2.8. Chcete-li zvýraznit Change UTXO oranžovou barvou, můžete tak učinit pomocí tlačítka na levém panelu nástrojů. Transakční graf zobrazující sérii jednoduchých transakcí ze stejné peněženky se běžně označuje jako „peel chain“.
Firmy zabývající se sledováním aktivit na blockchainu se snaží „peel chains“ zarámovat jako formu podezřelé činnosti související se „strukturováním nebo praním špinavých peněz“. Ačkoli, jak jsme popsali v první části, přibližně 50 % bitcoinových transakcí jsou Simple spend s 1 Input a 2 Outputs. Jinými slovy zcela normální chování.
Pro naše účely je peel chain jednoduchý proces, jak sledovat aktivity jedné peněženky v rámci několika transakcí.
Při následující interakci s příkladovým peel chainem se projeví další vzory svědčící o konzistentním otisku peněženky. Včetně následujících:
Každý z těchto vzorů lze použít k popisu chování sledovaného softwaru peněženky. Zobecnění pozorovaného chování peněženky se označuje jako Wallet Fingerprinting, které využívá tyto vzory:
Kombinace výše uvedených vzorů může analytikovi poskytnout vysokou míru spolehlivosti při interpretaci Change Outputs. Tyto interpretace jsme ověřili pomocí komunikace se službou odpovědnou za tuto transakční aktivitu. Příkladový Peel Chain ukazuje aktivitu z velice známého custodial tumbleru „mixeru“. Při zpětném procházení grafu od poskytnuté transakce najděte mince související s hackem směnárny.
Dále se budeme zabývat tím, jak lze analýzu transakčního grafu vylepšit pomocí wallet clustering a monitorováním Outputů, které směřují na centralizované služby.
Zbývající důležitý nástroj Chain analysis se označuje jako Wallet clustering neboli „shlukování peněženek“. Tato metoda sdružuje adresy na základě vzorců jejich společného utrácení „co-spending“ a předpokladů o běžném chování peněženky.
Většina dnešních bitcoinových peněženek jsou hierarchické deterministické peněženky. Generují jeden hlavní Private key, který se používá k odvození podřízených private/public keys a souvisejících adres.
Software peněženky obvykle automaticky vytváří novou adresu pro každou přijatou platbu (přijatý UTXO). Pokud jeden UTXO nebo zůstatkový stav adresy nestačí k provedení platby, peněženka podle potřeby zahrne další UTXO/adresy ovládané různými soukromými klíči/adresami, aby bylo možné utratit požadovanou částku. Většina peněženek to dělá automaticky bez nutnosti zásahu uživatelem.
Vzhledem k této běžné funkci peněženky a private/public key kryptografii bitcoinu může analytik předpokládat, že každá adresa, která je použita jako INPUT do transakce, je ovládána stejným soukromým klíčem nebo softwarem peněženky.
Předpoklad, že každý input do transakce je ovládán stejnou peněženkou, se nazývá heuristika společného vlastnictví vstupu „common input ownership heuristic“ (CIOH) nebo jednodušeji heuristika sloučených vstupů „merged inputs heuristic“.
Tak jako u všech heuristik, existují konkrétní případy, kdy CIOH neplatí. Poruchy CIOH se obvykle týkají transakcí, které byly speciálně vytvořeny pro zlepšení soukromí. Jednotlivými případy, kdy CIOH nefunguje a jak OXT tyto výjimky řeší, se budeme zabývat později.
Jednotlivým adresám, o nichž se předpokládá, že jsou ovládány stejnou peněženkou, analytický software obvykle přidělí wallet cluster ID. Vzhledem k pseudonymní povaze bitcoinu může být wallet cluster představitelem aktivity jednoho uživatele nebo centralizované služby.
Bez dalších doplňujících informací však peněženka zůstává „anonymní“ v tom smyslu, že jí nebyla přisouzena aktivita žádného subjektu v reálném světě. V důsledku toho přidělí OXT každému novému Clusteru předponu ANON, za níž následuje indexové číslo.
OXT vyhodnocuje několik typů aktivit clusterů, včetně těchto:
Pomocí CIOH bude OXT sledovat on-chain aktivitu wallet clusterů. Pro přiřazení clusteru ke konkrétní službě je nutná interakce s danou službou.
Analytik si může u služby vytvořit účet a poslat BTC na jejich depozitní adresu. Odtud může sledovat utrácení svých vložených UTXO. Po utracení může přiřadit adresu a její co-spend adresy k příslušnému ID clusteru.
Případně může analytik použít metody opensource a vyhledat veřejně dostupné informace. Adresy vkladů a výběrů lze běžně nalézt v příspěvcích na sociálních sítích zveřejněných dalšími uživateli těchto služeb. Tyto veřejně dostupné údaje lze rovněž použít k přiřazení wallet clusteru k centralizované službě.
K interpretaci Change detection lze použít další informace, včetně Wallet fingerprint, Output Spending timing a nebo Output clustering (shlukování výstupů).
Nejvíce poškozující pro transakční soukromí je, když je proveden Simple Spend do Wallet Clusteru, který byl identifikován jako centralizovaná služba.
Pokud je Simple Spend odeslán do centralizované služby, veškerá dosud získaná mnohoznačnost Change detection je tímto ztracena. Output do centralizované služby je zjevně platba. Jediným zbývajícím Outputem je tedy evidentní Change Output. Níže je uveden příklad, jak vypadá future spend z výše uvedeného příkladu Peel Chainu.
Nejdůležitějším aspektem CIOH není nutně to, jak se používá k ochraně soukromí jednotlivých uživatelů, ale to, jak wallet clustering mezi centralizovanými službami negativně ovlivňuje a významně narušuje soukromí transakčního grafu celé bitcoinové sítě.
Podstatná část ekonomické aktivity bitcoinu bezprostředně pochází z centralizovaných služeb nebo do nich směřuje, což má významný centralizační efekt na celkový transakční graf bitcoinu.
V částech 1 a 2 jsme se seznámili se základy chain analysis, včetně Change detection, analýzy transakčního grafu a heuristiky společného vlastnictví vstupů (CIOH).
Change detection se skládá z řady heuristik používaných k určení pravděpodobného Change Output. Analýza transakčního grafu může rychle a přehledně znázornit tyto heuristické interpretace pro sledování aktivity jednoho konkrétního uživatele. Ke zvýšení pravděpodobnosti Change detection lze použít další údaje včetně Wallet clusteringu a CIOH. Přiřazení Wallet clusteru k aktivitě uživatele nebo centralizované službě vyžaduje další off-chain údaje, které podezřelou adresu a spending aktivitu spojují se zjištěnou službou.
V následující části představíme koncepty, které se používají ke znemožnění chain analysis a znesnadnění sledování uživatelů.
Část 3 se zabývá základními koncepty zlepšování soukromí bitcoinu, včetně následujících:
Část 4 pojednává o následujícím:
Elementární znalost bitcoinových transakcí a porozumění souvislostem, které při používání Bitcoinu vznikají, jsou nezbytnými základy každého uživatele, který chce Bitcoin používat jako prostředek pro dosažení finanční svobody a svrchovanosti.

Ergo
Ergo se zabývá výzkumem používání Bitcoinu po stránce transakčního soukromí pro OXT Research od Samourai Wallet. Projekt OXT Research je znám především pro úspěšné vystopování multi-miliardového podvodu PlusToken, hacku burzy Kucoin a dalších vysoce profilovaných krádeží souvisejících s bitcoiny.