Dvouletá záruka pro firmy 3D soutěž LEGO

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

Zobrazit katalog

Recenze

Aktualizováno

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

  1. Úvod
  2. UTXO Ownership model a mnohoznačnost Simple Spends
  3. Jak porazit heuristiku Change detection
  4. UTXO Flows & Deterministic Spends
  5. Přerušení vazeb – Non Deterministic Transactions
  6. Entropie – Equal Output CoinJoins a kdy je vhodné použít CIOH
  7. CoinJoin – Equal Output (šifrování) vs. PayJoin (steganografie)
  8. Další techniky „rozbití“ transakčního grafu
  9. Shrnutí
i

Základní pojmy

  • UTXO Ownership model – model vlastnictví UTXO
  • Batch spend – hromadná útrata
  • Deterministic Spend – deterministická (jistá) útrata
  • UTXO Flows – toky UTXO
  • Non Deterministic Transactions – transakce, které nemají jasný výklad
  • Equal Output CoinJoin – Coinjoin s rovnoměrnými (identickými) Outputy
  • Swap Service – výměnná služba
  • Non-custodial – máte plnou kontrolu nad privátními klíči
  • Custodial – privátní klíče ovládá někdo jiný (směnárna), vyžaduje důvěru

Úvod

Poté, co jsme si v první a druhé části představili základní pojmy chain analysis, ve třetí části se blíže podíváme na metody a možnosti, jak chain analysis obejít a znemožnit.

V této části představíme následující:

  1. Znemožníme heuristiky Change detection při Simple spend.
  2. Vytvoříme mnohoznačný transakční graf s Equal Output coinjoiny.
  3. Podkopeme CIOH pomocí coinjoins.

UTXO Ownership model a mnohoznačnost Simple Spends

Naposled jsme si představili heuristiku Change detection pro Simple spend s 1 Inputem a 2 Outputy. Předpokládali jsme, že transakce obsahuje platbu a Change output.

Ve skutečnosti se však dá Simple spend vyložit i několika dalšími způsoby, a to na základě UTXO Ownership modelu. Ownership model se snaží přiřadit vlastnictví jednotlivým Inputs a Outputs v konkrétní transakci. Všechny možné interpretace vlastnictví pro transakci s 1 Inputem a 2 Outputy jsou zobrazeny na obr. 3.1.

Šifrování; Messengery; Soukromí
Obr. 3.1. – UTXO Ownership Model pro Simple Spend.

Analytik musí zvážit každou z těchto interpretací, zejména pokud použije pouze interní data o transakcích. Interpretace lze postupně zúžit vyřazovací metodou při zohlednění dalších informací jako třeba wallet fingerprintingu, běžného chování peněženek nebo typického chování uživatelů.

Typické chování uživatelů činí interpretace 1 a 2 nejpravděpodobnějšími. Interpretace 3 a 4 jsou možné, ačkoli mnoho bitcoinových peněženek nemá funkci Batch spend. Interpretace 5 je vzácná vzhledem k dodatečně placeným poplatkům a nadměrné velikosti UTXO sady.

K vyřazení jednotlivých interpretací lze použít externí transakční data, jako jsou Outputy odeslané do centralizovaných služeb nebo do opakovaně používané adresy (address reuse). Vzhledem k obrovské koncentraci transakčních grafů kolem centralizovaných služeb a vzorců běžného chování uživatelů se tyto úplné interpretace v praxi téměř nepoužívají.

Jak porazit heuristiku Change detection

Transakce mohou být pomocí softwaru peněženky vytvořeny jako mnohoznačnější. Cílem je překonat heuristiku pro Change detection uvedenou v části 1. Níže uvedená transakce je příkladem „maximálně“ nejednoznačné Simple spend.

Šifrování; Messengery; Soukromí
Obr. 3.2. – Mnohoznačný Simple Spend (TxID).

Obrana proti heuristice u kulatých čísel

Výši platby určuje uživatel. Pokud uživatel zvolí kulatou částku platby, je při Simple spend pro peněženku obtížné chránit se proti této heuristice. U většiny reálných plateb (s cenou ve fiatu) je použití této heuristiky méně pravděpodobné. Na obr. 3.2 vidíme, že platba nemá částku s kulatým číslem, a tak si zachovává ochranu proti této heuristice.

Identický change output script type

Příkladová transakce má shodné typy Output skriptů pro oba Outputy, takže se heuristika unikátního Output skriptu nedá uplatnit. To pomáhá zachovat mnohoznačnost a komplikuje change detection.

Náhodná pozice change outputu

