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
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ť.
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í.
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:
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.
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:
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 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.
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.
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“.
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 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:
„Sweep“ prepošle jeden celý UTXO na novú adresu.
Charakteristiky:
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:
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:
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:
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:
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.
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.
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.
Existuje niekoľko typov skriptov bitcoinových adries. Čitatelia budú najviac poznať tieto typy skriptov:
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.
Ď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.
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:
Časť 3 zahŕňa základné koncepty zlepšenia súkromia bitcoinov vrátane:
Č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.
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.