63 / 736CJ

CoinJoin

Wspólna transakcja służąca prywatności

Płatności Bitcoinem są publiczne, ale zapis nie musi zdradzać właściciela każdego nowego wyjścia. CoinJoin wykorzystuje tę różnicę: kilka osób tworzy jedną wspólną transakcję. Może utrudnić śledzenie ich środków, lecz nie usuwa historii ani nie obiecuje anonimowości.

CoinJoin łączy środki kilku osób w jednej transakcji Bitcoin. Każda zachowuje kontrolę nad kluczami i sprawdza, co podpisuje. Powstają nowe wyjścia dla uczestników lub ich odbiorców, a obserwatorowi może być trudniej ustalić, który pierwotny właściciel otrzymał które wyjście. Efekt zależy od konstrukcji transakcji, protokołu oraz innych informacji dostępnych obserwatorowi.

Anna płaci za usługę i nie chce, by odbiorca łatwo prześledził jej pozostałe środki. Bitcoin nie ma jednak prywatnego wyciągu bankowego: historia transakcji jest publiczna. Transakcja wydaje wcześniejsze niewydane wyjścia, czyli UTXO, i tworzy nowe. Wyjście zapisuje kwotę oraz warunki, które trzeba spełnić, aby ją wydać. Gdy zwykła płatność wykorzystuje kilka takich wyjść, analityk często zakłada, że kontroluje je jedna osoba. To przydatne przypuszczenie, nazywane heurystyką, a nie dowód. CoinJoin podważa to założenie, łącząc różnych właścicieli w jednej transakcji. Nie zmienia przeszłości, tylko pewność, z jaką można wyciągać wnioski z publicznych zapisów. [1]

W uproszczonym przykładzie Anna i Paweł mają po jednym wyjściu o wartości 100 500 sat. Sat to skrót od satoshi, najmniejszej jednostki bitcoina. Przygotowują transakcję, w której każde z nich otrzyma nowe wyjście warte 100 000 sat. Pozostałe 1 000 sat to ich łączna opłata sieciowa. Przykład pomija dodatkowe opłaty za usługę. Koordynator lub komunikujące się portfele przygotowują propozycję. Podpis cyfrowy to możliwa do sprawdzenia zgoda utworzona za pomocą klucza prywatnego, czyli tajnych danych umożliwiających podpisywanie. Sam klucz nie jest przy tym ujawniany. Przed podpisaniem swoich wejść każda osoba sprawdza adres własnego wyjścia, kwotę, opłaty i pełne warunki. Sam koordynator nie ma ani cudzych kluczy, ani uprawnienia do wydania cudzych środków. Bez wymaganego podpisu nie da się poprawnie ukończyć tej transakcji. Ochrona wymaga jednak prawidłowego oprogramowania i sprawdzenia propozycji: podpisanie przelewu na adres oszusta przekreśliłoby ją. [1] [5]

Obserwator patrzący wyłącznie na blockchain widzi w tym przykładzie dwa nowe wyjścia o tej samej wartości. Sama kwota nie wskazuje, które należy do Anny, a które do Pawła. Nie oznacza to automatycznie szans pół na pół ani gwarancji anonimowości: obserwator może znać jeden adres lub mieć inną wskazówkę. W rzeczywistych transakcjach powiązania mogą zdradzać rozpoznawalna reszta, różne kwoty, typy wyjść czy czas. Zbiór anonimowości oznacza kandydatów, których obserwator nie potrafi rozróżnić, a nie po prostu liczbę osób zapisanych do rundy. Ocena w portfelu jest szacunkiem według określonego modelu, nie obietnicą dotyczącą wiedzy każdego obserwatora. [1] [4]

Możliwość kradzieży pieniędzy i możliwość zdobycia informacji to różne rzeczy. Prosty koordynator może znać relacje między wejściami a wyjściami; inne protokoły ukrywają je metodami kryptograficznymi. Znaczenie mają też dane sieciowe, takie jak adresy IP i godziny połączeń. Osobnym zagrożeniem jest Sybil Attack: jeden przeciwnik udaje wielu uczestników, zna własne wyjścia i zmniejsza niepewność co do pozostałych. Uczestnik może również odmówić podpisu i zakłócić całą rundę. Ważne są więc konkretne zasady udziału oraz zabezpieczenia przed zalewaniem żądaniami lub sabotażem, określanym jako DoS. Duża liczba wejść sama nie rozstrzyga tych kwestii. [1] [4]

Później Anna łączy nowe wyjście ze środkami wypłaconymi z giełdy, która zna jej tożsamość. W ten sposób może dostarczyć obserwatorowi nowego powiązania tam, gdzie chciała utrudnić identyfikację. Podobny skutek może mieć ponowne używanie adresów lub łączenie wielu wyjść w jedno, czyli konsolidacja. Coin Control pozwala wybrać UTXO wydawane przez portfel i pomaga rozdzielać środki z różnych kontekstów. Nie jest przyciskiem zapewniającym całkowitą prywatność. Odbiorca może znać płatnika, a usługodawca prowadzić własną dokumentację. O prywatność trzeba więc dbać także po udanej rundzie; nie wynika ona wyłącznie z wyglądu jednej transakcji. [5]

