
Co zdradza twój adres: prywatność w rejestrze publicznym na zawsze
Większość ludzi uczy się zasad prywatności w kryptowalutach od tyłu. Zakładają, że pseudonimowa nazwa — ciąg liter i cyfr zamiast „Jane Smith" — oznacza anonimowość, a przekonują się, że jest inaczej, dopiero gdy coś powiąże ten ciąg z nimi.
Trafny model myślowy jest odwrotny. Blockchain to trwały, publiczny, replikowany na całym świecie zapis każdej płatności, jaka kiedykolwiek została wykonana. Pseudonimowość to cienka warstwa na wierzchu i działa w jedną stronę: trudno ją zbudować, banalnie łatwo stracić, nie da się odzyskać.
Pseudonimowy to nie anonimowy
Adres nie nosi twojego nazwiska. Nosi całą resztę: każdą otrzymaną kwotę, każdą wysłaną kwotę, dokładne znaczniki czasu i adresy po drugiej stronie każdej transakcji. Każdy na świecie może to czytać, na zawsze, nie prosząc o pozwolenie.
Wystarczy, że adres zostanie połączony z tobą jeden jedyny raz. Od tej chwili cała przypisana do niego historia — przeszła i przyszła — jest połączona z tobą również. Wstecznie. Nie da się tego rozłączyć, bo rejestru nie można edytować.
Ta właściwość pojedynczego punktu awarii sprawia, że prywatność w łańcuchu jest nietypowa. W większości systemów wyciek ujawnia to, co wyciekło. Tutaj wyciek ujawnia wszystko, co ten adres kiedykolwiek zrobił, i wszystko, co zrobi potem.
Jak adresy zostają powiązane z ludźmi
Sam komuś powiedziałeś. Giełdy zbierają dokumenty tożsamości i wiedzą dokładnie, na jakie adresy wysłały twoje wypłaty. Wie to też każdy sprzedawca, któremu zapłaciłeś, każda usługa, w której się zarejestrowałeś, każdy znajomy, któremu wysłałeś przelew.
Opublikowałeś go. Adres do darowizn w stopce na forum, słoik na napiwki w profilu, adres wklejony do zgłoszenia serwisowego. Raz zaindeksowany, zostaje na zawsze.
Heurystyka wspólnego wejścia. To ta wielka w łańcuchach UTXO i nie potrzebuje żadnej twojej współpracy. Kiedy transakcja wydaje kilka wejść naraz, niemal pewnym wnioskiem jest, że jeden portfel kontrolował je wszystkie — bo podpisanie ich wszystkich wymagało wszystkich ich kluczy. Firmy analizujące łańcuch grupują adresy dokładnie na tej podstawie i działa to dobrze. Transakcja łącząca jeden znany adres z trzema nieznanymi właśnie dodała te trzy do twojej grupy.
Wnioskowanie o adresie reszty. Wyślij 0,3 BTC z wejścia o wartości 1 BTC, a 0,7 wraca do ciebie jako reszta. Istnieją heurystyki zgadujące, które wyjście jest resztą — okrągłe kwoty, zgodność typu adresu, kolejność wyjść — i choć żadna nie jest pewna, trafiają wystarczająco często, by rozciągnąć grupę na wiele skoków.
Ponowne używanie adresów. Wielokrotne odbieranie na jeden adres zbiera całą twoją historię finansową w jednym, łatwym do obserwowania miejscu. To najczęstszy i najłatwiejszy do uniknięcia błąd z tej listy.
Czas i kwoty. Płatność o nietypowej kwocie w konkretnej chwili można zestawić z informacjami spoza łańcucha, bez żadnej kryptografii.
Co to znaczy w praktyce
Realistycznym zagrożeniem nie jest przeciwnik państwowy. Jest ono zwyczajne i znacznie bliższe:
- Każdy, komu płacisz, widzi twoje saldo, a więc wie, na co cię stać.
- Każdy, kto płaci tobie, może obserwować, co dalej robisz z tymi pieniędzmi.
- Pracodawca wypłacający pensję w łańcuchu widzi całe życie finansowe odbiorcy.
- Publiczny adres do darowizn czyni twoją kasę sprawą publiczną.
- Ryzyko fizyczne staje się realne, gdy widoczne saldo zostaje powiązane z prawdziwą tożsamością — dlatego bezpieczeństwo operacyjne znaczy więcej, niż ludzie się spodziewają.
Nic z tego nie wymaga nakazu sądowego. Wymaga eksploratora bloków.
Co naprawdę pomaga
Używaj różnych adresów do różnych celów. Zdecydowanie najbardziej wartościowy nawyk. Adres, który dajesz giełdzie, adres używany w publicznym linku do darowizn i adres trzymający długoterminowe oszczędności nie powinny być tym samym adresem, a najlepiej nigdy nie powinny zostać połączone transakcją wydającą z obu.
Myśl o tym jak o osobnych pudełkach, a nie o jednym portfelu. Prywatność w publicznym rejestrze bierze się z trzymania niepowiązanej aktywności w niepowiązanych miejscach. Gdy tylko dwa adresy pojawią się jako wejścia tej samej transakcji, są powiązane na stałe i żadna późniejsza ostrożność tego nie cofnie.
Konsoliduj świadomie. Zagarnięcie wielu drobnych wejść do jednej transakcji jest dobre dla opłat i złe dla prywatności — publikuje fakt, że jeden portfel posiadał je wszystkie. Obie troski są uprawnione; rzecz w tym, żeby wybierać świadomie, a nie pozwalać portfelowi decydować za ciebie.
Nigdy nie wydawaj pyłu, którego się nie spodziewałeś. Maleńka niezamówiona płatność może być celowym znacznikiem, a wydanie jej scala adres nadawcy z twoją grupą. To „prywatnościowa" połowa zatruwania adresów — ten sam pył, który przygotowuje oszustwo z podobnym adresem, jednocześnie oznacza twoje monety.
Zakładaj, że każda wypłata z giełdy jest oznaczona. Jest. Planuj z założeniem, że adres, na który wypłacasz, na stałe zostanie skojarzony z twoją zweryfikowaną tożsamością, i zdecyduj, co chcesz z nim połączyć.
Jak radzi sobie z tym SSP
SSP wyprowadza adresy z twoich dwóch rozszerzonych kluczy publicznych wzdłuż ścieżki BIP-48, której dwa ostatnie poziomy to indeks typu i indeks adresu. Każdy odrębny indeks daje całkowicie inny adres: te same klucze, inne wyprowadzenie, żadnej widocznej w łańcuchu relacji między nimi.
W praktyce znaczy to, że możesz utworzyć wiele nazwanych portfeli w tym samym łańcuchu, każdy pod własnym indeksem wyprowadzenia, każdy z własnym adresem, saldem i historią transakcji. Wywodzą się z tego samego ziarna, więc wszystkie odtwarzają się razem z jednej kopii zapasowej, ale nic w łańcuchu ich nie łączy, o ile transakcja nie wyda z więcej niż jednego.
To naprawdę użyteczny element do rozdzielania spraw: portfel do kontaktów z giełdami, portfel oszczędnościowy, portfel na publiczny adres, wszystkie w jednej aplikacji, żaden widocznie spokrewniony.
Teraz uczciwe ograniczenie. SSP nie podaje ci automatycznie świeżego adresu odbiorczego do każdej płatności. Każdy portfel pokazuje jeden adres, a nowe uzyskujesz, tworząc nowe portfele w przełączniku. Wiele portfeli z pojedynczym podpisem obraca adresy odbiorcze automatycznie; SSP obecnie czyni z tego świadomy czyn, a nie zachowanie domyślne. Rozdzielenie jest dostępne i nie jest automatyczne, a jeśli chcesz higieny adresów przy każdej płatności, musisz zrobić to celowo.
Jest też kwestia strukturalna, którą warto powiedzieć wprost, bo tnie w obie strony. SSP to portfel multisig dwa-z-dwóch, więc jego adresy bitcoinowe to skrypty P2WSH, a nie adresy jednokluczowe. To znakomite dla bezpieczeństwa i nieco wyróżniające w łańcuchu: adresy skryptowe stanowią mniejszy udział w całości użycia niż jednokluczowe, co zmniejsza zbiór anonimowości. To standardowy kompromis każdej konfiguracji multisig i lepiej go nazwać, niż przemilczeć.
Uczciwe podsumowanie
Doskonała prywatność w łańcuchu nie jest osiągalna zwykłą higieną portfela, a kto twierdzi inaczej, sprzedaje na wyrost. To, co kupują ci dobre nawyki, jest jednak istotne: podnoszą koszt powiązania twojej aktywności z „otwórz eksplorator bloków" do „prowadź długotrwałą analizę" i naprawdę utrzymują rozdzielone te przegrody, na których ci zależy.
Dwie najważniejsze zasady są proste. Nie używaj ponownie adresów między niepowiązanymi celami. Nie łącz niepowiązanych adresów w jednej transakcji.
Cała reszta to dopracowywanie. Te dwie stanowią różnicę między rejestrem, który czyta się jak pamiętnik, a takim, który czyta się jak zbiór niepowiązanych fragmentów.


