7 najlepszych technologii prywatności w łańcuchu

Technologia blockchain, choć rewolucyjna, zapisuje wszystkie transakcje w sposób trwały i jawny. Ten publiczny rejestr pozwala na śledzenie transakcji, identyfikację adresów i potencjalne powiązanie ich z konkretnymi osobami.

W sytuacji, gdy potrzebujesz zachować prywatność przy realizacji transakcji kryptowalutowych, możesz skorzystać z szeregu protokołów on-chain, zaimplementowanych w różnych sieciach blockchain. Zapewnią Ci one niezbędną ochronę prywatności.

1. Transakcje z zachowaniem poufności

Transakcje poufne to mechanizmy kryptograficzne, które umożliwiają użytkownikom ochronę szczegółów ich transakcji. Umożliwiają one ukrycie zarówno ilości, jak i rodzaju przekazywanych aktywów, jednocześnie gwarantując, że w obiegu nie pojawią się dodatkowe monety (problem podwójnego wydatkowania). Dostęp do szczegółów transakcji mają tylko jej uczestnicy (nadawca i odbiorca) oraz osoby, którym nadawca zdecyduje się udostępnić klucz deszyfrujący.

Załóżmy, że Paweł posiada w swoim portfelu 5 BTC i chce przesłać 2 BTC do Anny, która udostępniła mu swój adres. Paweł generuje specjalny klucz deszyfrujący, który integruje z adresem Anny, tworząc poufny adres. Choć ten adres jest widoczny w publicznym rejestrze, tylko Paweł i Anna wiedzą, że jest powiązany z jej adresem.

Paweł inicjuje tzw. zaangażowanie Pedersena, używając klucza deszyfrującego i przekazując 2 BTC. Zobowiązanie Pedersena umożliwia weryfikację wartości bez jej ujawniania. Wartość staje się widoczna dopiero po użyciu klucza deszyfrującego.

Paweł generuje także podpis, który zawiera poufny adres transakcji oraz warunek matematyczny wymagający od Anny udowodnienia, że jest właścicielem klucza prywatnego powiązanego z tym adresem, co też Anna robi. Transakcja zostaje zrealizowana i zapisana w publicznym rejestrze.

Technologię poufnych transakcji opracował Adam Back w 2013 roku. Została ona wykorzystana w wielu projektach, takich jak łańcuch boczny Elements firmy Blocksteam i protokół AZTEC.

2. Podpisy pierścieniowe

Podpis pierścieniowy to technika maskowania, która polega na łączeniu transakcji nadawcy z innymi, zarówno prawdziwymi, jak i fałszywymi danymi wejściowymi. To sprawia, że określenie dokładnego nadawcy staje się zadaniem bardzo trudnym obliczeniowo. Ta metoda zapewnia wysoki stopień anonimowości nadawcy, jednocześnie zachowując integralność blockchaina.

Wyobraź sobie, że grupa przyjaciół: Kasia, Bartek, Celina i Darek, musi podjąć decyzję, ale chce to zrobić anonimowo. Tworzą „pierścień” składający się z ich kluczy publicznych (adresów portfeli). Kasia inicjuje transakcję, korzystając ze swojego klucza i kluczy publicznych pozostałych osób. Algorytm kryptograficzny na podstawie tych mieszanych danych generuje podpis transakcji.

Podpis ten można zweryfikować za pomocą kluczy publicznych, ale nie da się ustalić, czy pochodzi on od Kasi. Podobnie jest z transakcjami pozostałych osób. Podpis pierścieniowy zostaje dodany do blockchaina, umożliwiając podejmowanie decyzji z zachowaniem anonimowości.

Blockchainy takie jak Monero, wykorzystując podpisy pierścieniowe, osiągają wysoki poziom prywatności i anonimowości transakcji.

3. Dowody z wiedzą zerową

Dowody z wiedzą zerową to być może najbardziej popularna technologia prywatności w łańcuchach bloków. Pozwalają one na weryfikację danych transakcji bez ujawniania ich szczegółów. W praktyce, weryfikator przechodzi serię interakcji, które dowodzą, że strona posiadająca informacje rzeczywiście je ma, a jednocześnie te interakcje uniemożliwiają weryfikatorowi odgadnięcie tych informacji.

Załóżmy, że Michał zna hasło do skrytki, ale Robert chce się upewnić, że Michał je zna, bez konieczności jego ujawniania. Michał wykonuje więc szereg czynności, które byłyby możliwe tylko, jeśli zna hasło. Otwiera skrytkę, wchodzi do środka, zamyka ją, a następnie ponownie otwiera, wychodzi i zamyka skrytkę.

Robert wie, że Michał zna hasło, ponieważ nie byłby w stanie wykonać tych czynności bez jego znajomości. Michał wykazał się znajomością hasła, nie podając go wprost.

Dowody ZK odgrywają kluczową rolę w kryptowalutach zapewniających prywatność, takich jak Zcash, umożliwiając ukrycie szczegółów transakcji, przy jednoczesnej weryfikacji ich ważności przez uczestników sieci.

4. Mimblewimble

Mimblewimble to protokół prywatności, który zaciemnia dane wejściowe i wyjściowe transakcji poprzez „cięcie”. W tym procesie wiele transakcji jest łączonych w jeden zestaw, tworząc mniejszy blok transakcji kryptowalutowych. Redukuje to rozmiar łańcucha bloków i jednocześnie zwiększa prywatność.