Najpierw ustal, jakie informacje chcesz chronić i przed kim. Ciekawski odbiorca, koordynator i obserwator sieci mają różne możliwości. Następnie sprawdź, kto trzyma klucze, co podpisuje aplikacja, jakie pobiera opłaty i co robi z powstałymi wyjściami. Usługa, której najpierw oddajesz środki na przechowanie, wymaga innego zaufania niż CoinJoin bez przekazywania kluczy. CoinJoin nie dodaje specjalnej reguły Bitcoina: węzły sprawdzają zwykłą transakcję i jej warunki. Węzeł to komputer z oprogramowaniem sprawdzającym transakcje i bloki Bitcoin. CoinJoin nie usuwa zapisów giełdy ani odbiorcy i nie obiecuje, jak dana usługa potraktuje płatność. Zrozumienie tych granic daje początkującemu więcej niż etykieta „anonimowe” w aplikacji. [1] [5]

Gregory Maxwell publicznie opisał CoinJoin w sierpniu 2013 roku. Pomysł nie wymagał zmiany reguł sieci, ale ludzie nadal musieli się odnaleźć i współpracować. JoinMarket pokazał podejście rynkowe: organizator wspólnej transakcji płaci innym za udostępnienie środków do udziału. Protokoły z koordynatorem organizują to inaczej. Na przykład WabiSabi obsługuje różne kwoty i anonimowe poświadczenia, dzięki którym uczestnik wykazuje prawo do wyjść bez prostego ujawnienia ich związku z wejściami. CoinJoin nie należy zatem utożsamiać z jedną aplikacją ani zakładać, że każda odmiana wymaga wyłącznie równych wyjść. [1] [2] [4]

Wpis Maxwella wyjaśnia podstawową ideę, dokumentacja konkretnego portfela opisuje jego obsługę, a praca o WabiSabi przedstawia właściwości protokołu. To różne poziomy źródeł. W chwili tej redakcji pierwotne repozytorium klienta i serwera JoinMarket jest zarchiwizowane; służy tu jako materiał historyczny i techniczny, a nie zalecenie instalacji. PayJoin opisany w BIP 78 to pokrewna współpraca płatnika z odbiorcą, w której obaj wnoszą wejścia. Zwykle nie chodzi w niej o dużą grupę równych wyjść. Porównując rozwiązania, pytaj, kto współpracuje, czego może się dowiedzieć i co osoba podpisująca i jej portfel sprawdzają przed podpisaniem, zamiast polegać na wspólnym słowie „prywatność”. [1] [2] [3] [4] [5] [6]

Przykład · CJ

Wspólna transakcja nie dowodzi, że środki należą do jednej osoby

Alice i Bob kontrolują po jednym odrębnym wejściu wspólnej transakcji i otrzymują własne wyjścia. Założenie, że wszystkie wejścia należą do jednej osoby, jest tu fałszywe. Samo połączenie nie gwarantuje ukrycia przypisania wyjść; kwoty, inne dane i późniejsze wydawanie mogą ujawnić powiązania.

Pełniejszy obraz uzyskasz, czytając to hasło razem z Bitcoin, Prywatność w Bitcoinie, Pseudonimowość, Portfel, UTXO, Transakcja. Do tego hasła prowadzą również odsyłacze z Change Address, Prywatność w Bitcoinie, Pseudonimowość, KYC.

01Czy koordynator CoinJoin może ukraść środki z wejść?

W prawidłowo zaprojektowanym CoinJoin bez powierzania środków klucze pozostają u uczestników. Przed podpisaniem sprawdzają oni całą transakcję, przede wszystkim własne wyjścia, kwoty i opłaty. Bez wymaganych podpisów koordynator nie utworzy prawidłowej transakcji, ale może zakłócić rundę lub odmówić udziału. Jeśli jednak uczestnik podpisze transakcję wysyłającą jego pieniądze oszustowi, sam zatwierdza taką płatność.

02Czy wyjścia po CoinJoin pozostają anonimowe na zawsze?

Nie. Historia pozostaje publiczna. Ponowne użycie adresów, konsolidacja, płatności znanym kontrahentom, rozpoznawalne zachowanie portfela i metadane sieciowe mogą zmniejszyć lub usunąć niejednoznaczność. Wynik zależy od protokołu i późniejszego postępowania z wyjściami.

DOC · 001Gregory Maxwell — CoinJoin: Bitcoin privacy for the real worldŹródło pierwotne DOC · 002JoinMarket client/serverŹródło pierwotne DOC · 003JoinMarket — Architecture Notes (archived)Dokumentacja DOC · 004WabiSabi: Centrally Coordinated CoinJoins with Variable AmountsŹródło pierwotne DOC · 005Wasabi Wallet — CoinJoin documentationDokumentacja DOC · 006BIP 78 — PayjoinSpecyfikacja
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna