Súkromie transakcií pri používaní Bitcoinov nie je jednoduchá záležitosť. Bitcoin nie je anonymný, ale len pseudoanonymný. Čo to znamená a čo z toho môžeme vyvodiť? Na čo si dávať pozor a ako sa nepopáliť? Nasledujúcim štvordielnym rýchlokurzom vás prevedie Ergo, hlavný bitcoinový stopár projektu OXT Research od Samourai Wallet. Na konci kurzu budete mať základné znalosti, ktoré vám pomôžu chrániť vaše súkromie pri používaní Bitcoinu.
Základné pojmy
V prvej časti sme si predstavili základné pojmy a teraz môžeme prejsť hlbšie do jadra chain analysis, a rozšíriť tak našu analýzu o „externé“ údaje o transakciách.
V druhej časti sa zameriame najmä na dva najdôležitejšie nástroje chain analysis:
Externé transakčné údaje sa môžu pomocou ďalších informácií a vzorcov použiť na zvýšenie dôveryhodnosti zisťovania zostatkov „change detection“, a tým oslabiť súkromie.
Externé transakčné údaje zahŕňajú aj informácie, ktoré nemusia byť nevyhnutne obsiahnuté v konkrétnej transakcii v protokole Bitcoin.
Príklady:
Grafy transakcií sú najjednoduchším spôsobom, ako zobraziť vzťah medzi Inputs a Outputs v rámci mnohých transakcií.
Graf transakcií OXT je Directed Acyclic Graph (DAG). Smerové grafy tohto typu sa používajú na mapovanie vzťahu medzi dvoma rôznymi objektmi. V prípade Bitcoinu je to vzťah medzi UTXOs a transakciami.
Najlepší spôsob, ako pochopiť graf transakcií, je používať ho. Skôr než začneme, predstavíme si niektoré funkcie grafu transakcií.
Po kliknutí sa vám zobrazí počiatočná transakcia. Transakcie sa v grafe zobrazujú ako kruhy (body). Kruhy predstavujú zmenu v súbore UTXO zobrazením vzťahu medzi spotrebovanými UTXO a novo vytvorenými UTXO pri novej transakcii.
Jedným kliknutím vyberiete transakciu (farba sa zmení z modrej na zelenú) a potom si môžete vybrať z ďalších možností na paneli nástrojov na ľavej strane obrazovky.
Panel nástrojov umožňuje vykonávať nasledujúce činnosti:
Kliknite dvakrát na kruh transakcie, aby ste úplne rozbalili všetky obsahujúce UTXO. UTXO sú zobrazené ako čiary so šípkou v závislosti od toho, či sú INPUT (šípka smeruje k transakcii) alebo OUTPUT (šípka smeruje od transakcie). V grafe sa zobrazia aj transakcie, ktoré vytvárajú INPUTS alebo spotrebúvajú OUTPUTS. V prípade, že ide o Unspent output neboli „change“, tento UTXO sa na konci zobrazí ako prázdny kosoštvorec.
Dvojité kliknutie a úplné rozbalenie transakcie môže spôsobiť, že graf bude príliš neprehľadný a ťažko čitateľný. Pre lepšiu prehľadnosť odporúčame rozbaľovať UTXO postupne (Selectively). Ak chcete selektívne rozbaliť UTXO, kliknite na transakciu a potom otvorte okno Display Transaction Details na paneli nástrojov. Jednotlivé transakcie INPUTS a OUTPUTS možno selektívne rozbaliť kliknutím na ikonu Expand TX Graph.
Po chvíli zamerania myšou na INPUT alebo OUTPUT sa zobrazí lišta s ďalšími informáciami o objekte (Hover preview) bez toho, aby ste museli rozbaľovať okno s podrobnosťami.
Transakčný graf OXT pomôže automaticky spracovať aj niektoré ďalšie informácie. Transakcie a UTXO budú „odvážené“ na relatívnej báze na základe ich BTC objemu. To môže byť veľmi užitočné pri „change detection“ a grafickom znázornení „peel chains“, o ktorých budeme hovoriť nižšie.
Nižšie je uvedený jednoduchý príklad grafu transakcií:
Graf by mal potom vyzerať podobne ako na obrázku 2.8. Ak chcete oranžovo zvýrazniť položku Change UTXO, môžete tak urobiť pomocou tlačidla na ľavom paneli nástrojov. Graf transakcií zobrazujúci sériu jednoduchých transakcií z tej istej peňaženky sa bežne označuje ako „peel chain“.
Firmy sledujúce aktivity v blockchaine sa snažia „peel chains“ definovať ako formu podozrivej činnosti súvisiacej so „štruktúrovaním alebo praním špinavých peňazí“. Hoci, ako sme opísali v prvej časti, približne 50 % bitcoinových transakcií je Simple Spend s 1 Input a 2 Outputs. Inými slovami, úplne normálne správanie.
Na naše účely je peel chain jednoduchý proces na sledovanie aktivity jednej peňaženky v rámci viacerých transakcií.
Pri následnej interakcii s príkladovým peel chain sa prejavia ďalšie vzory svedčiace o konzistentnom odtlačku peňaženky. Vrátane nasledujúcich:
Každý z týchto vzorov možno použiť na opis správania monitorovaného softvéru peňaženky. Zovšeobecnenie pozorovaného správania peňaženky sa označuje ako Wallet Fingerprinting, ktoré využíva tieto vzory:
Kombinácia vyššie uvedených vzorov môže analytikovi poskytnúť vysokú mieru istoty pri interpretácii Change Outputs. Tieto interpretácie sme overili komunikáciou s útvarom zodpovedným za túto transakčnú činnosť. Príklad Peel Chain ukazuje činnosť veľmi známeho custodial tumbler „mixéra“. Keď sa vrátite späť do grafu z poskytnutej transakcie, nájdite mince súvisiace s výmenným hackom.
Ďalej sa budeme zaoberať tým, ako možno zlepšiť analýzu grafu transakcií pomocou wallet clustering a monitorovaním Outputov, ktoré poukazujú na centralizované služby.
Zostávajúci dôležitý nástroj Chain Analysis sa označuje ako Wallet clustering, alebo „zhlukovanie peňaženiek“. Táto metóda zoskupuje adresy na základe ich vzorcov spoločného míňania „co-spending“ a predpokladov o bežnom správaní peňaženky.
Väčšina dnešných bitcoinových peňaženiek sú hierarchické deterministické peňaženky. Generujú jeden hlavný Private key, ktorý sa používa na odvodenie podriadených private/public keys a súvisiacich adries.
Softvér peňaženky zvyčajne automaticky vytvorí novú adresu pre každú prijatú platbu (prijatý UTXO). Ak jeden UTXO alebo zostatok na adrese nestačí na uskutočnenie platby, peňaženka podľa potreby zahrnie ďalšie UTXO/adresy kontrolované rôznymi súkromnými kľúčmi/adresami, aby bolo možné utratenie požadovanej sumy. Väčšina peňaženiek to robí automaticky bez potreby zásahu používateľa.
Vzhľadom na túto spoločnú funkciu peňaženky a kryptografiu bitcoinov private/public key môže analytik predpokladať, že každá adresa, ktorá sa používa ako INPUT pre transakciu, je kontrolovaná rovnakým súkromným kľúčom alebo softvérom peňaženky.
Predpoklad, že každý Input do transakcie je kontrolovaný tou istou peňaženkou, sa nazýva heuristika spoločného vlastníctva vstupu „common input ownership heuristic“ (CIOH), alebo jednoduchšie heuristika zlúčených vstupov „merged inputs heuristic“.
Tak ako pri všetkých heuristikách, aj tu existujú špecifické prípady, v ktorých sa CIOH neuplatňuje. Zlyhania CIOH sa zvyčajne týkajú transakcií, ktoré boli špeciálne navrhnuté na zlepšenie ochrany súkromia. Jednotlivé prípady, v ktorých CIOH nefunguje, a spôsob, akým OXT tieto výnimky rieši, rozoberieme neskôr.
Jednotlivým adresám, o ktorých sa predpokladá, že ich ovláda tá istá peňaženka, analytický softvér zvyčajne priradí wallet cluster ID. Vzhľadom na pseudonymnú povahu bitcoinu môže wallet cluster predstavovať činnosť jedného používateľa alebo centralizovanej služby.
Bez ďalších doplňujúcich informácií však peňaženka zostáva „anonymná“ v tom zmysle, že jej nebola priradená činnosť žiadneho subjektu v reálnom svete. V dôsledku toho OXT priradí každému novému klastru predponu ANON, za ktorou nasleduje indexové číslo.
OXT vyhodnocuje niekoľko typov činností klastra, vrátane týchto:
Pomocou CIOH bude OXT monitorovať on-chain aktivitu wallet klastrov. Ak chcete priradiť klaster ku konkrétnej službe, musíte s ňou komunikovať.
Analytik si môže v službe vytvoriť účet a poslať BTC na ich depozitnú adresu. Odtiaľ môže sledovať výdavky svojich uložených UTXO. Po vyčerpaní môže priradiť adresu a jej spoločné adresy k príslušnému ID klastra.
Prípadne môže analytik použiť metódy opensource a vyhľadať verejne dostupné informácie. Adresy vkladov a výberov možno bežne nájsť v príspevkoch na sociálnych sieťach, ktoré zverejňujú ďalší používatelia týchto služieb. Tieto verejne dostupné údaje možno použiť aj na priradenie wallet klastra k centralizovanej službe.
Na interpretáciu Change detection možno použiť ďalšie informácie vrátane wallet fingerprint, Output Spending timing alebo Output clustering (zhlukovanie výstupov)
Súkromie transakcií najviac poškodzuje, keď sa Simple Spend vykoná vo Wallet Cluster, ktorý bol identifikovaný ako centralizovaná služba.
Ak sa Simple Spend odošle do centralizovanej služby, všetka doteraz získaná nejednoznačnosť Change detection sa týmto stratí. Output do centralizovanej služby je samozrejme platba. Jediným zostávajúcim Outputom je teda zrejmý Change Output. Nižšie je uvedený príklad, ako vyzerajú future spend na základe vyššie uvedeného príkladu Peel Chain.
Najdôležitejším aspektom CIOH nie je nevyhnutne to, ako sa používa na ochranu súkromia jednotlivých používateľov, ale to, ako wallet clustering medzi centralizovanými službami negatívne ovplyvňuje a výrazne narúša súkromie transakčného grafu celej bitcoinovej siete.
Podstatná časť ekonomickej aktivity bitcoinu pochádza priamo z centralizovaných služieb alebo do nich prúdi, čo má výrazný centralizačný účinok na celkový graf transakcií bitcoinov.
V častiach 1 a 2 sme sa zoznámili so základmi chain analysis, vrátane Change detection, analýzy transakčných grafov a heuristiky spoločného vlastníctva vstupov (CIOH).
Change detection pozostáva zo série heuristík, ktoré sa používajú na určenie pravdepodobného Change Output. Analýza grafu transakcií môže rýchlo a jasne ilustrovať tieto heuristické interpretácie na sledovanie aktivity jedného konkrétneho používateľa. Na zvýšenie pravdepodobnosti Chande detection možno použiť ďalšie údaje vrátane Wallet clustering a CIOH. Priradenie Wallet klastra k aktivite používateľa alebo centralizovanej službe si vyžaduje ďalšie off-chain údaje, ktoré spájajú podozrivú adresu a spending aktivitu so zistenou službou.
V nasledujúcich častiach predstavíme koncepty, ktoré sa používajú na znemožnenie Chain analysis a sťaženie sledovania používateľov.
Časť 3 sa zaoberá základnými konceptmi zlepšenia súkromia bitcoinov vrátane nasledujúcich informácií:
Časť 4 sa zaoberá nasledujúcim:
Základné znalosti o bitcoinových transakciách a pochopenie súvislostí, ktoré vznikajú pri používaní Bitcoinu, sú nevyhnutným základom pre každého používateľa, ktorý chce používať Bitcoin ako prostriedok na dosiahnutie finančnej slobody a suverenity.