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 1/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 1/4)  – OBSAH

  1. Úvod
  2. Dohledatelnost je hlavním problémem
  3. Popis problému – pseudoanonymní Bitcoin
  4. Heuristika
  5. Neutracený výstup transakce (UTXO)
  6. Příklady transakcí
  7. Detekce zůstatků – interpretace jednoduché útraty (Simple Spend)
  8. Shrnutí a náhled
i

Základní pojmy

  • Chain Analysis – transakční analýza blockchainu
  • Bitcoin UTXO – neutracený výstup transakce
  • Change Output – zůstatek výstupu transakce (vrací se odesílateli zpět na peněženku)
  • On-Chain – na transparentním blockchainu
  • INPUT – vstup
  • OUTPUT – výstup
  • Cluster Wallet Labeling – označení skupiny peněženek
  • Common Input Ownership – společné vlastnictví vstupů

Úvod

Povědomí o hodnotě bitcoinu pro platby odolné vůči cenzuře se rozšířilo v roce 2011, kdy byla spuštěna Silk Road a zachráněna nezisková organizace Wikileaks, kterou tradiční bankovní systém odřízl od možnosti přijímat příspěvky.

Současně se začala rozmáhat nebezpečná a zavádějící narativa o tom, že jsou bitcoinové transakce anonymní a nevysledovatelné.

Wikileaks oznamuje na twitteru přijímání bitcoinu.

Toto tvrzení však nikdy nebylo pravdivé a bylo do značné míry způsobeno nedostatečným pochopením základního fungování Bitcoinu. Navíc v roce 2011 blockchain téměř nikdo nesledoval. Ale to, co se jednou do blockchainu zapíše, už tam zůstane navždy.

Orgány činné v trestním řízení mají přístup k analytickým nástrojům, které dokaží analyzovat transakce na blockchainu, a tak napomohly již k mnoha významným dopadením. Firmy, které se zabývají chain analysis, se dožadují prvního zveřejnění blogových příspěvků o nejnovějším „zločinu“, při němž byl k platbě použit bitcoin. Na titulních stránkách předních světových médií se objevují titulky o vysledovatelnosti bitcoinu.

Šifrování; Messengery; Soukromí
Titulek Bitcoin je dohledatelný.

Dohledatelnost je hlavním problémem

Realita bitcoinového soukromí a to, čeho jsou uživatelé schopni při používání bitcoinů k platbám, leží někde mezi dokonalou anonymitou a dokonalou sledovatelností.

Většina sledovacích metod je závislá na heuristice a vyhodnocování toku bitcoinů. Dokud nebude zásadně vylepšena ochrana soukromí na úrovni Bitcoin protokolu, nezbývá nám než k anonymizaci využít možností dostupných aplikací.

Na počátku historie Bitcoinu se k překonání analytické heuristiky používal náhodný otisk peněženky. K přerušení metod analýz finančních toků se používaly nástroje jako custodial tumblers, avšak s rizikem ztráty finančních prostředků. Dnes coinjoin a kolaborativní transakce umožňují za přiměřené poplatky zvýšit soukromí, a to bezpečně oproti předchozím metodám. Ještě však zbývá vykonat mnoho práce při automatizaci vylepšení ochrany soukromí na aplikační vrstvě.

Dle našeho názoru je vzdělávání uživatelů velice důležité. To, jak získat základní úroveň finančního soukromí, kterou obvykle poskytuje dosavadní finanční systém, byla naše hlavní motivace pro vytvoření tohoto článku. V této příručce se budeme zabývat následujícími tématy:

  1. Co to vlastně znamená „dohledatelný“ bitcoin, včetně příkladů.
  2. Jakými nástroji se mohu chránit před sledováním a jak tyto nástroje v praxi fungují.
  3. Praktické poznatky pro uživatele odesílající a přijímající platby.

Popis problému – pseudoanonymní Bitcoin

Transakční aktivita bitcoinů je pseudonymní, nikoli anonymní. Pravé jméno uživatele a jeho osobní identifikační údaje (OIÚ) nemají na úrovni bitcoinového protokolu co dělat. To poskytuje velmi základní úroveň soukromí, protože transakční aktivita musí být nejprve přiřazena jednotlivci.

Transakce v bitcoinech se však provádějí za transparentní částky na transparentní adresy. Adresy jsou pseudonymy, které představují skutečnou aktivitu uživatele, přesněji řečeno aktivitu jednoho soukromého klíče.

Šifrování; Messengery; Soukromí
Příklad bitcoinové transakce.

Bitcoinové transakce jsou odesílány do bitcoinové sítě a archivovány v bitcoinové databázi nebo chcete-li bitcoinové účetní knize. Knihu a všechny transakce v ní obsažené si může prohlédnout každý, kdo má spuštěný bitcoinový node nebo přístup k webovému blockchain prohlížeči.

Transparentnost těchto veřejných informací umožňuje bezprecedentně snadný přístup k informacím, který není v tradičním finančním systému možný.

Kdokoliv si může prostřednictvím webového prohlížeče zadat požadavek do blockchain exploreru a sledovat historii transakcí celé bitcoinové sítě. Může tak snadno sledovat toky bitcoinů i v rámci více transakcí.

Obecně se tato činnost stala synonymem pro pojem chain analysis.

Nejběžnější forma chain analysis se zaměřuje na identifikaci Bitcoin UTXO's. Tento proces je založen na řadě heuristických postupů, které lze použít ke sledování činnosti uživatele v rámci více transakcí.

Pokud tato aktivita v blockchainu vede ke skupině peněženek identifikovaného ekonomického subjektu (KYCnutého), mohou být vyšetřovatelé schopni získat osobní identifikační údaje uživatele (OIÚ) spojené se sledovanou transakční aktivitou.

Odtud můžeme odvodit dva zásadní problémy, které mohou být použity k útoku na soukromí uživatele:

  1. „Change outputs“ neboli UTXO's lze použít ke sledování aktivity uživatele na blockchainu.
  2. Prolnutí této aktivity se subjekty, které získávají OIÚ (například burzy v důsledku KYC) spojuje pozorovanou aktivitu v blockchainu s možnou skutečnou identitou.

Zatímco bod 2 je kritickou součástí toho, co mění analýzu řetězce v reálné vymáhání, tento článek se zaměří konkrétně na zmírnění možnosti sledování on-chain.

Heuristika

Heuristika je soubor pravidel používaný k rozhodování za nejistých podmínek. Často jsou založena na praktických dedukcích, i když nejsou stoprocentně přesná.

Velká část tradiční chain analysis je založena na heuristice. Primární heuristika má co do činění s detekcí UTXO's v jednoduchých transakcích, kde bitcoin utrácíme, a sekundární heuristika využívá sdružování jednotlivých adres pomocí určení společného vlastnictví vstupů.

Tyto heuristiky mohou být každá samostatně zavádějící a nepřesné. V kombinaci s dalšími transakčními vzory nebo externími údaji, jako je cluster wallet labeling, se však nedostatky těchto jednotlivých heuristik stávají méně důležitými.

Neutracený výstup transakce (UTXO)

Bitcoinové transakce jsou jednoduše záznamy o tocích bitcoinů mezi jednotlivými adresami.

Neutracené výstupy transakce (UTXO) jsou „kousky bitcoinů“, které se používají ke konstrukci transakcí. Strukturu transakcí lze rozdělit na INPUT a OUTPUT.

Uživatel sestaví transakci tak, že určí platební adresu (adresy) a platební částku (částky). To budou OUTPUTS nově konstruované transakce.

Software peněženky obvykle dokončí transakci algoritmickým zahrnutím UTXO z předchozích transakcí jako INPUTS do nové transakce.

Šifrování; Messengery; Soukromí
Neutracené výstupy Transakce (UTXOs).

Mezi bitcoinovou adresou a UTXO je velký rozdíl. UTXO jsou „kousky bitcoinu“ připsané na adresu. Nejjednodušší způsob, jak si tento rozdíl představit, je pochopit, že jedna adresa může obdržet více UTXO, což je proces poškozující soukromí označovaný jako „opakované použití adresy“ (address reuse).

Příklady transakcí

Existuje několik běžných kategorií bitcoinových transakcí. Tyto kategorie jsou odvozeny na základě vstupního a výstupního profilu transakcí spolu s našimi zkušenostmi a pozorovaným označením shluků. Příklady hlavních typů transakcí jsou uvedeny níže.

Jednoduchá útrata – Simple Spend

Jednoduchá útrata patří k nejběžnějším typům transakcí a tvoří zhruba 50 % bitcoinových transakcí v posledních blocích (Zdroj: transactionfee.info).

Tyto typy transakcí jsou důkazem typického chování uživatelů, kdy uživatel provede platbu a obdrží zpět UTXO.

