Obnoviť stránku

Ako na Bitcoin Privacy pomocou OXT – časť 1/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ť 1/4) – OBSAH

  1. Úvod
  2. Hlavným problémom je spätné dohľadanie
  3. Popis problému – pseudoanonymný Bitcoin
  4. Heuristika
  5. Nevyčerpaný výstup transakcie (UTXO)
  6. Príklady transakcií
  7. Zisťovanie zostatkov – interpretácia jednoduchých výdavkov (Simple Spend)
  8. Zhrnutie a náhľad
i

Základné pojmy

  • Chain Analysis – transakčná analýza blockchainu
  • Bitcoin UTXO – nevyčerpaný výstup transakcie
  • Change Output – zostatok výstupu transakcie (vracia sa odosielateľovi späť do peňaženky)
  • On-Chain – na transparentnom blockchaine
  • INPUT – vstup
  • OUTPUT – výstup
  • Cluster Wallet Labeling – označenie skupiny peňaženiek
  • Common Input Ownership – spoločné vlastníctvo vstupov

Úvod

Vedomie o hodnote bitcoinu pre platby odolné voči cenzúre sa rozšírilo v roku 2011, keď bola spustená Silk Road a zachránená nezisková organizácia Wikileaks, ktorej tradičný bankový systém znemožnil prijímať príspevky.

Zároveň sa rozšírili nebezpečné a zavádzajúce informácie o tom, že bitcoinové transakcie sú anonymné a nedajú sa vystopovať.

Wikileaks oznamuje na Twitteri prijímanie bitcoinu.

Toto tvrdenie však nikdy nebolo pravdivé a bolo spôsobené najmä nepochopením základného fungovania Bitcoinu. Navyše, v roku 2011 blockchain takmer nikto nesledoval. Ale keď sa raz niečo zapíše do blockchainu, zostane to tam navždy.

Orgány činné v trestnom konaní majú prístup k analytickým nástrojom, ktoré dokážu analyzovať transakcie v blockchaine, a tak už pomohli mnohým významnou mierou. Firmy zaoberajúce sa chain analysis sa dožadujú prvého zverejnenia blogových príspevkov o najnovšom „trestnom čine“, pri ktorom bol na platbu použitý bitcoin. Titulky o dohľadaní bitcoinu sa objavujú na titulných stranách popredných svetových médií.

Šifrovanie; Messengery; Súkromie
Titulka Bitcoin je dohľadateľný.

Hlavným problémom je spätné dohľadanie

Realita súkromia bitcoinov a to, čoho sú používatelia schopní pri používaní bitcoinov na platby, sa nachádza niekde medzi dokonalou anonymitou a dokonalou sledovateľnosťou.

Väčšina metód sledovania závisí od heuristiky a vyhodnocovania toku bitcoinov. Kým sa ochrana súkromia na úrovni Bitcoin protokolu zásadne nezlepší, nemáme inú možnosť, ako na anonymizáciu využiť možnosti dostupných aplikácií.

Na počiatku histórie Bitcoin sa na prekonanie analytickej heuristiky používal náhodný odtlačok peňaženky. Na prerušenie metód analýzy finančných tokov sa používali nástroje, ako sú napríklad custodial tumblers, avšak s rizikom straty finančných prostriedkov. V súčasnosti coinjoin a kolaboratívne transakcie umožňujú zvýšiť ochranu súkromia za primerané poplatky a v porovnaní s predchádzajúcimi metódami sú bezpečné. V oblasti automatizácie zlepšovania ochrany súkromia na aplikačnej vrstve je však ešte potrebné vykonať veľa práce.

Podľa nášho názoru je vzdelávanie používateľov veľmi dôležité. To, ako získať základnú úroveň finančného súkromia, ktorú súčasný finančný systém zvyčajne poskytuje, bolo našou hlavnou motiváciou pre napísanie tohto článku. V tejto príručke sa budeme venovať nasledujúcim témam:

  1. Čo vlastne znamená pojem „dohľadateľný bitcoin“, vrátane príkladov.
  2. Akými nástrojmi sa môžem chrániť pred sledovaním a ako tieto nástroje fungujú v praxi.
  3. Praktické poznatky pre používateľov odosielajúcich a prijímajúcich platby.

