Prywatność zawsze była postrzegana jako cenna cecha w społeczności kryptowalut. Jest prekursorem zamienności, która jest niezbędna w przypadku powszechnie stosowanej formy pieniądza. Podobnie większość posiadaczy kryptowalut nie chce, aby ich zasoby i historia transakcji były całkowicie publiczne. Wśród różnych technik kryptograficznych mających na celu zapewnienie prywatności łańcuchom bloków, dwa godne uwagi przykłady to dowody zk-SNARK i zk-STARK.

zk-SNARK oznacza zwięzły, nieinteraktywny argument wiedzy o wiedzy zerowej, a zk-STARK reprezentuje zwięzły, przejrzysty argument wiedzy o wiedzy zerowej. Dowody zk-SNARK są wykorzystywane w projektach kryptowalutowych (takich jak Zcash), w systemach płatności opartych na blockchain oraz jako sposób bezpiecznego uwierzytelniania klientów na serwerach. Ale choć protokoły zk-SNARK poczyniły znaczne postępy i stały się dobrze ugruntowane i przyjęte, dowody zk-STARK są obecnie reklamowane jako nowa i ulepszona wersja protokołu, eliminująca wiele poprzednich wad zk-SNARK.

Przypowieść o jaskini Ali Baby

W 1990 roku kryptolog Jean-Jacques Quisquater (wraz z innymi współpracownikami) opublikował artykuł zatytułowany „Jak wyjaśnić protokoły wiedzy zerowej swoim dzieciom”. W artykule przedstawiono koncepcję dowodów zk za pomocą przypowieści o jaskini Ali Baby. Od czasu powstania przypowieść była kilkakrotnie adaptowana, a obecnie mamy wiele odmian. Jednak podstawowe informacje są zasadniczo takie same.

Wyobraźmy sobie jaskinię w kształcie pierścienia z pojedynczym wejściem i magicznymi drzwiami oddzielającymi obie boczne ścieżki. Aby przejść przez magiczne drzwi, należy wyszeptać odpowiednie sekretne słowa. Weź więc pod uwagę, że Alicja (żółty) chce udowodnić Bobowi (niebieski), że wie, jakie są sekretne słowa, jednocześnie zachowując je w tajemnicy. Aby to zrobić, Bob zgadza się poczekać na zewnątrz, podczas gdy ona wejdzie do jaskini i idzie aż do końca jednej z dwóch możliwych ścieżek. W tym przykładzie decyduje się przejść Ścieżką 1.

Po chwili Bob podchodzi do wejścia i krzyczy, z której strony ma wyjść Alicja (w tym przypadku Ścieżka 2).

Jeśli Alicja naprawdę zna sekret, niezawodnie pojawi się na ścieżce wskazanej przez Boba.

Cały proces można powtórzyć kilka razy, aby upewnić się, że Alicja nie wybiera właściwej ścieżki przez szczęście.

Przypowieść o jaskini Ali Baby ilustruje koncepcję dowodów o wiedzy zerowej, które są częścią protokołów zk-SNARK i zk-STARK. Dowodami ZK można wykazać posiadanie określonej wiedzy, nie ujawniając przy tym żadnych informacji.

zk-SNARK

Zcash jest jednym z najwcześniejszych przykładów projektu wykorzystującego zk-SNARK. Podczas gdy inne projekty dotyczące prywatności, takie jak Monero, wykorzystują podpisy pierścieniowe i inne techniki, zk-SNARK zasadniczo zmieniają sposób udostępniania danych. Prywatność Zcash wynika z faktu, że transakcje w sieci mogą pozostać zaszyfrowane, ale nadal mogą zostać zweryfikowane jako ważne za pomocą dowodów o wiedzy zerowej. Zatem ci, którzy egzekwują zasady konsensusu, nie muszą znać wszystkich danych leżących u podstaw każdej transakcji. Warto wspomnieć, że funkcje prywatności w Zcash nie są domyślnie aktywne, ale są raczej opcjonalne i zależą od ręcznej konfiguracji.

Dowody z wiedzą zerową pozwalają jednej osobie udowodnić drugiej, że stwierdzenie jest prawdziwe, bez ujawniania jakichkolwiek informacji wykraczających poza ważność oświadczenia. Strony zaangażowane w sprawę są powszechnie określane jako dowodzący i weryfikator, a zeznania, które trzymają w tajemnicy, nazywa się świadkiem. Głównym celem tych dowodów jest ujawnienie jak najmniejszej ilości danych między obiema stronami. Innymi słowy, można użyć dowodów o wiedzy zerowej, aby udowodnić, że mają określoną wiedzę, nie ujawniając żadnych informacji o samej wiedzy.