Wyobraźmy sobie, że Henryk chce przesłać tajną wiadomość do Heleny. Dzięki Mimblewimble cała transakcja zostaje pocięta na mniejsze części. Dodatkowo, podpisy transakcji są łączone. Henryk tworzy podpis kryptograficzny, który zawiera potwierdzenie, że ma prawo wydawać monety i autoryzuje transakcję.

Helena otrzymuje transakcję i ją weryfikuje. Potwierdza, że jest prawidłowa, kwoty się zgadzają, a podpis Henryka jest autentyczny. Jednak nie zna poszczególnych danych wejściowych i wyjściowych.

Mimblewimble został wykorzystany w kryptowalutach takich jak Grin i Beam do zwiększenia prywatności transakcji. Ponadto nie wymaga długiej historii wcześniejszych transakcji do weryfikacji bieżących, co czyni go lekkim i skalowalnym.

5. Mniszek lekarski

Dandelion koncentruje się na zwiększeniu anonimowości propagacji transakcji w sieci. Działa poprzez ukrywanie pochodzenia transakcji na jej początkowych etapach. Utrudnia to złośliwym podmiotom śledzenie źródła transakcji, co zwiększa prywatność użytkowników.

Liliana chce wysłać transakcję w blockchainie, nie zdradzając swojej tożsamości. W pierwszej fazie przesyła transakcję znaną trasą. Następnie, w trakcie procesu, wybiera losową trasę, zanim transakcja dotrze do celu. W tym momencie wydaje się, że transakcja nie pochodzi od niej.

Transakcja przemieszcza się od węzła do węzła, nie zdradzając swojego źródła, niczym nasiona mniszka lekarskiego unoszone przez wiatr. W końcu pojawia się w blockchainie, ale bardzo trudno jest prześledzić ją do Liliany. Protokół stworzył nieprzewidywalną ścieżkę i ukrył źródło transakcji.

Dandelion został pierwotnie zaproponowany w celu poprawy prywatności w sieci Bitcoin peer-to-peer. Jednakże miał wady, które z czasem powodowały utratę anonimowości. Ulepszona wersja, Dandelion++, została zaadoptowana przez Firo, kryptowalutę nastawioną na ochronę prywatności.

6. Ukryte adresy

Ukryte adresy poprawiają prywatność odbiorcy poprzez generowanie unikatowego, jednorazowego adresu dla każdej transakcji. Uniemożliwia to obserwatorom powiązanie tożsamości odbiorcy z konkretną transakcją. Środki przesyłane na ukryty adres mogą być odszyfrowane tylko przez zamierzonego odbiorcę, co gwarantuje poufność.

Załóżmy, że Janusz chce zachować prywatność swoich transakcji. Generuje więc ukryty adres, aby nie można było łatwo powiązać z nim transakcji. Wysyła ten adres do Roberta, który ma mu zapłacić kryptowalutą. Gdy Robert inicjuje płatność, blockchain rozdziela ją na serię losowych transakcji, co zwiększa jej złożoność.

Aby otrzymać płatność, Janusz używa specjalnego klucza odpowiadającego ukrytemu adresowi. To rodzaj tajnego kodu, który odblokowuje adres i daje mu dostęp do środków.

Jego prywatność pozostaje nienaruszona i nawet Robert nie zna jego prawdziwego adresu publicznego.

Monero używa ukrytych adresów do ochrony prywatności publicznych adresów użytkowników. Innym projektem, który wykorzystuje ten protokół jest Particl, zdecentralizowana platforma aplikacji wolnościowych.

7. Szyfrowanie homomorficzne

Szyfrowanie homomorficzne to metoda kryptograficzna pozwalająca na wykonywanie obliczeń na zaszyfrowanych danych bez konieczności ich wcześniejszego odszyfrowywania. W blockchainie umożliwia to operacje na zaszyfrowanych danych transakcyjnych, zachowując prywatność w trakcie całego procesu.

Załóżmy, że Beata chce zachować pewną liczbę w tajemnicy, pozwalając Adamowi wykonać na niej obliczenia, bez jej poznania. Beata szyfruje swoją liczbę, zamieniając ją w specjalny kod, który może otworzyć tylko Adam. Adam wykonuje obliczenia na tym kodzie, nie znając oryginalnej liczby.

Po zakończeniu Adam wysyła wynik z powrotem do Beaty, która używa swojego klucza szyfrowania do odszyfrowania wyniku i przekształcenia go w formę oryginalnej tajnej liczby. Beata zna już odpowiedź, ale Adam dokonał obliczeń nie znając pierwotnej liczby.

Szyfrowanie homomorficzne zostało wykorzystane do stworzenia Zether, mechanizmu poufnych i anonimowych płatności dla blockchainów, przez grupę kryptograficzną Uniwersytetu Stanforda. Jego szerokie zastosowanie jest jednak utrudnione przez powolność, nieefektywność i wysokie wymagania dotyczące pamięci masowej.

Zwiększanie prywatności transakcji kryptowalutowych

Chociaż blockchainy oferują użytkownikom wyższy poziom prywatności, wiele z nich zapewnia jedynie pseudoanonimowość. Dopóki adres publiczny może być powiązany z Twoją tożsamością, nie jest ona w pełni ukryta.

Jeśli więc chcesz zwiększyć poziom prywatności swoich transakcji w blockchainie, warto skorzystać z technologii, które stosują protokoły prywatności, takie jak te opisane powyżej.