Popis problému – pseudoanonymný Bitcoin

Transakcie s bitcoinmi sú pseudonymné, nie anonymné. Skutočné meno používateľa a jeho osobné identifikačné údaje (PII) nemajú na úrovni bitcoinového protokolu čo robiť. To poskytuje veľmi základnú úroveň ochrany súkromia, pretože transakčná činnosť musí byť najprv priradená k jednotlivcovi.

Transakcie v bitcoinoch sa však vykonávajú za transparentné sumy na transparentné adresy. Adresy sú pseudonymy, ktoré predstavujú skutočnú aktivitu používateľa, presnejšie aktivitu jedného súkromného kľúča.

Šifrovanie; Messengery; Súkromie
Príklad bitcoinovej transakcie.

Bitcoinové transakcie sa odosielajú do bitcoinovej siete a archivujú sa v bitcoinovej databáze alebo, ak chcete, v bitcoinovej účtovnej knihe. Knihu a všetky transakcie, ktoré obsahuje, si môže preliadnuť ktokoľvek, kto má spustený bitcoinový node alebo prístup na webový prehliadač blockchain.

Transparentnosť týchto verejných informácií umožňuje bezprecedentne jednoduchý prístup k informáciám, ktorý nie je možný v tradičnom finančnom systéme.

Ktokoľvek môže cez webový prehliadač zadať požiadavku do blockchain exploreru a sledovať históriu transakcií celej bitcoinovej siete. Vďaka tomu je možné ľahko sledovať toky bitcoinov aj v rámci viacerých transakcií.

Vo všeobecnosti sa táto činnosť stala synonymom pre pojem chain analysis.

Najbežnejšia forma chain analysis sa zameriava na identifikáciu Bitcoin UTXO's. Tento proces je založený na niekoľkých heuristikých postupoch, ktoré možno použiť na sledovanie činnosti používateľa pri viacerých transakciách.

Ak táto aktivita blockchainu vedie k skupine peňaženiek identifikovaného ekonomického subjektu (KYCnet), vyšetrovatelia môžu byť schopní získať osobné idetifikačné údaje používateľa (PII) spojené so sledovanou transakčnou aktivitou.

Z toho môžeme odvodiť dva hlavné problémy, ktoré môžu byť použité na útok na ochranu súkromia používateľa:

  1. „Change outputs“ alebo UTXO sa môžu použiť na sledovanie aktivity používateľov v blockchaine.
  2. Prepojenie tejto činnosti so subjektmi, ktoré získavajú PII (napr. burzy v dôsledku KYC), spája pozorovanú aktivitu v blockchaine s možnou skutočnou identitou.

Hoci bod 2 je dôležitou súčasťou toho, čo mení analýzu reťazca na skutočné vymáhanie, tento dokument sa zameriava najmä na zmiernenie možnosti sledovania on-chain.

Heuristika

Heuristika je súbor pravidiel používaných na rozhodovanie v nejasných podmienkach. Často sú založené na praktických dedukciách, aj keď nie sú stopercentne presné.

Veľká časť tradičnej chain analysis je založená na heuristike. Primárna heuristika súvisí s detekciou UTXO's v jednoduchých transakciách, v ktorých používame bitcoiny, a sekundárna heuristika využíva zhlukovanie jednotlivých adries určením spoločného vlastníctva vstupov.

Každá z týchto heuristík môže byť samostatne zavádzajúca a nepresná. V kombinácii s inými vzormi transakcií alebo externými údajmi, ako je napríklad cluster wallet labeling, sa však nedostatky týchto jednotlivých heuristík stávajú menej dôležitými.

Nevyčerpaný výstup transakcie (UTXO)

