Úvod

Bitcoin je často prezentován jako digitální peníze, ale to je sporné tvrzení. Pokud Alice zaplatí Bobovi deset dolarů v hotovosti, Bob neví, odkud tyto peníze pocházejí. Pokud po tom chce je předat Carol, ona nebude moci zjistit, že byly kdysi u Alice.

Bitcoin se vyznačuje svou veřejnou povahou. Historie této mince (přesněji, výstupů nevyužitých transakcí nebo UTXO) může být legálně zobrazena kýmkoli. Tento koncept je podobný záznamu částky transakce a jmen stran při každé transakci.

Nicméně, pseudonymy veřejných adres poskytují obtížnost identifikace uživatelů. Avšak Bitcoin není zcela soukromý. Analýza blockchainu se stává stále sofistikovanější a je schopna spojovat adresy s osobnostmi stále efektivněji. V kombinaci s jinými metodami sledování mohou určité organizace deanonimizovat uživatele kryptoměny. Aby se tomu zabránilo, v průběhu času se objevily technologie přerušení vazeb mezi transakcemi.


Co je Bitcoin-mixer?

V širokém smyslu může míchání mincí znamenat jakoukoli činnost spojenou s obfuskováním prostředků a jejich nahrazováním jinými. V kontextu kryptoměn se tím obvykle rozumí služby poskytované třetí stranou. Obvykle tyto služby přijímají prostředky uživatelů (s malým poplatkem) a vracejí takové mince, které nemají vazbu na odeslané. Tyto služby jsou známy jako tumbler nebo mixery.

Bezpečnost a anonymita takových centralizovaných služeb jsou samozřejmě otázkou. Uživatelé nemají záruky, že obdrží své prostředky zpět a že nebudou nějakým způsobem poškozeny. Kromě toho, při používání mixeru je třeba dávat pozor na to, že IP a Bitcoin adresy mohou být logovány třetí stranou. Nakonec uživatelé se vzdávají kontroly nad svými prostředky v naději, že obdrží zpět nespojené.

Zajímavější přístup existuje ve formě transakcí CoinJoin, které zajišťují výrazně vyšší úroveň nespojenosti. To znamená, že po CoinJoin žádné důkazy nemohou zaručeně prokázat vazbu uživatele na jeho předchozí transakce. Mnohá řešení CoinJoin jsou decentralizovanou alternativou k mixerům. I když může být ve schématu přítomen koordinátor, uživatelé nemusí obětovat uchovávání svých prostředků.


Co je CoinJoin?

Nápad transakcí CoinJoin byl navržen bitcoinovým vývojářem Gregorym Maxwellem v roce 2013. Ve svém vlákně dal stručný popis struktury takových transakcí a toho, jak může být dosaženo zvýšení úrovně soukromí bez změny protokolu.

Podstatou CoinJoin je spojení prostředků několika uživatelů do jedné transakce. Než vysvětlíme, jak (a proč) tento protokol funguje, podívejme se na strukturu základní transakce.

Bitcoinové transakce se skládají z vstupů a výstupů. Když se uživatel chce provést transakci, přijímá UTXO jako vstupy, nastaví výstupy a podepisuje vstupy. Je důležité zdůraznit, že každý vstup je podepsán samostatně a uživatelé mohou nastavovat více výstupů (výstupů na různé adresy).


изображение примера транзакции с четырьмя входами и двумя выходами


Pokud se podíváme na tuto transakci se čtyřmi vstupy (každý po 0,2 BTC) a dvěma výstupy (0,7 BTC a 0,09 BTC), můžeme učinit několik předpokladů. Za prvé vidíme, že odesílatel převádí někomu prostředky a vrací část zpět sobě. Protože jsou použity čtyři vstupy, větší výstup je pravděpodobně určen pro příjemce. Všimněte si, že ve výstupech chybí 0,01 BTC - to je odměna pro těžaře.

