AD homeoffice AD homeoffice

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

Zobraziť katalóg

Recenzia

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 Bitcoinu Privacy pomocou OXT (časť 3/4) – OBSAH

  1. Úvod
  2. UTXO Ownership model a mnohoznačnosť Simple Spends
  3. Ako prekonať heuristiku Change detection
  4. UTXO Flows & Deterministic Spends
  5. Prerušenie väzieb – Non Deterministic Transactions
  6. Entropia – Equal Output CoinJoins a kedy je vhodné použiť CIOH
  7. CoinJoin – Equal Output (šifrovanie) vs. PayJoin (steganografia)
  8. Ďalšie techniky na „rozbitie“ grafu transakcií
  9. Zhrnutie
i

Základné pojmy

  • UTXO Ownership model – model vlastníctva UTXO
  • Batch spend – hromadné výdavky
  • Deterministic Spend – deterministická (určitá) úhrada
  • UTXO Flows – toky UTXO
  • Non Deterministic Transactions – transakcie, ktoré nemajú jasný výklad
  • Equal Output CoinJoin – Coinjoin s rovnomernými (identickými) Outputmi
  • Swap Service – výmenná služba
  • Non-custodial – máte plnú kontrolu nad privátnymi kľúčmi
  • Custodial – privátne kľúče ovláda niekto iný (zmenáreň), vyžaduje dôveru

Úvod

Po tom, ako sme si v prvej a druhej časti predstavili základné pojmy chain analysis, v tretej časti sa pozrieme bližšie na metódy a možnosti, ako chain analysis obísť a znemožniť.

V tejto časti predstavíme nasledovné:

  1. Znemožníme heuristiku Change detection pri Simple spend.
  2. Vytvoríme mnohoznačný transakčný graf s Equal Output coinjoinmi.
  3. Podkopme CIOH pomocou coinjoins.

UTXO Ownership model a mnohoznačnosť Simple Spends

Naposledy sme si predstavili heuristiku Change detection pre Simple spend s 1 Inputom a 2 Outputmi. Predpokladali sme, že transakcia obsahuje platbu a Change output.

V skutočnosti však možno Simple spend interpretovať aj niekoľkými inými spôsobmi, a to na základe modelu UTXO Ownership. Ownership model sa pokúša priradiť vlastníctvo k jednotlivým Inputs a Outputs v konkrétnej transakcii. Všetky možné interpretácie vlastníctva pre transakciu s 1 Inputom a 2 Outputmi sú znázornené na obr. 3.1.

Šifrovanie; Messengery; Súkromie
Obr. 3.1. – UTXO Ownership Model pre Simple Spend.

Analytik musí zvážiť každú z týchto interpretácií, najmä ak používa len interné údaje o transakciách. Interpretácie možno postupne zužovať vylučovacou metódou, pričom sa zohľadnia ďalšie informácie, ako sú napríklad wallet fingerprinting, bežné správanie peňaženiek alebo typické správanie používateľov.

Podľa typického správania používateľov sú najpravdepodobnejšie interpretácie 1 a 2. Interpretácie 3 a 4 sú možné, hoci mnohé bitcoinové peňaženky nemajú funkciu Batch spend. Interpretácia 5 je zriedkavá z dôvodu dodatočne platených poplatkov a nadmernej veľkosti súboru UTXO.

Na vyradenie jednotlivých interpretácií možno použiť externé transakčné údaje, ako sú Outputy odoslané do centralizovaných služieb alebo opakovane používanej adresy (address reuse). Vzhľadom na obrovskú koncentráciu transakčných grafov okolo centralizovaných služieb a vzorcov bežného správania používateľov sa tieto úplné interpretácie v praxi takmer nepoužívajú.

Ako prekonať heuristiku Change detection

Transakcie môžu byť pomocou softvéru peňaženky vytvorené ako mnohoznačnejšie. Cieľom je prekonať heuristiku pre Change detection uvedenú v časti 1. Nižšie uvedená transakcia je príkladom „maximálne“ nejednoznačnej Simple spend.

