Try our cookies Alza.cz a. s., Company identification number 27082440, uses cookies to ensure the functionality of the website and with your consent also to personalisage the content of our website. By clicking on the “I understand“ button, you agree to the use of cookies and the transfer of data regarding the behavior on the website for displaying targeted advertising on social networks and advertising networks on other websites.
Alzak icon

Jak na Bitcoin Privacy za použití OXT – část 2/4

Review

<
Aktualizováno

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.

Jak na Bitcoin Privacy za použití OXT (část 2/4)  – OBSAH

  1. Úvod
  2. Externí transakční data
  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žití externích transakčních dat k Change Detection
  7. Shrnutí
i

Základní pojmy

  • Multi-sig – potřeba několika Private key k autorizaci jedné transakce
  • Private key – privátní klíč (k autorizaci transakce)
  • Public key – veřejný klíč (adresa viditelná komukoliv)
  • Wallet fingerprint – otisk peněženky (zobecnění pozorovaného chování peněženky off-chain)
  • Node – uzel, přes který proudí transakční data (reálně někde je a je připojený přes IP adresu)
  • Directed Acyclic Graph (DAG) – směrový acyklický graf
  • Peel chains – série jednoduchých transakcí „simple spends“ ze stejné peněženky
  • Chain Surveillance – monitoring „sledování“ aktivity na blockchainu
  • Lock Time – čas, za který může být transakce přidána do blockchainu
  • Custodial Tumbler – neboli „mixer“ je služba zlepšující bitcoin privacy
  • Labelled Cluster – již označená skupina peněženek

Úvod

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:

  1. Transakční graf
  2. Heuristiku společného vlastnictví vstupů neboli „wallet clustering“

Externí transakční data

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:

  • Opakované použití adresy v několika transakcích (address reuse)
  • Co-spending z více adres v jedné transakci (wallet clustering)
  • Multi-sig scripts (které jsou však odhaleny až po utracení UTXO)
  • Otisk peněženky v řadě transakcí (wallet fingerprinting)
  • Off-chain data, jako jsou Outputs, které jdou na Labelled Cluster, nebo IP adresy nodů, které broadcastují transakci
  • Objemy transakcí, časování a další vzory rozpoznávání transakcí

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

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.

Základy transakčního grafu OXT

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.

  1. Chcete-li získat přístup k transakčnímu grafu, přejděte na kartu TRANSACTION v aplikaci OXT tím, že vložíte transakční ID nebo kliknete na TxID, které vás zajímá.
  2. Klikněte na TX GRAPH ikonu na levé straně obrazovky.
Šifrování; Messengery; Soukromí
Jak spustit transakční graf v aplikaci OXT.

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

Šifrování; Messengery; Soukromí
Počáteční transakční graf s označením a panelem nástrojů.

Panel nástrojů dovoluje provádět následující činnosti:

Šifrování; Messengery; Soukromí
Počáteční transakční graf s označením a panelem nástrojů.

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.

Šifrování; Messengery; Soukromí
Plně rozvinutá transakce.

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.

Šifrování; Messengery; Soukromí
Selektivní rozbalení UTXO.

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.

Šifrování; Messengery; Soukromí
Informační náhled transakčního grafu (Hover preview).

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.

OXT Peel Chains – příklad transakčního grafu

Níže je uveden jednoduchý příklad transakčního grafu:

  1. Otevřete odkaz na stránku transakce a rozbalte transakční graf.
  2. Jedním kliknutím označte transakci.
  3. Otevřete okno s podrobnostmi o transakci kliknutím na příslušnou ikonu na levém panelu nástrojů.
  4. Šifrování; Messengery; Soukromí
    Označená transakce a transakční detaily.
  5. Dvojklikem na počáteční transakci rozbalíte všechny INPUTS a OUTPUTS.
  6. Pomocí kolečka myši zvětšete graf a změňte orientaci grafu s nejstaršími transakcemi v preferovaném pořadí (tj. zleva doprava). Orientaci změníte kliknutím a přetažením transakcí tak, aby vám to vyhovovalo.
    Oba Outputy nám představují otázku, na kterou je třeba odpovědět, pokud se budeme snažit sledovat aktivitu peněženky vytvářející transakci.
    Který Output budeme sledovat? Pokud použijeme heuristiku různých typů skriptů (viz část I), identifikujeme druhý Output jako Change.
  7. Poklepejte na další transakci, která utrácí druhý Output z původní transakce.
  8. Zopakujte postup identifikace zůstatku „Change“ pomocí heuristiky uvedené v části I. Expandujte tímto postupem další dvě transakce.