Transakcie bitcoinov sú jednoducho záznamy o tokoch bitcoinov medzi jednotlivými adresami.

Nevyčerpaný výstup transakcie (UTXO) sú „kúsky bitcoinov“, ktoré sa používajú na konštrukciu transakcií. Štruktúru transakcie možno rozdeliť na INPUT a OUTPUT.

Používateľ nastaví transakciu zadaním platobnej adresy (adries) a sumy (súm) platby. Toto budú OUTPUTS novovytvorených transakcií.

Softvér peňaženky zvyčajne dokončí transakciu algoritmickým zahrnutím UTXO z predchádzajúcich transakcií ako INPUTS do novej transakcie.

Šifrovanie; Messengery; Súkromie
Nevyčerpané výstupy Transakcie (UTXO).

Medzi bitcoinovou adresou a UTXO je veľký rozdiel. UTXO sú „kúsky bitcoinu“ pripísané na adresu. Najjednoduchšie si tento rozdiel predstavíte, ak si uvedomíte, že jedna adresa môže dostať viacero UTXO, čo je proces poškodzujúci súkromie, ktorý sa označuje ako „opakované použitie adresy“.

Príklady transakcií

Existuje niekoľko bežných kategórií bitcoinových transakcií. Tieto kategórie sú odvodené na základe vstupného a výstupného profilu transakcií spolu s našimi skúsenosťami a pozorovaným označením zhlukov. Príklady hlavných typov transakcií sú uvedené nižšie.

Jednoduché výdavky – Simple Spend

Jednoduché výdavky sú jedným z najbežnejších typov transakcií a tvoria približne 50 % transakcií s bitcoinmi v posledných blokoch (Zdroj: transactionfee.info).

Tieto typy transakcií sú dôkazom typického správania používateľov, keď používateľ vykoná platbu a dostane späť UTXO.

Charakteristiky:

  • Počet vstupov: 1 (alebo viac)
  • Počet výstupov: 2
  • Bežný výklad: 1 výstup platby, 1 výstup zostatku
Šifrovanie; Messengery; Súkromie
Príklad transakcie jednoduchých výdavkov – Simple Spend.

Zametenie – „Sweep“

„Sweep“ prepošle jeden celý UTXO na novú adresu.

Charakteristiky:

  • Počet vstupov: 1
  • Počet výstupov: 1
  • Bežný výklad: pravdepodobne prevod medzi sebou samým
Šifrovanie; Messengery; Súkromie
Príklad transakcia zametenia

Výdavky na konsolidáciu – „Konsolidation Spend“

Konsolidačné transakcie spájajú viacero UTXO do jedného UTXO. Málokedy ide o „skutočné platby“, pretože pravidelná platba má change output.

Charakteristiky:

  • Počet vstupov: >1
  • Počet výstupov: 1
  • Bežný výklad: možný vlastný prenos
Šifrovanie; Messengery; Súkromie
Príklad konsolidačnej transakcie.

Hromadné výdavky – „Batching“

Hromadné transakcie sa s najväčšou pravdepodobnosťou vykonávajú na burzách a zahŕňajú 1 alebo viac INPUTS a mnoho OUTPUTS. Cieľom týchto transakcií je ušetriť poplatky ťažiarom tým, že sa v rámci jednej transakcie uskutoční čo najviac platieb.

Charakteristiky:

  • Počet vstupov: ≥1
  • Počet výstupov: MNOHO
  • Bežný výklad: veľká hospodárska aktivita, pravdepodobne zmenáreň
Šifrovanie; Messengery; Súkromie
Príklad hromadnej transakcie.

Transakcie medzi viacerými stranami (Coinjoin)

Coinjoin zahŕňa spoluprácu mnohých používateľov na jednej transakcii, čo zvyšuje súkromie účastníkov. Tieto transakcie sa dajú ľahko identifikovať pomocou zhodných výstupov OUTPUTS.