Abychom zvýšili mnohoznačnost chování této peněženky v rámci série transakcí, musí software peněženky náhodně měnit pozici change Outputu. Střídání pozice zůstatku mezi Output 0 a Output 1 komplikuje automatické sledování peněženek, podobně jako je tomu na obr. 2.8.

Posuzování transakcí včetně externích transakčních dat

Transakční graf OXT zobrazuje relativní velikosti UTXO a transakcí s použitím různých vah řádků. Pokud tedy transakční graf rozšíříme, automaticky do něj tím zahrneme i některá externí transakční data.

Na základě transakčního grafu a budoucích výdajů na UTXO, který Output by mohl být platbou? Mají adresy v této transakci nějakou předchozí historii opakovaného použití (reuse)?

Toto je dokonalý příklad toho, jak mohou být externí data použita k identifikaci plateb a k určení Change output. Expandujte transakční graf nebo sledujte budoucí výdaje UTXO, abyste si ověřili předpoklad, zdali se jedná o platbu, nebo change.

UTXO Flows & Deterministic Spends

Identické typy change Output scriptů a náhodné pozice change mohou být peněženkami použity k zachování mnohoznačnosti při simple spend, ale neřeší základní vazbu mezi Inputs a Outputs, které jsou spotřebovány při transakci.

Mezi Inputs a Outputs dané transakce vždy existuje vazba. Tyto vnitrotransakční vztahy UTXO si lze představit jako „Flows“ neboli „toky“, kde BTC spotřebované z inputových UTXO jsou převáděny na outputové UTXO.

Šifrování; Messengery; Soukromí
Obr. 3.3. – Vizualizace UTXO Flows pomocí transakčního grafu OXT (TxID).

V případě Simple spend (1 Input a 2 Outputy) musí být jediný Input použit k pokrytí obou Outputů. Vnitrotransakční flow při simple spend má pouze jednu interpretaci. V důsledku toho je vazba mezi jediným Inputem a každým Outputem matematicky deterministická (jistá).

Vazbu mezi Inputem a Outputem lze zobrazit výběrem v transakčním grafu OXT. Vizualizér transakcí na kycp.org zobrazuje také vnitrotransakční vazby.

Šifrování; Messengery; Soukromí
Obr. 3.4. – Vizualizace toků UTXO via KYCP (TxID).

Ačkoli nějaká mnohoznačnost týkající se vlastnictví UTXO vždy existuje, nelze se spoléhat na to, že model vlastnictví UTXO zamlží toky BTC, které proběhnou on-chain. Bez přerušení deterministických vazeb a vnesení mnohoznačnosti do transakčního grafu zůstávají bitcoiny „dohledatelné“.

Přerušení deterministických vazeb a vytvoření on-chain mnohoznačnosti vyžaduje specifickou konstrukci transakcí. Determinismus závisí na počtu transakčních Inputů, Outputů a množství BTC u jednotlivého UTXO.

Transakce s více Inputy a Outputy mohou samy o sobě vytvořit rušivý transakční graf. Tyto typy transakcí není snadné interpretovat bez použití speciálních nástrojů nebo úvah.

Šifrování; Messengery; Soukromí
Obr. 3.5. – Série Multi Input/Output transakcí (TxID).

Navzdory chaotickému transakčnímu grafu lze i nadále vyhodnocovat deterministické vazby mezi UTXO transakcí s více Inputy a Outputy. Tento koncept jako první představil Američan Kristov Atlas ve svém poradenském systému a algoritmu „CoinJoin Sudoku“.

Při coinjoinu uživatelé spojují své prostředky do tzv. „Poolů“ a spolupracují na vytvoření transakce. Obvykle tak, že vytvoří transakci se stejnými outputovými částkami. Algoritmus CoinJoin Sudoku využívá odvětví matematiky zvané analýza součtu podmnožin k vyhodnocení transakcí z hlediska „Common Ownership“ Inputs a Outputs.

Diskuse o této matematické metodě přesahuje rámec této příručky, ale důležitým poznatkem je, že z naivně vytvořené transakce coinjoin je možné vyhodnotit deterministické vazby.

Koncept CoinJoin Sudoku byl také rozšířen o Boltzmannův algoritmus, vytvořený hlavním vývojářem OXT, LaurentemMT. Boltzmann používá koncept CoinJoin Sudoku k vyhodnocování transakcí pro několik metrik souvisejících se soukromím.

U správně sestavených coinjoinů sice stále existuje vazba mezi Inputy a identickými Outputy, tyto vazby jsou však pravděpodobnostní, nikoli deterministické. Boltzmannův algoritmus počítá matici pravděpodobnosti spojení (Link Probability Matrix, LPM) pro vztah mezi transakčními Inputy a Outputy.