Šifrování; Messengery; Soukromí
Příklad Peel chain.

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

Wallet fingerprint a interpretace transakčního grafu

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:

  1. Největší Output zobrazený funkcí automatické váhy řádku činí Change Output snadno rozpoznatelným.
  2. Change Outputs jsou vždy vypláceny na adresy P2PKH.
  3. Change Outputs jsou vždy druhým ze dvou Outputů.
  4. V grafu sice nejsou zobrazeny, ale za pozornost stojí také konzistentní číslo verze transakce (2) a Lock Time (0) v celém grafu. Chcete-li tyto informace zobrazit, klikněte na ID transakce v okně s podrobnostmi o transakci a přejděte na základní stránku TRANSACTION. Poté vyberte záložku TECHNICAL a zobrazí se vám Version a Lock time.
  5. Rozbalením předchozích nebo budoucích útrat v historii tohoto grafu odhalíte další transakce se stejným vzorem.

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:

  1. Vstupní a výstupní adresní skripty
  2. Konzistence umístění Change UTXO
  3. Číslo verze a Lock Time

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.

Wallet Clustering – Common Input Ownership Heuristic

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

Šifrování; Messengery; Soukromí
Příklad CIOH a Clusteringu.

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.

The ANONs – OXT schéma Clusteringu

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.

Šifrování; Messengery; Soukromí
Příklad ANON wallet cluster.

OXT vyhodnocuje několik typů aktivit clusterů, včetně těchto:

  • Přehled o všeobecné aktivitě (zůstatek, počet transakcí, aktivní data, počet adres).
  • Grafy měsíční a denní transakční aktivity, odeslaných a přijatých objemů BTC, odeslaných a přijatých UTXO a statistiky adres.
  • Časový vzorec aktivity clusteru podle dnů v týdnu a hodin.
  • Šifrování; Messengery; Soukromí
    ANON Časové vzorce Clusteru.
  • Sekce poznámek, kam mohou uživatelé OXT přidávat poznámky k možným příznakům nebo souvislosti pro komunikaci s neznámým clusterem během vyšetřování.
  • Šifrování; Messengery; Soukromí
    ANON Wallet Cluster – záložka UTXO activity.

Přiřazování clusterů – ANON jako označovací služba (ANON as a Labeling Service)

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

Šifrování; Messengery; Soukromí
Příklad označeného clusteru (Labeled Cluster).

Použití externích transakčních dat k Change Detection

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.

Šifrování; Messengery; Soukromí
Příklad Simple Spend při platbě do směnárny.

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.

Shrnutí

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:

  1. Randomised Wallet fingerprint pro znemožnění Change detection
  2. UTXO flow a základní souvislost mezi inputy a outputy
  3. Jak rovnost Outputů coinjoins řeší problém deterministických toků
  4. Transakční entropie
  5. Jak payjoin poráží heuristiku společného vlastnictví vstupů (CIOH)

Část 4 pojednává o následujícím:

  1. Analýzy potřebují „výchozí bod“
  2. Dopady na soukromí při zasílání a přijímání plateb
  3. Jak mohou stávající techniky pro ochranu soukromí zmírnit mnohé z problémů diskutovaných v celé příručce

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

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.



4.8 132×
Safe Model T
Hardware Wallet encryption, supports more than 500 currencies, USB-C, microSD
1,299,-
Buy
In stock 1 pcs
Order by midnight, get it at the AlzaBox in the morning.
Info
Order Code: TREZBIT1d
4.4 93×
Ledger Nano X Onyx Black Crypto Hardware Wallet
Hardware Wallet - encryption, easy to use with Windows, OS X, Linux, BIP39/BIP44, USB-C, Bluetooth, iOS/Android compatibility
3,899,-
Buy
In stock > 5 pcs
Order by midnight, get it at the AlzaBox in the morning.
Info
Order Code: TREZBIT7d
4.8 696×
TREZOR Bitcoin Wallet White
Hardware Wallet - encryption, OLED display 128x64, easy to use, compatible with Windows, OS X, Linux, USB
499,-
Buy
In stock 2 pcs
Order by midnight, get it at the AlzaBox in the morning.
Info
Order Code: TREZBIT
289,-
Buy
In stock > 10 pcs at the supplier's
Order Code: FKP0274319
4.7
Bitcoin: Peníze budoucnosti
Elektronická kniha
99,-
Buy
Available for reading
Order Code: EK22762
Print
P-DC1-WEB17