W akronimie SNARK „zwięzły” oznacza, że ​​dowody te mają mniejszy rozmiar i można je szybko zweryfikować. „Nieinteraktywny” oznacza, że ​​interakcja między weryfikatorem a weryfikatorem jest niewielka lub żadna. Starsze wersje protokołów o wiedzy zerowej zwykle wymagają od sprawdzającego i weryfikatora komunikacji w obie strony i dlatego są uważane za „interaktywne” dowody ZK. Jednak w konstrukcjach „nieinteraktywnych” weryfikatorzy i weryfikatorzy muszą wymienić tylko jeden dowód.

Obecnie dowody zk-SNARK zależą od początkowej, zaufanej konfiguracji pomiędzy weryfikatorem a weryfikatorem, co oznacza, że ​​do skonstruowania dowodów o wiedzy zerowej, a tym samym transakcji prywatnych, wymagany jest zestaw parametrów publicznych. Parametry te są prawie jak zasady gry; są one zakodowane w protokole i są jednym z niezbędnych czynników potwierdzających ważność transakcji. Stwarza to jednak potencjalny problem centralizacji, ponieważ parametry są często formułowane przez bardzo małą grupę.

Chociaż początkowa zaufana konfiguracja ma kluczowe znaczenie dla dzisiejszych wdrożeń zk-SNARK, badacze pracują nad znalezieniem innych alternatyw, które pozwoliłyby zmniejszyć poziom zaufania wymaganego w tym procesie. Początkowa faza konfiguracji jest ważna w zapobieganiu fałszywym wydatkom, ponieważ gdyby ktoś miał dostęp do losowości, która wygenerowała parametry, mógłby stworzyć fałszywe dowody, które wydawałyby się ważne dla weryfikatora. W Zcash początkowa faza konfiguracji nazywana jest Ceremonią Generowania Parametrów.

Przejdźmy do części akronimu „Argumenty wiedzy”. Zk-SNARK są uważane za solidne obliczeniowo, co oznacza, że ​​nieuczciwy dowodzący ma bardzo małe szanse na skuteczne oszukanie systemu bez faktycznej wiedzy (lub świadka) na poparcie swojego twierdzenia. Właściwość ta nazywana jest solidnością i zakłada, że ​​dowódca ma ograniczoną moc obliczeniową.

Teoretycznie dowódca posiadający wystarczającą moc obliczeniową mógłby stworzyć fałszywe dowody i jest to jeden z powodów, dla których komputery kwantowe są przez wielu uważane za zagrożenie dla zk-SNARK (i systemów blockchain).

Dowody z wiedzą zerową są szybko weryfikowalne i zwykle zajmują znacznie mniej danych niż standardowa transakcja Bitcoin. Otwiera to drogę do wykorzystania technologii zk-SNARK zarówno jako rozwiązania zapewniającego prywatność, jak i skalowalność.

zk-STARK

zk-STARK zostały stworzone przez Eli-Bena Sassona, profesora w Technion-Israel Institute of Technology. Jako alternatywna wersja dowodów zk-SNARK, zk-STARK są powszechnie uważane za bardziej wydajny wariant technologii - potencjalnie szybszy i tańszy, w zależności od wdrożenia. Ale co ważniejsze, zk-STARK nie wymagają początkowej zaufanej konfiguracji (stąd „T” oznacza przezroczysty).

Technicznie rzecz biorąc, zk-STARK nie wymagają początkowej zaufanej konfiguracji, ponieważ opierają się na oszczędnej kryptografii za pomocą odpornych na kolizje funkcji skrótu. Podejście to eliminuje również założenia liczbowe dotyczące zk-SNARK, które są kosztowne obliczeniowo i teoretycznie podatne na ataki komputerów kwantowych.

Innymi słowy, dowody ZK-STARK mają prostszą strukturę pod względem założeń kryptograficznych. Jednakże ta nowatorska technologia ma co najmniej jedną poważną wadę: rozmiar prób jest większy w porównaniu do zk-SNARK. Taka różnica w rozmiarze danych może stwarzać ograniczenia w zależności od kontekstu użycia, ale prawdopodobnie można ją ustalić w trakcie dalszych testów i badań technologii.

Zamykające myśli

Oczywiste jest, że zarówno zk-SNARK, jak i zk-STARK odwołują się do rosnących obaw dotyczących prywatności. W świecie kryptowalut protokoły te mają ogromny potencjał i mogą być przełomową drogą do powszechnego przyjęcia.