Anonimowość zawsze była uważana za jedną z bardzo cennych cech społeczności kryptowalut. Jest prekursorem zamienności, cechy niezbędnej również w przypadku powszechnie stosowanej formy pieniądza. Podobnie większość posiadaczy aktywów kryptograficznych nie chce, aby ich aktywa i zapisy transakcji były w pełni ujawniane. Spośród wszystkich różnych technologii kryptograficznych, które zapewniają prywatność łańcuchów bloków, zk-SNARK i zk-STARK to dwa godne uwagi przykłady.
zk-SNARK reprezentuje uproszczony, nieinteraktywny dowód wiedzy zerowej, a zk-STARK reprezentuje uproszczony, w pełni przejrzysty dowód wiedzy zerowej. Zk-SNARK jest już używany w systemach płatności opartych na blockchain, takich jak Zcash, projekty JP Morgan Chase, oraz jako bezpieczna metoda weryfikacji klient-serwer. Chociaż protokoły zk-SNARK są już dobrze ugruntowane i szeroko stosowane, zk-STARK jest obecnie reklamowany jako nowa, ulepszona wersja protokołu, która ma na celu usunięcie wielu wcześniejszych niedociągnięć zk-SNARK.
Bajka jaskiniowa Ali Baby
W 1990 roku kryptolog Jean-Jacques Quisquater (wraz z innymi współpracownikami) opublikował artykuł zatytułowany „Jak wyjaśnić dzieciom protokoły potwierdzające wiedzę zerową”. W artykule przedstawiono koncepcję dowodów o wiedzy zerowej, wykorzystując przypowieść o jaskini Alibaby. Ta bajka była wielokrotnie adaptowana od czasu jej powstania i obecnie mamy kilka wersji. Ale wyrażona treść jest w zasadzie taka sama.
Wyobraźmy sobie okrągłą jaskinię z wejściem i magicznymi drzwiami oddzielającymi dwie ścieżki. Aby otworzyć magiczne drzwi, należy wyszeptać odpowiedni sekret. Weźmy więc pod uwagę, że Alicja (żółty) chce udowodnić Bobowi (niebieski), że zna hasło, ale jednocześnie zachowuje hasło w tajemnicy. Aby to zrobić, Bob zgadza się poczekać na zewnątrz, podczas gdy Alicja wchodzi do jaskini i wybiera jedną z dwóch ścieżek prowadzących do końca. W tym przypadku decyduje się przejść ścieżką 1.

Po chwili Bob podchodzi do wejścia i woła, z której strony chce, aby Alicja wyszła (w tym przypadku byłaby to ścieżka 2).

Jeśli Alicja zna hasło, będzie mogła poprawnie podążać ścieżką wymaganą przez Boba.