Charakteristiky:

  • Počet vstupů: 1 (nebo více)
  • Počet výstupů: 2
  • Běžný výklad: 1 výstup platby, 1 výstup zůstatku
Šifrování; Messengery; Soukromí
Příklad transakce jednoduché útraty – Simple Spend.

Zametení – „Sweep“

„Sweep“ přepošle celý jeden UTXO na novou adresu.

Charakteristiky:

  • Počet vstupů: 1
  • Počet výstupů: 1
  • Běžný výklad: pravděpodobně převod mezi sebou samým
Šifrování; Messengery; Soukromí
Příklad transakce zametení

Konsolidační útrata - „Konsolidation Spend“

Konsolidační transakce spojují více UTXO do jednoho UTXO. Zřídkakdy se jedná o „skutečné platby“, protože běžná platba má change output.

Charakteristiky:

  • Počet vstupů: >1
  • Počet výstupů: 1
  • Běžný výklad: možný samopřevod
Šifrování; Messengery; Soukromí
Příklad konsolidační transakce.

Hromadná útrata – „Batching“

Hromadné transakce jsou s největší pravděpodobností prováděny směnárnami a zahrnují 1 nebo více INPUTS a mnoho OUTPUTS. Cílem těchto transakcí je ušetřit na poplatcích těžařům tím, že se v rámci jedné transakce provede co nejvíce plateb.

Charakteristiky:

  • Počet vstupů: ≥1
  • Počet výstupů: MNOHO
  • Běžný výklad: velká ekonomická aktivita, pravděpodobně směnárna
Šifrování; Messengery; Soukromí
Příklad hromadné transakce.

Transakce mezi více stranami (Coinjoin)

Coinjoin zahrnuje spolupráci mnoha uživatelů při provádění jedné transakce, která zvyšuje soukromí účastníků. Tyto transakce jsou snadno identifikovatelné podle shodných OUTPUTS.

Charakteristiky:

  • Počet vstupů: MNOHO
  • Počet výstupů: MNOHO
  • Výstupní profil: počet stejných OUTPUTS je zástupným ukazatelem počtu účastníků
Šifrování; Messengery; Soukromí
Příklad CoinJoin transakce.

Detekce zůstatků – interpretace jednoduché útraty (Simple Spend)

V této části si ukážeme interpretace transakcí pro simple spend (1 vstup, 2 výstupy). Tato část se zaměří na nejběžnější interpretaci těchto transakcí, kdy je jeden OUTPUT interpretován jako platba a zbývající OUTPUT je interpretován jako „change“, který se vrátí zpět do původní peněženky. Úplný seznam interpretací podle tohoto modelu je uveden v části III. Cílem této části je seznámit čtenáře s heuristikou používanou k vyhodnocování Simple Spend a detekci change outputs.

Při izolovaném sledování jedné transakce máme k dispozici omezené množství údajů, které jsou v transakci obsaženy. Tyto informace označujeme jako interní data transakce.

Interní transakční data jsou omezena na následující:

  • částky (INPUTS, OUTPUTS, poplatky těžařů)
  • typ vstupní adresy skriptu (Input Address script type)
  • typ výstupní adresy skriptu (Output Address script type)
  • číslo verze transakce (Transaction version number)
  • doba uzamčení transakce (Transaction locktime)
  • signalizace nahrazení poplatku (Replace by fee signaling)

Detekce zůstatků – „Change detection“

Kvůli poplatkům těžařů vyžaduje běžná platba bitcoiny vždy větší OUTPUT, než je zamýšlená částka platby.

Když je spotřebováno jedno UTXO na větší částku, než je zamýšlená částka platby, uživatel obdrží zůstatkové UTXO zpět na adresu vygenerovanou soukromým klíčem jeho peněženky.

Velká část tradiční chain analysis je založena na detekci tohoto change output. Pokud se podaří úspěšně detekovat change output, lze sledovat aktivitu jednoho uživatele v rámci řady transakcí.

V této části budeme detekovat change outputs na základě interních transakčních dat. Heuristiky jsou uvedeny zhruba v pořadí podle klesající přesnosti jejich účinnosti. Budou uvedeny příklady a komentované screenshoty, které pomohou uživatelům při vizualizaci těchto konceptů.

Opakované použití adresy – „Address reuse“

Adresy se vytvářejí pomocí jediného soukromého klíče. Vícenásobné použití stejné adresy je známkou aktivity téhož soukromého klíče.