Šifrovanie; Messengery; Súkromie
Obr. 3.2. – Nejednoznačný Simple spend (TxID).

Obrana proti heuristike u zaokrúhlených čísel

Výšku platby určuje používateľ. Ak si používateľ zvolí zaokrúhlenú sumu platby, je pri Simple spend peňaženku ťažké chrániť sa proti tejto heuristike. Pri väčšine reálnych platieb (s cenou vo fiate) je použitie tejto heuristiky menej pravdepodobné. Na obr. 3.2 vidíme, že platba nemá čiastku so zokrúhleným číslom, a tak si zachováva ochranu proti tejto heuristike.

Identický change output script typ

Príkladová transakcia má zhodné typy Output skriptov pre oba Outputy, takže nie je možné uplatniť heuristiku unikátneho Output skriptu. To pomáha zachovať mnohoznačnosť a komplikuje change detection.

Náhodná pozícia change output

Aby sa zvýšila mnohoznačnosť správania tejto peňaženky v rámci série transakcií, musí softvér peňaženky náhodne meniť pozíciu výstupu change Outputu. Striedanie pozície zostatkov medzi Output 0 a Output 1 komplikuje automatické sledovanie peňaženiek, podobne ako je to znázornené na obr. 2.8.

Hodnotenie transakcií vrátane externých údajov o transakciách

Graf transakcií OXT zobrazuje relatívnu veľkosť UTXO a transakcií s použitím rôznych váh riadkov. Pokiaľ tento transakčný graf rozšírime, automaticky tým doňho zahrnieme aj niektoré externé údaje o transakciách.

Na základe grafu transakcií a budúcich výdavkov UTXO, ktorý Output by mohol byť platbou? Majú adresy v tejto transakcii nejakú predchádzajúcu históriu opakovaného použitia (reuse)?

Toto je dokonalý príklad toho, ako sa externé údaje môžu použiť na identifikáciu platieb a určenie Change output. Expandujte transakčný graf alebo sledujte budúce výdavky UTXO, aby ste overili predpoklad, či ide o platbu alebo change.

UTXO Flows & Deterministic Spends

Rovnaké typy skriptov change output a náhodné pozície change môžu peňaženky používať na zachovanie mnohoznačnosti pri simple spend, ale neriešia základnú väzbu medzi Inputs a Outputs, ktoré sa spotrebúvajú pri transakcii.

Medzi Inputs a Outputs danej transakcie vždy existuje väzba. Tieto vnútrotransakčné vzťahy UTXO si možno predstaviť ako „Flows“, pri ktorých sa BTC spotrebované z inputových UTXO konvertujú na outputové UTXO.

Šifrovanie; Messengery; Súkromie
Obr. 3.3. – Vizualizácia UTXO Flows pomocou grafu transakcií OXT (TxID).

V prípade simple spend (1 Input a 2 Outputy) sa na pokrytie oboch Outputov musí použiť jeden Input. Vnútrotransakčný flow pri simple spend má len jednu interpretáciu. Výsledkom je, že spojenie medzi jedným Inputom a každým Outputom je matematicky deterministické (určené, dané).

Vzťah medzi Inputom a Outputom možno zobraziť výberom v transakčnom grafe OXT. Vizualizér transakcií na kycp.org zobrazuje taktiež vnútrotransakčné väzby

Šifrovanie; Messengery; Súkromie
Obr. 3.4. - Vizualizácia tokov UTXO prostredníctvom KYCP (TxID).

Aj keď vždy existuje určitá mnohoznačnosť týkajúca sa vlastníctva UTXO, nemožno sa spoliehať na to, že model vlastníctva UTXO zakryje toky BTC, ktoré prebiehajú on-chair. Bez prerušenia deterministických väzieb a vnesenia mnohoznačnosti do grafu transakcií zostávajú bitcoiny „dohľadateľné“.

Narušenie deterministických prepojení a vytvorenie on-chair mnohoznačnosti si vyžaduje špecifickú konštrukciu transakcií. Determinizmus závisí od počtu transakčných Inputov, Outputov a množstva BTC pre jednotlivé UTXO.