Output LPM transakce naleznete na stránce TRANSACTION. V záložce INPUTS & OUTPUTS lze zobrazit podmnožinu vazeb mezi Inputem a každým Outputem kliknutím na ikonu „CHAIN ICON“ vpravo od zvoleného UTXO.

Šifrování; Messengery; Soukromí
Obr. 3.6. – OXT Podmnožina propojovací matice (TxID).

LPM pro zvolené UTXO ve vyhodnocovaných transakcích lze také zjistit výběrem Inputs a Outputs v transakčním grafu OXT (viz obr. 3.3). Vizuální zobrazení celého LPM vytvořeného Boltzmannovým algoritmem naleznete na kycp.org.

Šifrování; Messengery; Soukromí
Obr. 3.7. – KYCP UTXO Flows & LPM (TxID).

Entropie – Equal Output CoinJoins a kdy je vhodné použít CIOH

Při Equal Output CoinJoinu spolupracuje více uživatelů na vytvoření transakce, která sdružuje jejich prostředky a přerušuje deterministické vazby v transakci mezi jejich Inputem a Equal Outputem.

Tím, že se do těchto transakcí zapojí více uživatelů, dochází zároveň k porušení CIOH. Předpoklad, že Inputy transakcí, které by mohly být coinjoiny, jsou řízeny jedinou peněženkou, by mohl vést k falešně pozitivnímu Wallet clusteru podle modelu CIOH.

Aby se tomu analytik vyhnul, může na transakce, které by mohly být coinjoiny, použít heuristiku equal Outputu. Všechny transakce, které mají více equal Outputů, však nemusí být nutně coinjoiny. Při naivní konstrukci mohou mít transakce s více equal Outputy stále deterministické vazby mezi Inputy a equal Outputy, což je důkazem toho, že se nejedná o coinjoin.

Šifrování; Messengery; Soukromí
Obr. 3.8. – Transakce s Equal Outputs a deterministickými vazbami (TxID).

Namísto nesprávného klastrování transakcí nebo naivního vylučování transakcí s equal Outputy, mohou analytici pomocí Boltzmannovy metody skutečně vyhodnotit vlastnosti Coinjoin transakcí.

Boltzmann efektivně využívá analýzu součtu podmnožin k položení otázky: Existuje více možností (interpretací), jak by Inputy transakce mohly zaplatit její Outputy?

Pokud má transakce více interpretací toků uvnitř jednotlivých UTXO, Boltzmann ohodnotí entropii této transakce známkou větší nebo rovnou 0. Koncept entropie pochází z termodynamického mentálního modelu. V tomto modelu si lze počet interpretací představit jako mikroprostory celkového makroprostoru transakce.

Entropii lze chápat jako ukazatel měřící nedostatek znalostí analytiků o přesné uspořádanosti sledované transakce.

Transakce s entropií mají vlastnosti coinjoin a přerušené deterministické vazby. Tyto vlastnosti jsou důkazem, že transakce má více uživatelů, kteří do ní vkládají své Inputy. Z konzervativních důvodů by Inputy do transakcí, které již mají entropii, neměly být klastrovány podle CIOH.

Šifrování; Messengery; Soukromí
Obr. 3.9. – KYCP vyhodnocení DarkWallet Coinjoinu (TxID).

Interpretace transakcí KYCP

KYCP obsahuje značné množství informací o transakcích včetně reuse address v rámci transakce, deterministických a pravděpodobnostních vazeb a Input & Output merges (sloučení). Výše uvedený příklad je coinjoin transakce v Dark wallet. Deterministické vazby pro equal Inputs jsou přerušeny, ale deterministické vazby mezi Inputy a „change Outputs“ stále existují. Všimněte si také, že Outputy 1 a 3 jsou odeslány a sloučeny (merge) do stejné budoucí transakce. Což naznačuje, že je znova mixují stejní uživatelé, respektive wallets address.

CoinJoin – Equal Output (šifrování) vs. PayJoin (steganografie)

Coinjoiny s equal Inputs mají jedinečnou on-chain stopu, kterou lze identifikovat podle přítomnosti více equal Inputs. Ale toky pro equal Inputs nemohou být brány jako deterministické. Pokud analytik ví, že sleduje coinjoin, musí se domnívat, že uživatel, kterého se snaží sledovat, ovládá jeden z mnoha equal Inputů. Ve většině případů to stačí k tomu, aby byl analytik zastaven.

Šifrování; Messengery; Soukromí
Obr. 3.10. – Znázornění transakce při využití Whirpool Coinjoin (TxID).

