Obnoviť stránku

Ako na Bitcoin Privacy pomocou OXT – časť 2/4

Aktualizované

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.

Ako na Bitcoin Privacy pomocou OXT (časť 2/4) – OBSAH

  1. Úvod
  2. Externé transakčné údaje
  3. Analýza transakčného grafu (Transaction graph analysis)
  4. Wallet Clustering — Common Input Ownership Heuristic
  5. The ANONs – OXT schéma Clusteringu
  6. Používanie externých údajov o transakciách na Change Detection
  7. Zhrnutie
i

Základné pojmy

  • Multi-sig – na autorizáciu jednej transakcie je treba niekoľko Private key
  • Private key – súkromný kľúč (na autorizáciu transakcií)
  • Public key – verejný kľúč (adresa viditeľná komukoľvek)
  • Wallet fingerprint – odtlačok peňaženky (zovšeobecnenie pozorovaného správania peňaženky off-chain)
  • Node – uzol, cez ktorý prúdia transakčné údaje (v skutočnosti sa niekde nachádza a je pripojený prostredníctvom IP adresy)
  • Directed Acyclic Graph (DAG) (smerový acyklický graf)
  • Peel chains – séria jednoduchých transakcií „simple spends“ z tej istej peňaženky
  • Chain Surveillance – monitoring „sledovania“ aktivity na blockchaine
  • Lock Time – čas potrebný na pridanie transakcie do blockchaine
  • Custodial Tumbler – alebo „mixér“ je služba zlepšujúca bitcoin privacy
  • Labelled Cluster – už označená skupina peňaženiek

Úvod

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:

  1. Transakčný graf
  2. Heuristiku spoločného vlastníctva vstupov alebo „wallet clustering“

Externé transakčné údaje

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:

  • Opätovné použitie adresy vo viacerých transakciách (address reuse)
  • Co-spending z viacerých adries v rámci jednej transakcie (wallet clustering)
  • Multi-sig skripts (ktoré sa však odhalia až po vyčerpaní UTXO)
  • Odtlačok peňaženky v sérii transakcií (wallet fingerprinting)
  • Off-chain data, napríklad Outputs, ktoré smerujú do Labelled Cluster, alebo IP adresy uzlov, ktoré vysielajú transakciu
  • Objemy transakcií, časové rozvrhnutie a iné modely rozpoznávania transakcií

Analýza transakčného grafu (Transaction graph analysis)

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.

Základy grafu transakcií OXT

Najlepší spôsob, ako pochopiť graf transakcií, je používať ho. Skôr než začneme, predstavíme si niektoré funkcie grafu transakcií.

  1. Ak chcete získať prístup k tabuľke transakcií, prejdite na kartu TRANSACTION v aplikácii OXT zadaním ID transakcie alebo kliknutím na TxID, ktoré vás zaujíma.
  2. Kliknite na ikonu TX GRAPH na ľavej strane obrazovky.
Šifrovanie; Messengery; Súkromie
Ako spustiť graf transakcií v aplikácii OXT.

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.

Šifrovanie; Messengery; Súkromie
Počiatočný graf transakcií s označením a panelom nástrojov.

Panel nástrojov umožňuje vykonávať nasledujúce činnosti:

Šifrovanie; Messengery; Súkromie
Počiatočný graf transakcií s označením a panelom nástrojov.

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.

Šifrovanie; Messengery; Súkromie
Plne rozvinutá transakcia.

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.

Šifrovanie; Messengery; Súkromie
Selektívne rozbalenie UTXO.

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.

Šifrovanie; Messengery; Súkromie
Náhľad informácií z grafu transakcií (Hover preview).

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.

OXT Peel Chains – príklad grafu transakcií

Nižšie je uvedený jednoduchý príklad grafu transakcií:

  1. Otvorte odkaz na stránku transakcie a rozbaľte graf transakcií.
  2. Označte transakciu jedným kliknutím.
  3. Otvorte okno s podrobnosťami o transakcii kliknutím na príslušnú ikonu na ľavom paneli nástrojov.
  4. Šifrovanie; Messengery; Súkromie
    Označená transakcia a podrobnosti o transakciách.
  5. Dvakrát kliknite na počiatočnú transakciu, aby ste rozbalili všetky INPUTS a OUTPUTS.
  6. Pomocou kolieska myši môžete zväčšiť graf a zmeniť orientáciu grafu s najstaršími transakciami v preferovanom poradí (t. j. zľava doprava). Orientáciu môžete zmeniť kliknutím a pretiahnutím transakcií tak, aby vám vyhovovala.
    Oba Outputy nám kladú otázku, na ktorú je potrebné odpovedať, ak chceme sledovať aktivitu peňaženky generujúcej transakciu.
    Ktorý Output budeme monitorovať? Ak použijeme heuristiku rôznych typov skriptov (pozri časť I), identifikujeme druhý Output ako Change.
  7. Dvakrát kliknite na ďalšiu transakciu, ktorá utráca druhý Output z pôvodnej transakcie.
  8. Zopakujte postup na identifikáciu zostatku „Change“ pomocou heuristiky uvedenej v časti I. Pomocou tohto postupu expandujte ďalšie dve transakcie.
