Wprowadzenie
Czym jest Coin Mixing?
Oczywiście bezpieczeństwo i anonimowość takich scentralizowanych usług jest wątpliwa. Użytkownicy nie mają gwarancji, że ich pieniądze zostaną zwrócone przez mikser lub że przekazane monety nie zostaną w żaden sposób "skażone". Dodatkowym aspektem do rozważenia podczas korzystania z miksera jest to, że IP i bitcoinowe adresy mogą być rejestrowane przez stronę trzecią. Ostatecznie użytkownicy rezygnują z kontroli swoich funduszy w nadziei na odzyskanie niepowiązanych środków i zachowanie prywatności.
Prawdopodobnie bardziej interesujące podejście istnieje w postaci transakcji CoinJoin, które stwarzają znaczny stopień prawdopodobnej zaprzeczalności. Po skorzystaniu z technologii CoinJoin nie istnieje żaden dowód, dzięki któremu można by powiązać użytkownika z jego poprzednimi transakcjami. Wiele rozwiązań CoinJoin stanowi zdecentralizowaną alternatywę dla scentralizowanych mikserów kryptowalut. Chociaż może być zaangażowany koordynator, użytkownicy nie muszą poświęcać opieki nad swoimi środkami stronie trzeciej.
Co to jest CoinJoin?
Transakcje Bitcoin składają się z wejść i wyjść. Gdy użytkownik chce dokonać transakcji, przyjmuje swoje dane UTXO jako dane wejściowe, określa dane wyjściowe i podpisuje dane wejściowe. Ważne jest, aby pamiętać, że każde wejście jest podpisane niezależnie, a użytkownicy mogą ustawić wiele wyjść (pod różnymi adresami).
Jeśli spojrzymy na daną transakcję składającą się z czterech danych wejściowych (0,2 BTC każda) i dwóch wyników (0,7 BTC i 0,09 BTC), możemy przyjąć kilka różnych założeń. Po pierwsze, obserwujemy, jak odbywa się płatność – nadawca wysyła komuś jedno z wyjść i zwraca część reszty sobie. Ponieważ użyto czterech wejść, większy output jest prawdopodobnie dla odbiorcy. Pamiętaj, że brakuje nam 0,01 BTC na wyjściu, które zostały przekazane jako opłata dla górnika obsługującego transakcję.
Możliwe jest również, że nadawca chce utworzyć duży UTXO z mniejszych, więc konsoliduje mniejsze wejścia, aby uzyskać pożądany wynik, w postaci 0,7 BTC.
Kolejne założenie, które możemy przyjąć, opiera się na fakcie, że każde wejście zostało podpisane niezależnie. Ta transakcja może obejmować do czterech różnych stron podpisujących dane wejściowe. I na tym polega zasada, która sprawia, że CoinJoining jest skuteczny.
Jak działa CoinJoin?
Chodzi o to, że wiele stron będzie koordynować swoje działania, aby utworzyć transakcje, z których każda zapewnia dane wejściowe i pożądane wyniki. Ponieważ wszystkie dane wejściowe są połączone, nie można z całą pewnością stwierdzić, które dane wyjściowe należą do którego użytkownika. Rozważmy poniższy schemat:
Tutaj mamy czterech uczestników, którzy chcą zerwać powiązanie między transakcjami. Koordynują działania między sobą (lub za pośrednictwem dedykowanego koordynatora), aby nadać wejścia i wyjścia, które chcieliby uwzględnić.
Koordynator weźmie wszystkie te informacje, przekształci je w transakcję i poprosi każdego uczestnika o podpisanie przed transmisją do sieci. Po podpisaniu przez użytkowników transakcji nie można modyfikować bez utraty ważności. Dlatego nie ma ryzyka, że koordynator ucieknie z funduszami.
Ale nawet to nie jest w żaden sposób gwarantowane. Kto powie, patrząc na powyższą transakcję, że na pewno brało w niej udział czterech uczestników? Czy ta jedna osoba wysyła fundusze na cztery adresy? Dwie osoby dokonujące dwóch osobnych zakupów i zwracające po 0,2 BTC z powrotem na swoje adresy? Cztery osoby wysyłają do nowych uczestników lub do siebie? Nie możemy być pewni.
Prywatność poprzez nieufność
Sam fakt, że istnieją implementacje CoinJoin, jest wystarczający, aby poddać w wątpliwość metody stosowane do analizy transakcji. Możesz wywnioskować, że CoinJoin miał miejsce w wielu przypadkach, ale nadal nie daje ci to informacji, o tym kto jest nowym właścicielem monet. Wraz ze wzrostem popularności założenie, że wszystkie dane wejściowe są własnością tego samego użytkownika, słabnie – i tworzy ogromny skok w zakresie prywatności w szerszym ekosystemie kryptowalut.
Wnioski końcowe
Dla tych, którzy ufają uczciwości i metodologii stron trzecich, usługi mikserów są ciekawą i łatwą w użytku alternatywą. Dla tych, którzy preferują weryfikowalną i niekustiodialną alternatywę, CoinJoin będzie lepszym rozwiązaniem. Z CoinJoin można korzystać ręcznie - dla zaawansowanych technicznie użytkowników lub za pomocą specjalistycznych narzędzi programowych, które wyodrębniają bardziej złożone mechanizmy. Istnieje już kilka takich narzędzi, które wciąż zyskują na popularności, gdyż użytkownicy kryptowalut dążą do większej prywatności.