Když se analytik setká s equal Input coinjoin, ví, že byla použita technika ochrany soukromí, ale nemůže z transakce nic spolehlivě vyvodit. Tímto způsobem se equal Inputs coinjoins podobají šifrování (encryption). Pozorovatelé šifrovaných zpráv vědí, že zpráva existuje (mohou pozorovat coinjoin on-chain), ale nemohou zprávu dešifrovat (spolehlivě interpretovat flows v rámci transakce).

Druhý typ coinjoinu se nazývá payjoin nebo pay-to-end-point či Stowaway v Samourai Wallet a nebo nově i Sparrow wallet. Transakce payjoin se skládají ze společné transakce mezi uživatelem a příjemcem platby. Většina payjoinů nemá zatím v blockchainu žádné rozpoznatelné vzory ani použitelné heuristiky.

Ve své podstatě jsou payjoiny k nerozeznání od běžné transakce, kdy uživatel utratí více UTXO. Bez jakéhokoli rozlišitelného otisku transakce on-chain může analytik na tyto typy transakcí nesprávně aplikovat metodu CIOH a nesprávně předpokládat, že každý z Inputů je ovládán stejným uživatelem.

Transakce payjoin tak představují steganografickou techniku. Steganografie je proces skrývání tajné zprávy (skutečnost, že došlo k coinjoinu) v jinak normálně vypadajících datech (běžná transakce utrácející více Inputů). A protože payjoiny nemají žádnou spolehlivou on-chain stopu, tak je ještě k tomu metoda CIOH často špatně zaklastruje.

Další techniky „rozbití“ transakčního grafu

Custodial tumblers, často obecně označované jako „mixery“, jsou jednou z nejstarších technik ochrany soukromí, využívaných na aplikační vrstvě. Účelem custodial tumblers je fungovat jako Swap service (výměnná služba). Uživatelé do tumbleru vkládají mince a (snad) na oplátku obdrží různé UTXO s novou transakční historií. V ideálním případě je výsledkem procesu výměny „přerušený“ transakční graf, který zpřetrhá souvislost mezi vklady a výběry uživatele.

Tato technika také zpopularizovala pojem „taint“, kdy uživatelé tumbleru mohou nevědomky obdržet UTXO s určitou „problematickou historií“ jako součást swapu. Zájemci se mohou podívat na hodnocení dvou největších custodial tumblerů (ChipMixer a Blender) z našeho vyšetřování Kucoin Hacku.

Cílem dalších vylepšení ochrany soukromí, jako jsou coinswapy, je rozbít transakční graf non-custodial způsobem. Tyto techniky jsou ale zatím v plenkách. Bez dodatečné mitigace budou tyto teoretické swapy trpět stejnými problémy se swapováním „taintů“ jako custodial tumblery. Tato část bude aktualizována, jakmile budou zavedeny další techniky.

Shrnutí

V části 3 jsme si představili mnoho nástrojů, které jsou schopny porazit hlavní heuristiky chain analysis.

Heuristiku change detection lze překonat vyhnutím se zaokrouhleným částkám plateb, vytvářením transakcí s identickými typy skriptů u change outputs a náhodným rozložením pozice change outputs.

Equal coinjoins jsou transakce na bázi spolupráce zahrnující více uživatelů. Rozbitím deterministických vazeb vytvářejí tyto transakce mnohoznačné transakční grafy a zapojením více uživatelů porážejí CIOH.

Payjoin jsou rovněž transakce založené na spolupráci. Zapojují plátce a příjemce do vytváření transakce a mají stejný transakční otisk jako běžný multi-Input spend. Bez rozpoznatelného otisku tyto transakce porážejí CIOH.

Ve 4. části se si povíme o následujícím:

  1. Analýzy vyžadující „starting point“ (výchozí bod).
  2. Důsledky 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ů, o nichž se v celé příručce hovoří.

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



Vytisknout
P-DC1-WEB02
Zavoláme Vám a odborně poradíme
+420 225 340 111
Dotaz na objednávku
Dotaz na zboží
Prosím zadejte svůj telefon:
Zavolejte mi
Na vašem soukromí nám záleží My, společnost Alza.cz a.s., IČO 27082440 používáme soubory cookies k zajištění funkčnosti webu a s Vaším souhlasem i mj. k personalizaci obsahu našich webových stránek. Kliknutím na tlačítko „Rozumím“ souhlasíte s využívaním cookies a předáním údajů o chování na webu pro zobrazení cílené reklamy na sociálních sítích a reklamních sítích na dalších webech.
Více informací Méně informací