Charakteristiky:

  • Počet vstupov: VEĽA
  • Počet výstupov: VEĽA
  • Výstupný profil: počet rovnakých OUTPUTS je zástupným ukazovateľom počtu účastníkov
Šifrovanie; Messengery; Súkromie
Príklad transakcie CoinJoin.

Zisťovanie zostatkov – interpretácia jednoduchých výdavkov (Simple Spend)

V tejto časti si ukážeme interpretáciu transakcií pre spimple spend (1 vstup, 2 výstupy). Táto časť sa zameria na najbežnejšiu interpretáciu týchto transakcií, pri ktorej sa jeden OUTPUT interpretuje ako platba a zvyšný OUTPUT sa interpretuje ako „drobné“, ktoré sa vrátia do pôvodnej peňaženky. Úplný zoznam interpretácií podľa tohto modelu je uvedený v časti III. Cieľom tejto časti je oboznámiť čitateľa s heuristikami používanými na vyhodnotenie jednoduchého programu Spend a zisťovanie change outputs.

Pri izolovanom monitorovaní jednej transakcie máme k dispozícii obmedzené množstvo údajov, ktoré sú v transakcii obsiahnuté. Tieto informácie označujeme ako interné údaje o transakciách.

Interné údaje o transakciách sú obmedzené na nasledujúce:

  • sumy (INPUTS, OUTPUTS, poplatky ťažiarov)
  • typ vstupnej adresy skriptu (Input Address script type)
  • typ výstupnej adresy skriptu (Output Address script type)
  • číslo verzie transakcie (Transaction version number)
  • čas uzamknutia transakcie (Transaction locktime)
  • signalizácia nahradenia poplatku (Replace by fee signaling)

Detekcia zostatku – „Change detection“

Kvôli poplatkom ťažiarov si bežná platba v bitcoinoch vždy vyžaduje OUTPUT vyšší ako zamýšľaná suma platby.

Keď sa spotrebuje jeden UTXO na sumu vyššiu, ako je zamýšľaná suma platby, používateľ dostane zvyšný UTXO späť na adresu vygenerovanú súkromným kľúčom jeho peňaženky.

Veľká časť tradičnej chain analysis je založená na zisťovaní tohto change output. Ak sa podarí change output úspešne detegovať, môžete sledovať činnosť jedného používateľa v sérii transakcií.

V tejto časti budeme zisťovať change outputs na základe interných údajov o transakciách. Heuristiky sú uvedené zhruba v poradí podľa klesajúcej presnosti ich účinnosti. Používateľom budú poskytnuté príklady a komentované snímky obrazovky, ktoré im pomôžu predstaviť si tieto koncepty.

Opätovné použitie adresy – „Address reuse“

Adresy sa vytvárajú pomocou jedného súkromného kľúča. Viacnásobné použitie tej istej adresy svedčí o aktivite toho istého súkromného kľúča.

Pri Simple Spend, ak je jeden OUTPUT na novej adrese a zvyšný OUTPUT je na rovnakej adrese ako vstupná adresa, vieme, že opätovne použitá adresa je výstupom zostatkov.

Väčšina bitcoinových peňaženiek v súčasnosti automaticky generuje novú adresu pre príjem change output. Peňaženka však môže byť nakonfigurovaná tak, aby prijímala change output na rovnakú adresu, ako je vstupná adresa transakcie. Takéto správanie zvyčajne svedčí o činnosti peňaženky centralizovanej služby (Zmenáreň) alebo starých verzií bitcoinovej peňaženky.

Šifrovanie; Messengery; Súkromie
Príklad opätovného použitia adresy.

Heuristika platieb zaokrúhlených čísiel

Keď používateľ iniciuje platbu, zadá do softvéru peňaženky cieľ platby (adresu), sumu platby a poplatok ťažiarom. Softvér peňaženky vyberie vstupný UTXO a vygeneruje change output (ak existuje).

Change output jednoduchého výdavku sa vypočíta takto:

