To nowa kategoria dowodów prywatności. Kryptografia stale się rozwija, razem z nią ewoluują również konsensusy, które mogą być wykorzystane do zabezpieczenia prywatności danych. Każdy z tych algorytmów posiada swoje własne zalety i wady, a także specyficzny sposób implementacji. W dzisiejszym zestawieniu bliżej przyjrzymy się dwóm z tych dowodów.
Zk-SNARK (Zero-Knowedgle Succinct Non-Interactive Argument of Knowledge)
Jest to dosłownie protokół “dowodzenia z wiedzą zerową”. Dowody z wiedzą zerową są niezwykle fascynujące, gdyż pozwalają udowodnić posiadanie pewnej informacji, nie ujawniając jej samej. Protokół ten opiera się na interakcji dwóch uczestników: udowadniającego (proover) i weryfikującego (verifier). Udowadniający musi w określony sposób dowieść weryfikującemu, że dysponuje pewną informacją y, przy jednoczesnym zachowaniu poufności tej informacji.
W przypadku protokołu ZK-SNARK nie jest wymagana ciągła komunikacja między udowadniającym a weryfikującym. Działa on na zasadzie skomplikowanych operacji matematycznych. Czy pamiętacie dowody matematyczne z czasów liceum? Przyda się przypomnienie, ponieważ są one kluczowe w tym kontekście. Dowody z zerową wiedzą wykorzystują:
- Funkcję homomorficzną.
- Ślepą ewaluację.
- Test wiedzy o współczynnikach (KC) oraz Założenie Wiedzy o Współczynnikach (KCA).
- Protokół weryfikowalnej ślepej ewaluacji.
- Program Arytmetyki Kwadratowej.
- Protokół Pinokia.
Ponadto, zk-SNARK wymaga zastosowania kryptografii krzywej eliptycznej. ECC (krzywe eliptyczne) to metoda kryptografii, która bazuje na unikalnych właściwościach krzywych eliptycznych do generowania w pełni bezpiecznych kluczy kryptograficznych. Te klucze są używane do szyfrowania i deszyfrowania danych, co znacząco podnosi poziom bezpieczeństwa. Wykorzystanie ECC jest zdecydowanie bardziej bezpieczne niż RSA, przede wszystkim ze względu na odporność na ataki typu brute-force.
Pojęcie zk-SNARK po raz pierwszy zostało wprowadzone w 2012 roku przez profesora Alessandro Chiesa.
Jak działa zk-SNARK?
Protokół ten opiera się na zaufanej konfiguracji, wykorzystując powyższe matematyczne założenia. Zk-SNARK umożliwia użytkownikom przesyłanie transakcji na blockchainie w całkowicie zaszyfrowany sposób. Innymi słowy, transakcje są prawdziwe i zgodne z obowiązującymi przepisami, ale jednocześnie nieujawnione dla osób trzecich.
Najpopularniejszą platformą wykorzystującą ten algorytm jest ZCash, dlatego dzisiaj posłużymy się jej przykładem. Algorytmy wiedzy zerowej pozwalają udowodnić prawdziwość pewnego twierdzenia X, nie ujawniając jednak samego twierdzenia. Analogicznie dzieje się podczas dokonywania transakcji w tej sieci. Z użyciem zk-SNARK obserwujemy, że nadawca posiada środki, lecz nie poznajemy ich dokładnej ilości ani celu ich przekazania. Adres nadawcy również pozostaje nieznany. Co więcej, tego typu transakcje są odporne na modyfikacje ze strony osób trzecich, wymagając spełnienia określonych warunków.
Na przykład, w przypadku ZCash użytkownicy są zaangażowani poprzez proces “spotkania” i “anulowania”. Osoba chcąca przesłać środki za pomocą ZCash informuje: “Popatrz, ile mam środków!”, nie ujawniając jednocześnie swojego dokładnego salda, a weryfikator potwierdza: “Taka suma została obiecana odbiorcy”.
Zk-STARK (Zero-Knowledge Scalable Transparent ARguments of Knowedgle)
To również jest dowód kryptograficzny. Jego definicja mówi, że zk-STARK umożliwia podzielenie się zweryfikowanymi danymi lub przeprowadzenie obliczeń z zaufaną stroną trzecią, nie ujawniając przy tym danych tej strony. Równocześnie jest publicznie weryfikowalny. Jakie są praktyczne korzyści z tego rozwiązania? ZK-STARK pozwala na zweryfikowanie informacji bankowych potencjalnego partnera biznesowego, eliminując konieczność ujawniania własnych poufnych danych.
Zk-STARK – jak działa?
Protokół przenosi obliczenia i pamięć masową poza łańcuch blockchain, co znacząco poprawia jego skalowalność i poziom prywatności. Usługi wykonywane poza samym łańcuchem bloków mają zdolność generowania dowodów STARK, które jednocześnie potwierdzają integralność obliczeń poza łańcuchem. Te stworzone dowody są następnie umieszczane z powrotem w blockchainie, umożliwiając każdej zainteresowanej osobie zweryfikowanie przeprowadzonych obliczeń (dowodu). Jak już wspomniano, zk-STARK jest publicznie weryfikowalny. Ten rodzaj dowodu zerowego koncentruje się przede wszystkim na skalowalności, a następnie na zapewnieniu prywatności. Pionierem w dziedzinie prac nad tą technologią jest StarkWare Industries.
Zk-SNARK vs Zk-STARK
- Zk-SNARK wymaga zaufanych kluczy, natomiast zk-STARK jest publicznie weryfikowalny.
- Zk-SNARK nie charakteryzuje się wysoką szybkością ani skalowalnością w przypadku dużych obliczeń.
- Zk-SNARK jest szczególnie podatne na ataki ze strony komputerów kwantowych z uwagi na wykorzystanie kryptografii w swoim funkcjonowaniu.
- Zk-SNARK cieszy się większą popularnością, zwłaszcza w dzisiejszych czasach.
- Zk-STARK opiera się na funkcjach haszujących, które są trudniejsze do złamania, a także nie wymaga zaufanej konfiguracji.
- W protokole zk-STARK weryfikacja dowodu zajmuje więcej czasu z powodu większego rozmiaru.
- Zk-SNARK jest łatwiejszy do implementacji.
Podsumowanie
Oba rodzaje dowodów zerowej wiedzy są potężnymi narzędziami, zdolnymi poprawić skalowalność sieci blockchain, o czym już wspomnieliśmy. Jednakże, jak każde nowoczesne rozwiązanie, oba mają również swoje wady. Przykładowo, zaszyfrowane transakcje, jakie zachodzą w ekosystemie ZCash, mogą niestety przyczynić się do prania brudnych pieniędzy lub finansowania terroryzmu. Podobnie jak w przypadku każdej innowacji, istnieje zawsze druga strona medalu.
Odkrywaj świat kryptowalut z Kanga Exchange