Při Simple Spend, pokud je jeden OUTPUT na novou adresu a zbývající OUTPUT je na stejnou adresu jako vstupní adresa, víme, že opakovaně použitá adresa je výstupem zůstatku.

Většina bitcoinových peněženek dnes automaticky generuje vždy novou adresu pro příjem change output. Peněženku však lze nakonfigurovat tak, aby přijímala change output na stejnou adresu, jako je vstupní adresa transakce. Toto chování obvykle svědčí o činnosti peněženky s centralizovanou službou (Směnárny) nebo o starých verzích bitcoinové peněženky.

Šifrování; Messengery; Soukromí
Příklad opakovaného použití adresy.

Heuristika plateb kulatých čísel

Když uživatel iniciuje platbu, zadá do svého softwaru peněženky cíl platby (adresu), částku platby a poplatek těžařům. Software peněženky vybere vstupní UTXO a vygeneruje change output (pokud existuje).

Change output při jednoduché útratě se vypočítá následujícím způsobem:

Vstupní částka – částka platby – velikost transakce (v vbytes) * poplatek za použití sítě (sat/vbyte)

Uživatel může jen těžko záměrně generovat change output pro „částku s kulatým číslem“. Při Simple Spend transakci je OUTPUT kulatého čísla pravděpodobě platba, která ze zbývajícího OUTPUTu dělá change output.

Šifrování; Messengery; Soukromí
Příklad heuristiky plateb kulatých čísel.

Heuristika různých typů skriptů

Existuje několik typů skriptů bitcoinových adres. Čtenáři budou nejčastěji znát následující typy skriptů:

  • částky (INPUTS, OUTPUTS, poplatky těžařů)
  • typ vstupní adresy skriptu (Input Address script type)
  • typ výstupní adresy skriptu (Output Address script type)

Pokud je pro daný typ vstupního skriptu jeden output stejný typ jako input a zbývající output na nový typ adresního skriptu, je tento output na nový typ adresního skriptu pravděpodobně platbou.

Což z OUTPUT na stejný typ adresního skriptu dělá pravděpodobný change output.

Jinými slovy, OUTPUT na jiný typ skriptu je pravděpodobně OUTPUT platby. Tuto heuristiku lze také kombinovat s heuristikou pro platbu kulatým číslem.

Šifrování; Messengery; Soukromí
Příklad heuristiky různých typů scriptů.

Heuristika největšího výstupního množství – „Largest Output amount“

Další jednoduchá heuristika předpokládá, že největší output amount je pravděpodobně change output. Jedná se o jednu z nejslabších heuristik, zejména pokud je používána samostatně, ale jak probereme v části 2, tato heuristika může být užitečná při analýze transakčního grafu.

Šifrování; Messengery; Soukromí
Příklad heuristiky největšího výstupního množství.

Shrnutí a náhled

V této části jsme představili mnoho základních pojmů týkajících se soukromí bitcoinových transakcí. Pseudonymní bitcoin poskytuje základní úroveň soukromí, která není přímo spojena s osobními identifikačními údaji.

Otevřenost bitcoinového protokolu však umožňuje sledování všech bitcoinových transakcí. Tento koncept se obecně označuje jako chain analysis neboli „transakční analýza“. Chain analysis se soustředí hlavně na detekci change outputs s využitím několika heuristik. Pokud jsou tyto heuristiky úspěšné, umožňují sledovat aktivitu jednoho uživatele v rámci více transakcí.

V části 2 budou představeny základní koncepty chain analysis, jako jsou:

  1. Externí údaje o transakcích, které lze použít k oslabení soukromí transakcí.
  2. Analýza transakčních grafů, hlavní nástroj pro sledování toku bitcoinů v rámci více transakcí.
  3. Heuristika common input ownership, známá také jako wallet clustering neboli "shlukování peněženek", a jaké jsou její důsledky pro Bitcoinovou síť.
  4. V této části vás také provedeme a ukážeme příklady nástroje OXTs transaction graph a schématu wallet clustering.

Část 3 se zabývá základními koncepty zlepšování soukromí bitcoinu, včetně:

  1. Náhodný otisk peněženky pro znemožnění detekce zůstatků.
  2. Toky UTXO a základní vazba mezi INPUTS a OUTPUTS.
  3. Jak rovnost OUTPUTS při CoinJoin řeší problém deterministických toků.
  4. Entropie transakcí
  5. Jak PayJoin poráží heuristiku společného vlastnictví vstupů.

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

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

Elementární znalost bitcoinových transakcí a porozumně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-WEB23