Proces ten można powtórzyć wiele razy, aby potwierdzić, że Alicja nie wybrała właściwej ścieżki dzięki szczęściu.
Przypowieść o jaskini Alibaby ilustruje koncepcję dowodów o wiedzy zerowej, które są częścią protokołów zk-SNARK i zk-STARK. Dowody wiedzy zerowej mogą służyć do udowodnienia posiadania określonej wiedzy bez ujawniania jakichkolwiek informacji na jej temat.
zk-SNARK
Zcash to pierwsza szeroko rozpowszechniona aplikacja zk-SNARK. Podczas gdy projekty dotyczące prywatności, takie jak Monero, wykorzystują również podpisy pierścieniowe i inne techniki, które skutecznie tworzą zasłonę dymną chroniącą nadawców, rozwiązania ZK-SNARK zasadniczo zmieniają sposób udostępniania danych. Prywatność Zcash wynika z faktu, że transakcje w sieci mogą być szyfrowane, ale nadal można je zweryfikować pod kątem ważności za pomocą dowodów z wiedzą zerową. Dlatego też egzekwujący zasady konsensusu nie muszą znać wszystkich danych o każdej transakcji. Warto wspomnieć, że funkcje prywatności w Zcash są domyślnie nieaktywne i są opcjonalne, podlegają ręcznym ustawieniom.
Dowody z wiedzą zerową pozwalają jednej osobie udowodnić drugiej osobie, że to, co twierdzi, jest prawdą, bez ujawniania jakichkolwiek informacji wykraczających poza ważność oświadczenia. Zaangażowane strony często nazywane są dowodami i weryfikatorami, a skrywane przez nie tajemnice nazywane są dowodami. Głównym celem tych funkcji jest umożliwienie jak najmniejszej wymiany danych pomiędzy obiema stronami. Innymi słowy, ludzie mogą używać dowodów wiedzy zerowej, aby udowodnić, że coś wiedzą, bez ujawniania jakichkolwiek informacji o samej wiedzy.
W akronimie SNARK pierwsza litera „zwięzły” oznacza, że dowody te są proste i można je szybko zweryfikować. „Nieinteraktywny” oznacza, że interakcja między weryfikatorem a weryfikatorem jest niewielka. Starsze wersje protokołów dowodu z wiedzą zerową zazwyczaj wymagały komunikacji sprawdzającego i weryfikatora i dlatego uważano je za „interaktywne” dowody z wiedzą zerową. Jednak w strukturze „nieinteraktywnej” osoba dowodząca i weryfikator muszą jedynie wymienić odpowiednie dowody.
Obecnie dowody zk-SNARK opierają się na początkowej konfiguracji zaufania między weryfikatorami i weryfikatorami, co oznacza, że do zbudowania dowodu o wiedzy zerowej, a tym samym prywatnej transakcji, wymagany jest zestaw parametrów publicznych. Parametry te przypominają reguły gry, są zaprogramowane w protokole i są jednym z niezbędnych czynników potwierdzających ważność transakcji. Stwarza to jednak potencjalne problemy związane z centralizacją, ponieważ parametry są często ustalane przez bardzo małą grupę.
Chociaż pierwotne otoczenie publiczne jest podstawą dzisiejszych wdrożeń zk-SNARK, badacze pracują nad znalezieniem alternatyw, które zmniejszą zaufanie wymagane w procesie interakcji. Początkowa faza konfiguracji jest ważna, aby zapobiec fałszywym wypłatom, ponieważ jeśli ktoś ma dostęp do losowości wygenerowanych parametrów, może stworzyć fałszywe dowody ważne dla walidatora. W Zcash początkowa faza konfiguracji nazywa się procesem generowania parametrów.
Porozmawiajmy jeszcze raz o akronimie „ARgumenty”. Zk-SNARK są uważane za rozsądnie obliczalne, co oznacza, że prawdopodobieństwo, że fałszywy dowódca skutecznie oszuka system, jest bardzo małe. Właściwość ta nazywana jest solidnością i zakłada, że dowód ma ograniczoną moc obliczeniową. Teoretycznie dowódca posiadający wystarczającą moc obliczeniową może stworzyć sfałszowane dowody, co jest jednym z powodów, dla których komputery kwantowe są przez wielu uważane za potencjalne zagrożenie dla zk-SNARK i systemów blockchain.
Ostatni skrót to „Wiedza”, co oznacza, że osoba dowodząca nie może skonstruować dowodu bez faktycznej wiedzy (lub świadków) na poparcie swojego twierdzenia.
Dowody z wiedzą zerową można szybko zweryfikować i zazwyczaj zajmują znacznie mniej danych niż standardowe transakcje Bitcoin. Otwiera to nową drogę dla technologii zk-SNARK do wykorzystania jako rozwiązanie zapewniające anonimowość i skalowalność.
zk-STARK
zk-STARK zostały stworzone jako alternatywna wersja protokołu zk-SNARK i są uważane za szybszą i wygodniejszą implementację tej technologii. Ale co ważniejsze, zk-STARK nie wymaga wstępnej konfiguracji zaufania (stąd litera „T” dla przejrzystości).
Technicznie rzecz biorąc, Zk-STARK nie wymagają zainicjowanej zaufanej konfiguracji, ponieważ opierają się na prostszej metodzie szyfrowania symetrycznego poprzez kolizje funkcji skrótu. Podejście to eliminuje również założenia teorii liczb dotyczące układów ZK-SNARK, które są kosztowne obliczeniowo i teoretycznie podatne na ataki komputerów kwantowych.
Jednym z głównych powodów, dla których Zk-STARK zapewnia wygodniejszą i szybszą implementację, jest to, że ilość komunikacji pomiędzy weryfikatorami i weryfikatorami pozostaje stała w odniesieniu do każdego przyrostu obliczeń. Z kolei w przypadku sieci ZK-SNARK im więcej obliczeń jest wymaganych, tym częściej strony muszą przesyłać wiadomości tam i z powrotem. Dlatego całkowity rozmiar danych zk-SNARK jest znacznie większy niż rozmiar danych w dowodzie zk-STARK.
Oczywiste jest, że zarówno zk-SNARKS, jak i zk-STARK budzą coraz większe pytania dotyczące anonimowości. W świecie kryptowalut protokoły te mają ogromny potencjał, aby stać się przełomowym podejściem do powszechnego użycia.