Transakcie s viacerými Inputmi a Outputmi môžu samy o sebe vytvoriť rušivý transakčný graf. Tieto typy transakcií nie je ľahké interpretovať bez špeciálnych nástrojov alebo úvah.

Šifrovanie; Messengery; Súkromie
Obr. 3.5. – Séria Multi Input/Output transakcií (TxID).

Napriek chaotickému transakčnému grafu je možné vyhodnocovať deterministické väzby medzi transakciou UTXO s viacerými Inputmi a Outputmi. Tento koncept prvýkrát predstavil Američan Kristov Atlas vo svojom poradenskom systéme a algoritme „CoinJoin Sudoku“.

V rámci coinjoinu používatelia spájajú svoje prostriedky do tzv. „Pools“ a spolupracujú pri vytváraní transakcie. Zvyčajne tým, že vytvoria transakcie s rovnakými outputovými čiastkami. Algoritmus CoinJoin Sudoku využíva odvetvie matematiky nazývané analýza súčtu podmnožín na vyhodnotenie transakcií z hľadiska „Common Ownership“ Inputs a Outputs.

Diskusia o tejto matematickej metóde presahuje rámec tejto príručky, ale dôležitým zistením je, že z naivne vytvorenej transakcie coinjoin možno vyhodnotiť deterministické väzby.

Koncept CoinJoin Sudoku bol rozšírený aj o Boltzmannova algoritmus, ktorý vytvoril hlavný vývojár systému OXT, LaurentMT. Boltzmann používa koncept CoinJoin Sudoku na vyhodnotenie transakcií z hľadiska niekoľkých ukazovateľov súvisiacich so súkromím.

V prípade správne vytvorených coinjoins stále existuje väzba medzi Inputmi a identickými Outputmi, ale tieto väzby sú pravdepodobnostné, nie deterministické. Boltzmannov algoritmus vypočíta maticu pravdepodobnosti prepojenia (Link Probability Matrix, LPM) pre vzťah medzi transakčnými Inputmi a Outputmi.

Output transakcie LPM nájdete na stránke TRANSACTION. V záložke INPUTS & OUTPUTS (Vstupy a výstupy) možno kliknutím na ikonu „CHAIN ICON“ vpravo od vybraného UTXO zobraziť podmnožinu väzieb medzi Inputom a každým Outputom.

Šifrovanie; Messengery; Súkromie
Obr. 3.6. – OXT Podmnožina prepojovacej matice (TxID).

LPM pre vybrané UTXO vo vyhodnocovaných transakciách možno tiež zaistiť aj výberom Inputs a Outputs v grafe transakcií OXT (pozri obr. 3.3). Vizuálne znázornenie celého LPM vytvoreného Boltzmannovým algoritmom nájdete na kycp.org.

Šifrovanie; Messengery; Súkromie
Obr. 3.7. – KYCP UTXO Flows & LPM(TxID).

Entropia – Equal Output CoinJoins a kedy je vhodné použiť CIOH

V prípade Equal Output CoinJoin spolupracujú viacerí používatelia na vytvorení transakcie, ktorá združuje ich zdroje a prerušuje deterministické väzby v transakcii medzi ich Inputom a rovnakým Equal Outputom.

Zapojením viacerých používateľov do týchto transakcií dochádza zároveň k porušeniu CIOH. Predpoklad, že Inputy transakcií, ktoré by mohli byť coinjoinmi, sú kontrolované jedinou peňaženkou, by mohol viesť k falošne pozitívnemu Wallet clusteru podľa modelu CIOH.

Aby sa tomu analytik vyhol, môže na transakcie, ktoré by mohli byť coinjoinmi, použiť heuristiku equal Outputu. Všetky transakcie, ktoré majú viacero equal Outputov, však nemusia byť nevyhnutne coinjoiny. Pri naivnej konštrukcie môžu mať transakcie s viacerými equal Outputmi stále deterministické väzby medzi Inputmi a equal Outputmi, čo je dôkazom toho, že nejde o coinjoin.

