Zapewnienie prywatności w świecie kryptowalut jest jednym z kluczowych aspektów nad którym pracują programiści. Ani firmy ani indywidualne osoby pomimo umieszczania informacji na publicznych blockchainach, nie chcą by były one dostępne dla rządu, rodziny, przyjaciół czy konkurencji.
W poniższym artykule opiszę trzy główne obszary w jakich rozwijana jest prywatność oraz podam przykłady konkretnych projektów zajmujących się tymi zagadnieniami.
Rozwiązanie prywatności w Bitcoinie
Na początku Bitcoin tworzony był jako anonimowa kryptowaluta, która zapewniała prywatność tak długo aż konkretna osoba nie została połączona z danym portfelem. Niestety wraz z biegem czasu pojawiły się firmy wykorzystujące otwartość blockchainu bitcoina co pozwoliło im na śledzenie posiadaczy portfeli, a następnie ich identyfikację za pomocą adresów IP.
Obecnie głównym celem takich analiz jest wykrywanie prób prania brudnych pieniędzy oraz potwierdzanie ich pochodzenia.
Wraz z zanikiem prywatności bitcoinowych transakcji, zaczęły powstawać serwisy korzystające z metody CoinJoin. Jej twórca Gregory Maxwell opisał ją następująco: "Jeśli chcesz dokonać płatności, znajdź kogoś innego kto również będzie chciał jej dokonać, a następnie wyślijcie ją razem." Inaczej mówiąc powstaje tak zwany mixer, który miesza nasze monety z monetami innych użytkowników, uniemożliwiając identyfikację prawdziwego nadawcy. Serwisy te w przeszłości były bardzo często używane przy płatnościach za nielegalne towary jednakże po czasie okazało się, iż wciąż istnieje możliwość namierzenia osób biorących udział w takich transakcjach. Główną przyczyną była mała ilość użytkowników wysyłających bitcoiny w tym samym czasie. Obecnie pomimo wielu usprawnień wciąż nie ma pełnej gwarancji, iż nasza tożsamość nie zostanie odkryta.
Jedym z bardzo ciekawych projektów, zajmujących się prywatnością jest Grin, który w założeniu ma być pobocznym łańcuchem bloków do blockchainu Bitcoina obsługującym całkowicie prywatne transakcje. W takim przypadku nie będziemy w stanie stwierdzić kto, komu i ile wysłał bitcoinów. Jedyne co będziemy mogli sprawdzić to różnicę pomiędzy outputami, a inputami która powinna wynosić zero co oznacza poprawne wykonanie transakcji.
Projekt ten wzbudza wiele emocji nie tylko ze względu na nowe możliwości jakie może nadać bitcoinowi, ale również na ich podobieństwa. Pomysłodawca Grina jest nieznany. Zespół deweloperów nie posiada lidera, kopanie monet Grin odbywać się będzie metodą PoW. Nie jest organizowane również żadne ICO. Jedyną znaczącą różnicą jest to, iż ilość grin coinów będzie nieograniczona.
Obecnie sieć jest w fazie trzeciego testnetu, a planowana data wydania pełnej wersji to początek roku 2019.
Prywatne kryptowaluty
Jak wiemy na rynku posiadamy wiele kryptowalut chwalących się swoją prywatnością i bezpieczeństwem. Jedną z nich jest Zcash korzystający i bardzo mocno rozwijający zk-SNARKi.
Zcash jest pierwszym szeroko używanym zastosowaniem zk-SNARKów czyli dowodu z wiedzą zerową (ang. zero-knowledge proof). Technologia ta umożliwia w pełni ukrycie przesyłanych transakcji jednocześnie pozwalając na weryfikację czy dana operacja miała miejsce i czy została wykonana poprawnie. W ogólnym zastosowaniu jedna strona bez podawania jakiejkolwiek informacji o wysyłanych danych, może udowodnić drugiej, iż transakcja jest prawdziwa.
Obecnie deweloperzy Zcash tworzą uaktualnienie o nazwie Sapling mające na celu jeszcze lepszą obsługę ukrytych transakcji. Dodatkowo, wprowadzana zmiana ma obniżyć koszty wysyłania prywatnych transferów i jednocześnie zachęcić użytkowników do tej formy wysyłania środków, ponieważ jak pokazują statystyki wciąż 85% transakcji w sieci Zcash jest jawne. Wprowadzenie uaktualnienia planowane jest na październik 2018.
Inną z prywatnych kryptowalut jest Monero korzystająca, w przeciwieństwie do zk-SNARKów, z ring signature. Techonolgie tę można porównać do podpisywania czeków w banku. Otóż by nadać dany czek ktoś musi go podpisać (sign) lecz by zachować anonimowość nadawcy, z całej sieci jest wybierana wcześniej określona liczba osób, które jednocześnie podpisują daną transakcję. W ten sposób tworzy się krąg podpisów (ring signature), w którym każda uczestnicząca osoba ma to samo prawdopodobieństwo bycia uznanym za prawdziwego nadawcę. Cały zabieg zapewnia bardzo wysoki poziom bezpieczeństwa użytkowników.
Najnowszym uaktualnieniem wprowadzanym przez deweloperów Monero jest Kovri pozwalający na całkowite ukrycie położenia geograficznego użytkownika jak i jego adresu IP.
Obydwie kryptowaluty są bardzo często ze sobą porównywane i zadawane jest pytanie, która z nich jest bardziej anonimowa. Niezwykle ciężko odpowiedzieć na takie pytanie ze względu na to, iż korzystają z zupełnie innych technologii i dotychczas nikt nie potrafi stwierdzić, która z nich jest lepsza bądź która zwycięży długoterminowo. Jedno jest pewne, czym większa konkurencja tym ostatecznie większa prywatność użytkowników, a w końcu o to w tym chodzi.
Prywatne smart contracty
Zagadnienie prywatności w smart contractach jest zupełnie inne od tego znanego z płatności. Główną różnicą jest posiadanie przez smart contract publicznie widocznego kodu źródłowego. Zanim opiszę powstające rozwiązania tego zagadnienia, zastanówmy się czy dotychczas potrzebowaliśmy prywatnych smart contractów? Raczej nikomu nie przeszkadza możliwość śledzenia zdecentralizowanych aplikacji takich jak CryptoKitties i na ich podstawie tworzenia wszelakich analiz. Jeśli jednak chcemy by blockchain był w codziennym użytkowaniu milionów użytkowników jak i firm to musimy zadbać o możliwość zaszyfrowania inteligentnych umów. W przyszłości wraz z powstawaniem coraz większej ilości dAppsów, znacząco wzrośnie potrzeba ukrywania danych klientów.
Jednym z projektów zajmujących się tą tematyką jest Keep. Deweloperzy mają na celu stworzenie pewnego rodzaju kontenerów (przechowywanych poza blockchainem), w których będzie można umieszczać dowolne dane wymagające prywatności. Pozwoli to smart contractom na używanie i zarządzanie prywatnymi danymi, bez potrzeby wysyłania ich do publicznego łańcucha bloków.
W przypadku Ethereum, umożliwienie tworzenia prywatnych smart contractów jest drugim zagadnieniem o najwyższym priorytecie (tuż po zagadnieniu skalowalności). Niestety wprowadzenia uaktualnienia Casper, zwiększającego przepustowość sieci, jest wciąż odkładane w czasie co zwiększa ryzyko odłożenia problemu prywatności na kolejnych kilka lat. Na szczęście w środowisku deweloperów, powstają już projekty zupełnie nowych platform do tworzenia prywatnych smart contractów. Jednym z wiodących przykładów jest Enigma.
Prywatne platformy
W ostatniej kategorii umieściłem wszystkie te projekty, które również wnoszą wiele do prywatności blockchainów lecz nie są związane jedynie z płatnościami bądź smart contractami.
Pierwszym z ciekawych przykładów jest projekt Orchid. Zapewne każda osoba interesująca się kryptowalutami słyszała o sieci Tor. W wielkim skrócie, za każdym razem gdy wysyłamy zapytanie do jakiegokolwiek serwera, zostaje ono przepuszczone przez nody i dopieo wraca do nas. W ten sposób możemy na przykład ukryć IP z jakiego korzystamy. Problemem jest jednak to, iż istnieje stosunkowo mała ilość osób udostępniających swoje komputery jako nody (około 8000) przez co jeśli jakiś rząd chciałby uniemożliwić swoim obywatelom dostęp do sieci Tor, musiałby jedynie zablokować IP wcześniej wspomnianych nodów.
Orchid w celu znaczącego wzrostu ilości nodów proponuje odejść od darmowego udostępniania swoich łączy internetowych i zaoferować za to konkretne wynagrodzenie wypłacane w kryptowalucie tego projektu.
Deweloperzy innego projektu o nazwie NuCypher chcą zbudować protokół szyfrujący dane w zdecentralizowanych aplikacjach, który będzie działał na zasadzie "jeden nadawca - wielu odbiorców". Dzięki temu użytkownicy w pełni zatrzymają swoją prywatność, jednocześnie nie tracąc żadnej z zalet sieci blockchain takich jak stabilność czy jej rozproszenie.
CEO NuCypher'a określa projekt jako "HTTPs dla zdecentralizowanych aplikacji".
Ostatnim z opisywanych projektów, a zarazem najnowszym i moim zdaniem najciekawszym do obserwowania jest Starkware. Twórcy tego protokołu chcą udoskonalić znane z Zcasha zk-SNARKi tak by użytkownicy nie potrzebowali ufać początkowym ustawieniom sieci. W ten sposób powstaną w pełni pozbawione elementu zaufania zk-STARKi.
Projekt warto obserwować chociażby z tego względu, iż zainwestował w niego sam Vitalik Buterin (współtwórca Ethereum).
PODSUMOWANIE
Prywatność w świecie kryptowalut jest jednym z najciekawszych zagadnień i na pewno warto mu się przyglądać. Temat ten jest interesujący nie tylko ze względu na stronę technologiczną, ale również stosunek władz państw do chęci zatrzymania przez ludzi swojej prywatności dla siebie. Niestety zanim zobaczymy powszechne użycie któregokolwiek z wymienionych przeze mnie pomysłów, minie jeszcze przynajmniej kilka lat.