Vstupná suma - suma platby - veľkosť transakcie (v vbytes) * poplatok za používanie siete (sat/vbyte)

Pre používateľa je ťažké úmyselne generovať change output pre „sumu so zaokrúhleným číslom“. V transakcii Simple Spend je OUTPUT zaokrúhleného čísla pravdepodobne platba, ktorá zo zvyšného OUTPUTu urobí change output.

Šifrovanie; Messengery; Súkromie
Príklad heuristiky platieb okrúhly čísel.

Heuristika pre rôzne typy skriptov

Existuje niekoľko typov skriptov bitcoinových adries. Čitatelia budú najviac poznať tieto typy skriptov:

  • sumy (INPUTS, OUTPUTS, poplatky ťažiarov)
  • typ vstupnej adresy skriptu (Input Address script type)
  • typ výstupnej adresy skriptu (Output Address script type)

Ak je pre daný typ vstupného skriptu jeden outuput rovnakého typu ako input a zvyšný output na nový typ adresného skriptu, je tento output na nový adresný typu skriptu pravdepodobne platbou.

Čo spôsobuje, že OUTPUT na rovnaký typ adresného skriptu je pravdepodobný change output.

Inými slovami, OUTPUT na iný typ skriptu je pravdepodobne OUTPUT platby. Túto heuristiku je možné kombinovať aj s heuristikou pre platbu so zaokrúhleným číslom.

Šifrovanie; Messengery; Súkromie
Príklad heuristiky rôznych typov skriptov.

Heuristika najväčšej výstupnej sumy – „Largest Output amount“

Ďalšia jednoduchá heuristika predpokladá, že najväčší output amount je pravdepodobne change output. Ide o jednu z najslabších heuristík, najmä ak sa používa samostatne, ale ako sa zmienime v časti 2, táto heuristika môže byť užitočná pri analýze transakčného grafu.

Šifrovanie; Messengery; Súkromie
Príklad heuristiky najväčšieho výstupného množstva.

Zhrnutie a náhľad

V tejto časti sme predstavili mnohé základné pojmy týkajúce sa súkromia bitcoinových transakcií. Pseudonymné bitcoiny poskytujú základnú úroveň súkromia, ktorá nie je priamo spojená s osobnými identifikačnými údajmi.

Otvorenosť bitcoinového protokolu však umožňuje sledovať všetky transakcie s bitcoinmi. Tento koncept sa vo všeobecnosti označuje ako chain analysis alebo „transakčná analýza“. Chain analysis sa zameriava najmä na zisťovanie výstupov zmien pomocou niekoľkých heuristík. Ak sú tieto heuristiky úspešné, umožňujú sledovať aktivitu jedného používateľa v rámci viacerých transakcií.

Časť 2 predstaví základné koncepty chain analysis, ako napríklad:

  1. Externé údaje o transakciách, ktoré možno použiť na oslabenie súkromia transakcií.
  2. Analýza grafu transakcií, hlavný nástroj na sledovanie toku bitcoinov vo viacerých transakciách.
  3. Heuristika common input ownership, známa tiež ako wallet clustering alebo zhlukovanie peňaženiek“, a aké sú jej dôsledky pre Bitcoinovú sieť.
  4. V tejto časti vás tiež prevedieme a ukážeme príklady nástroja OXTs transaction graph a schému wallet clustering

Časť 3 zahŕňa základné koncepty zlepšenia súkromia bitcoinov vrátane:

  1. Náhodný odtlačok peňaženky na zabránenie zistenia zostatkov.
  2. Toky UTXO a základné prepojenie medzi INPUTS a OUTPUTS.
  3. Ako rovnosť OUTPUTS v CoinJoin rieši problém deterministického toku.
  4. Entropia transakcií
  5. Ako PayJoin prekonáva heuristiku spoločného vlastníctva vstupov.

Časť 4 sa zaoberá nasledujúcim:

  1. Analýzy, ktoré potrebujú „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 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-WEB11