Šifrovanie; Messengery; Súkromie
Obr. 3.8. – Transakcie s equal Outputmi a deterministickými väzbami (TxID).

Namiesto nesprávneho klastrovania (zhlukovania) transakcií alebo naivného vylučovania transakcií s equal Outputmi môžu analytici skutočne vyhodnotiť vlastnosti transakcií Coinjoin pomocou Boltzmannovej metódy.

Boltzmann efektívne využíva analýzu súčtu podmnožín na položenie otázky: Existuje viacero možností (interpretácií), ako by Inputy transakcie mohli zaplatiť jej Outputy?

Ak má transakcia viacero interpretácií tokov v rámci jednotlivých UTXO, Boltzmann hodnotí entropiu tejto transakcie známkou väčšou alebo rovnou 0. Pojem entropia pochádza z termodynamického mentálneho modelu. V tomto modeli možno považovať počet interpretácií za mikropriestory celkového makropriestoru transakcie.

Entropiu možno považovať za ukazovateľ merajúci nedostatok znalostí analytikov o presnom poradí sledovanej transakcie.

Transakcie s entropiou majú vlastnosti coinjoinu a prerušené deterministické väzby. Tieto vlastnosti sú dôkazom toho, že do transakcie vkladajú svoje Inputy viacerí používatelia. Z konzervatívnych dôvodov by Inputy do transakcií, ktoré už majú entropiu, nemali byť klastrované (zhlukované) podľa CIOH.

Šifrovanie; Messengery; Súkromie
Obr. 3.9. – KYCP vyhodnotenie DarkWallet Coinjoinu (TxID).

Interpretácia transakcií KYCP

KYCP obsahuje značné množstvo informácií o transakciách vrátane reuse address v rámci transakcie, deterministických a pravdepodobnostných väzieb a Input a Output merges (zlúčení). Vyššie uvedený príklad je coinjoin transakcia v Dark wallet. Deterministické väzby pre equal Inputs sú prerušené, ale deterministické väzby medzi Inputs a „change Outputs“ stále existujú. Všimnite si tiež, že Outputy 1 a 3 sú odoslané a zlúčené (merge) do tej istej budúcej transakcie. Čo naznačuje, že ich opäť mixujú tí istí používatelia, respektíve wallets address.

CoinJoin – Equal Output (šifrovanie) vs. PayJoin (steganografia)

Spojenia s equal Inputs majú jedinečnú on-chair stopu, ktorú možno identifikovať podľa prítomnosti viacerých equal Inputs. Ale toky pre equal Inputs však nemožno považovať za deterministické. Pokiaľ analytik vie, že sleduje coinjoin, musí predpokladať, že používateľ, ktorého sa snaží sledovať, ovláda jeden z mnohých equal Inputov. Vo väčšine prípadov to stačí na to, aby bol analytik zastavený.

Šifrovanie; Messengery; Súkromie
Obr. 3.10. – Zobrazenie transakcie pomocou funkcie Whirlpool Coinjoin (TxID).

Keď sa analytik stretne s rovnakým Input coinjoin, vie, že bola použitá technika ochrany súkromia, ale z transakcie nemôže nič spoľahlivo vyvodiť. Týmto spôsobom sa Equal Inputs coinjoins podobajú šifrovaniu (encryption). Pozorovatelia zašifrovaných správ vedia, že správa existuje (môžu pozorovať coinjoin on-chain), ale nemôžu správu dešifrovať (spoľahlivo interpretovať flows v rámci transakcie).

Druhý typ coinjoinu sa nazýva payjoin alebo pay-to-end-point alebo Stowaway v Samourai Wallet alebo po novom aj Sparrow wallet. Transakcie Payjoin pozostávajú zo spoločnej transakcie medzi používateľom a príjemcom platby. Väčšina payjoinov zatiaľ nemá v blockchaine žiadne rozpoznateľné vzory alebo použiteľné heuristiky.