Šifrovanie; Messengery; Súkromie
Príklad Peel chain.

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í.

Wallet fingerprint a interpretácia grafu 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:

  1. Najväčší Output zobrazený funkciou automatickej váhy riadkov robí Change Output ľahko rozpoznateľným.
  2. Change Outputs sa vždy vyplácajú na adresy P2PKH.
  3. Change Outputs sú vždy druhým z dvoch Outputov.
  4. Aj keď to nie je v grafe uvedené, stojí za povšimnutie aj konzistentné číslo verzie transakcie (2) a Lock Time (0) v celom grafe. Ak chcete zobraziť tieto informácie, kliknite na ID transakcie v okne s podrobnosťami o transakcii a prejdite na hlavnú stránku TRANSACTION. Potom vyberte kartu TECHNICAL a zobrazí sa verzia a Lock Time.
  5. Rozbalením histórie predchádzajúcich alebo budúcich výdavkov v tomto grafe odhalíte ďalšie transakcie s rovnakým vzorom.

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:

  1. Skripty vstupných a výstupných adries
  2. Konzistencia umiestnenia Change UTXO
  3. Číslo verzie a Lock Time

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.

Wallet clustering – Common Input Ownership Heuristic

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“.

Šifrovanie; Messengery; Súkromie
Príklad CIOH a Clusteringu.

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.

The ANONs – OXT schéma Clusteringu

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.

Šifrovanie; Messengery; Súkromie
Príklad ANON wallet cluster.

OXT vyhodnocuje niekoľko typov činností klastra, vrátane týchto:

  • Prehľad o všeobecnej aktivite (zostatok, počet transakcií, aktívne údaje, počet adries).
  • Grafy mesačnej a dennej transakčnej aktivity, odoslaných a prijatých objemov BTC, odoslaných a prijatých UTXO a štatistiky adries.
  • Časová štruktúra činnosti klastra podľa dní v týždni a hodín.
  • Šifrovanie; Messengery; Súkromie
    ANON Časové modely klastrov.
  • Sekcia poznámok, do ktorej môžu používatelia OXT pridávať poznámky o možných príznakoch alebo kontexte komunikácie s neznámym klastrom počas vyšetrovania.
  • Šifrovanie; Messengery; Súkromie
    ANON Wallet Cluster – záložka UTXO activity.

Priradenie klastrov – ANON ako služba označovania (ANON as a Labeling Service)

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.

Šifrovanie; Messengery; Súkromie
Príklad označeného klastra (Labelled Cluster).

Používanie externých údajov o transakciách na Change Detection

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.

Šifrovanie; Messengery; Súkromie
Príklad Simple Spend pri platbe v zmenárni.

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.

Zhrnutie

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í:

  1. Randomised Wallet fingerprint na znemožnenie Change detection
  2. UTXO flow a základné súvislosti medzi vstupmi a výstupmi
  3. Ako rovnosť Outputov coinjoins rieši problém deterministických tokov
  4. Transakčná entropia
  5. Ako payjoin poráža heuristiku spoločného vlastníctva vstupov (CIOH)

Časť 4 sa zaoberá nasledujúcim:

  1. Analýzy potrebujú „východiskový bod“
  2. Dôsledky na ochranu súkromia pri odosielaní a prijímaní platieb
  3. Ako môžu existujúce techniky ochrany súkromia zmierniť mnohé z problémov diskutovaných v tejto príručke.

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.



Na vašom súkromí nám záleží

My, spoločnosť Alza.cz a.s., IČO 27082440, používame súbory cookies na zaistenie funkčnosti webu a s vaším súhlasom o. i. aj na personalizáciu obsahu našich webových stránok. Kliknutím na tlačidlo „Rozumiem“ súhlasíte s využívaním cookies a predaním údajov o správaní na webe na zobrazenie cielenej reklamy na sociálnych sieťach a reklamných sieťach na ďalších weboch.

Viac informácií
Rozumiem Podrobné nastavenia Odmietnuť všetko
P-DC1-WEB17