Úvod
Co je coin mixing?
Bezpečnost a anonymita těchto centralizovaných služeb jsou samozřejmě sporné. Uživatelé nemají žádnou záruku, že jim směnárna jejich peníze vrátí nebo že vrácené coiny nejsou nějakým způsobem znehodnocené. Dalším aspektem, který je třeba při používání mixeru zvážit, je skutečnost, že IP adresy a bitcoinové adresy mohou být zaznamenány třetí stranou. V konečném důsledku se uživatelé vzdávají kontroly nad svými prostředky v naději, že obdrží zpět ty nepropojené.
Bezpochyby zajímavější přístup existuje v podobě transakcí CoinJoin, které vytvářejí značnou míru věrohodného popření. To znamená, že po transakci CoinJoin nemůže žádný důkaz s jistotou spojit uživatele s jeho předchozími transakcemi. Mnohá řešení CoinJoin představují decentralizovanou alternativu k mixerům. Ačkoli může být zapojen koordinátor, uživatelé se nemusí vzdát úschovy svých prostředků.
Co je CoinJoin?
Transakce Bitcoinu se skládají ze vstupů a výstupů. Když chce uživatel provést transakci, vezme jako vstupy své UTXO, zadá výstupy a podepíše vstupy. Je důležité si uvědomit, že každý vstup se podepisuje samostatně a uživatelé mohou nastavit více výstupů (směřujících na různé adresy).
Pokud se podíváme na danou transakci složenou ze čtyř vstupů (každý ve výši 0,2 BTC) a dvou výstupů (0,7 BTC a 0,09 BTC), můžeme učinit několik různých předpokladů. Prvním je, že sledujeme, jak probíhá platba – odesílatel někomu posílá jeden z výstupů a sobě vrací nějaké drobné. Protože použil čtyři vstupy, větší výstup je pravděpodobně pro příjemce. Všimněte si, že nám na výstupech chybí 0,01 BTC, což je poplatek odevzdaný těžaři.
Je také možné, že odesílatel chce vytvořit velké UTXO z menších, takže konsoliduje menší vstupy, aby dosáhl požadovaného výsledku 0,7 BTC.
Další předpoklad, který můžeme učinit, vychází ze skutečnosti, že každý vstup je podepsán nezávisle. U této transakce mohou vstupy podepisovat až čtyři různé strany. A právě v tom spočívá princip, díky němuž je CoinJoining efektivní.
Jak CoinJoin funguje?
Myšlenka spočívá v tom, že více stran bude koordinovat vytvoření transakce, přičemž každá z nich poskytne vstupy a požadované výstupy. Jakmile se všechny vstupy zkombinují, nelze s jistotou říci, který výstup patří kterému uživateli. Prohlédněte si obrázky níže:
Zde máme čtyři účastníky, kteří chtějí přerušit spojení mezi transakcemi. Koordinují mezi sebou (nebo prostřednictvím specializovaného koordinátora) oznamování vstupů a výstupů, které chtějí zahrnout.
Koordinátor převezme všechny informace, vytvoří z nich transakci, kterou každý účastník podepíše a poté ji odešle do sítě. Jakmile uživatelé transakci podepíší, nelze ji změnit, aniž by se stala neplatnou. Nehrozí tedy, že by koordinátor s finančními prostředky utekl.
Ani to však není v žádném případě zaručeno. Kdo může při pohledu na výše uvedenou transakci říci, že jsou v ní čtyři účastníci? Posílá snad jedna osoba své prostředky na čtyři vlastní adresy? Dvě osoby, které provedly dva oddělené nákupy a každá z nich vrátila 0,2 BTC zpět na své vlastní adresy? Čtyři lidé posílají prostředky novým účastníkům, nebo zpět sobě? Nemůžeme si být jisti.
Ochrana soukromí prostřednictvím popírání
Samotný fakt, že existují implementace CoinJoin, stačí k tomu, aby byly zpochybněny metody používané k analýze transakcí. V mnoha případech můžete odvodit, že došlo k transakci CoinJoin, ale stále nejste o nic moudřejší, pokud jde o to, kdo vlastní výstupy. S jejich rostoucí popularitou se oslabuje předpoklad, že všechny vstupy vlastní stejný uživatel – což je obrovský skok pro soukromí v širším ekosystému.
Závěrem
Pro ty, kteří důvěřují integritě a metodologii třetích stran, představují služby míchání snadné řešení. Pro ty, kteří dávají přednost ověřitelné a alternativě bez úschovy, jsou lepší alternativy CoinJoin. Ty lze v případě technicky zdatných uživatelů provádět ručně nebo pomocí softwarových nástrojů, které abstrahují od složitějších mechanismů. Již nyní existuje několik těchto nástrojů, jejichž popularita jen roste s tím, jak uživatelé usilují o větší soukromí.