Payjoiny sú v podstate na nerozoznanie od bežnej transakcie, pri ktorej používateľ minie viac UTXO. Bez akéhokoľvek rozlíšiteľného odtlačku transakcie on-chair môže analytik nesprávne aplikovať metódu CIOH na tieto typy transakcií a nesprávne predpokladať, že každý z Inputov je ovládaný tým istým používateľom.

Transakcie Payjoin tak predstavujú steganografickú techniku. Steganografia je proces skrývania tajnej správy (skutočnosť, že došlo k coinjoinu) v inak normálne vyzerajúcich údajoch (bežná transakcia, pri ktorej sa uhradí viacero Inputov). A keďže payjoiny nemajú spoľahlivú on-chair stopu, metóda CIOH ich ešte k tomu často nesprávne klasifikuje.

Ďalšie techniky na „rozbitie“ grafu transakcií

Custodial tumblers, často všeobecne označované ako „mixéry“, sú jednou z najstarších techník ochrany súkromia používaných na aplikačnej vrstve. Účelom custodial tumblers je fungovať ako Swap service (výmenná služba). Používatelia do tumblera vkladajú mince a na oplátku dostanú (dúfajme) za ne rôzne UTXO s novou históriou transakcií. V ideálnom prípade je výsledkom procesu výmeny „prerušený“ graf transakcií, ktorý roztrhá súvislosť medzi vkladmi a výbermi používateľa.

Táto technika tiež spopularizovala termín „taint“, keď používatelia tumblerov môžu nevedomky obdržať UTXO s určitou „problematickou históriou“ ako súčasť swapu. Záujemcovia si môžu pozrieť hodnotenie dvoch najväčších custodial tumblerov (ChipMixer a Blender) z nášho vyšetrovania Kucoin Hacku.

Cieľom ďalších vylepšení ochrany súkromia, ako sú napríklad coinswapy, je rozbiť graf transakcií non-custodial spôsobom. Tieto techniky sú však ešte len v začiatkoch. Bez dodatočnej mitigácie budú tieto teoretické swapy trpieť so swapovaním „taintov“ ako custodial tumblery. Táto časť sa bude aktualizovať, akonáhle budú zavedené ďalšie techniky.

Zhrnutie

V časti 3 sme si predstavili mnoho nástrojov, ktoré dokážu prekonať hlavné heuristiky chain analysis.

Heuristiku change detection možno prekonať tým, že sa vyhneme platbám so zaokrúhlenými čiastkami, vytvoríme transakcie s identickými typmi skriptov v change outputs a náhodným rozložením pozície change outputs.

Equal coinjoins sú kolaboratívne transakcie zahŕňajúce viacerých používateľov. Rozbitím deterministických väzieb vytvárajú tieto transakcie mnohoznačné transakčné grafy a zapojením viacerých používateľov porážajú CIOH.

Payjoin sú tiež transakcie založené na spolupráci. Zapájajú platiteľa a príjemcu do vytvárania transakcie a majú rovnakú transakčný odtlačok ako bežný multi-Input spend. Bez rozpoznateľného odtlačku tieto transakcie znemožňujú CIOH.

V 4. časti sa budeme venovať nasledujúcim témam:

  1. Analýzy vyžadujúce „starting point“ (východiskový bod).
  2. Dôsledky odosielania a prijímania platieb na súkromie.
  3. Ako môžu existujúce techniky ochrany súkromia zmierniť mnohé z problémov, o ktorých sa hovorí v celej 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.

Ergo

Ergo

Ergo skúma používanie Bitcoinu z hľadiska súkromia pri transakciách pre spoločnosť OXT Research by Samourai Wallet. Projekt OXT Research je známy najmä vďaka úspešnému vypátraniu podvodu PlusToken v hodnote niekoľkých miliárd dolárov, hackerského útoku na burzu Kucoin a ďalších vysoko profilovaných krádeží súvisiacich s bitcoinmi.



Vytlačiť
P-DC1-WEB19
Zavoláme Vám a odborne poradime
+421 2 5710 1800
Otázka na objednávku
Otázka na tovar
Prosím, zadajte svoj telefón:
Zavolajte mi
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í Menej informácií