Také je možné, že odesílatel chce vytvořit větší UTXO z menšího, aby spojil menší vstupy pro získání požadovaných 0,7 BTC.

Další předpoklad, který můžeme učinit, je, že každý vstup je podepsán samostatně. Tato transakce může mít až čtyři strany, které podepsaly vstupy. V tom spočívá princip, který činí CoinJoin efektivním.


Jak funguje CoinJoin?

Myšlenka spočívá v tom, že se transakce zúčastní několik stran, které vkládají prostředky a uvádějí požadovaný výstup. Jakmile se vstupy spojí, stává se nemožné přesně říci, který vstup patří kterému uživateli. Podívejme se na schéma níže:


изображение примера coinjoin


Na tomto místě jsou čtyři účastníci, kteří si přejí přerušit vazbu mezi transakcemi. Spojují se mezi sebou (nebo prostřednictvím speciálního koordinátora), aby deklarovali vstupy a výstupy, které by chtěli zahrnout.

Koordinátor získává všechny informace, zahrnuje data do transakce a každý účastník ji podepisuje před tím, než ji odešle do sítě. Jakmile ji uživatelé potvrdí, transakce nemůže být změněna, aniž by se stala neplatnou. Takže není riziko, že by koordinátor unesl prostředky.

Transakce slouží jako něco jako černá skříňka pro míchání mincí. Pamatujte, že ničíme UTXO pro vytvoření nového. Jediná vazba mezi starým a novým UTXO, kterou máme, je samotná transakce, ale nemůžeme rozlišit její účastníky. V nejlepším případě můžeme říci, že účastník vložil prostředky a možná na výstupu obdržel prostředky.

Ale ani to není zaručeno. Kdo může říci, když se dívá na výše zmíněnou transakci, že tam jsou čtyři účastníci? Možná, že to je jedna osoba, která posílá své prostředky na čtyři adresy? Nebo dva lidé provádějí dva samostatné nákupy a vracejí po 0,2 BTC na své adresy? Nebo čtyři lidé posílají novým účastníkům nebo zpět sami sobě? Nemůžeme si být jisti.


Soukromí prostřednictvím negace

Samotná existence CoinJoin je dostatečná k tomu, aby zpochybnila metody analýzy transakcí. Ve většině případů můžete pochopit, že byl použit CoinJoin, ale nemůžete zjistit, komu byly prostředky převedeny. S rostoucí popularitou se předpoklad, že vstupy patří jednomu uživateli, stal neopodstatněným, což vedlo k výraznému masovému zvýšení soukromí ekosystému.

Řekli jsme, že transakce z předchozího příkladu měla sadu anonymity ze čtyř vstupů, jejichž příjemcem mohl být kdokoli ze čtyř zapojených účastníků. Čím větší je sada anonymity, tím menší je pravděpodobnost, že transakce mohou být spojeny s původním vlastníkem. Nejnovější implementace CoinJoin umožňují uživatelům spolehlivě spojit své vstupy s desítkami dalších, čímž zajišťují vysokou úroveň negace. Nedávno byla úspěšně provedena transakce se 100 účastníky.


Závěr

Nástroje pro míchání mincí jsou důležitým doplněním arzenálu každého uživatele, který to se svým soukromím myslí vážně. Na rozdíl od nabízených aktualizací soukromí (jako jsou soukromé transakce) jsou kompatibilní s protokolem v takové podobě, v jaké existuje v současnosti.

Pro ty, kteří důvěřují spolehlivosti a metodologii třetích stran, je jednoduchým řešením míchací služby. Pro ty, kteří preferují transparentní a neskladující služby, je alternativou CoinJoin. Podle tohoto principu lze provádět transakce samostatně, pokud jsou uživatelé technicky zdatní, nebo pomocí softwarových nástrojů, které představují abstrakci složitějších mechanismů. V tuto chvíli již existuje několik takových nástrojů, jejichž popularita stále roste, protože uživatelé usilují o větší soukromí.