

To nowy rodzaj dowodów prywatności. Kryptografia ciągle się rozwija, a wraz z nią konsensusy, które mogą być wykorzystane do zapewnienia prywatności danych. Każdy z tych algorytmów ma swoje wady i zalety, a także sposób wykorzystania. Na dzisiejszej lekcji przyjrzymy się tym dwóm dowodom.
Zk-SNARK (Zero-Knowedgle Succinct Non-Interactive Argument of Knowledge)
Dosłownie jest to protokół „dowodzenia z wiedzą zerową”. Dowody z wiedzą zerową są bardzo ciekawe. Przy jego użyciu musimy udowodnić, że mamy jakąś informację, bez ujawniania samej informacji. Mamy więc dwóch uczestników protokołu: udowadniający (proover) i weryfikujący (verifier). Udowadniający musi w określony sposób udowodnić weryfikującemu, że ma informację y, bez dzielenia się tą informacją.
Protokół ZK-SNARK nie wymaga ciągłej komunikacji, czy konwersacji pomiędzy udowadniającym a weryfikującym. Działa w oparciu o złożone operacje matematyczne. Kojarzycie licealne dowody, które udowadnialiśmy na lekcjach matematyki? Przypomnijcie je sobie, bo tutaj będą one niezbędne. Dowody z zerową wiedzą wykorzystują:
1. Funkcję homomorficzną.
2. Ślepą ewaluację.
3. Test Knoweldge of Coefficient Test (KC) oraz Knowledge of Coefficient Assumption (KCA). 4. Protokół weryfikowalnej ślepej ewaluacji.
5. Quadratic Arithmetic Program.
6. Protokół Pinokia.
Co więcej, zk-SNARK wymaga kryptografii krzywej eliptycznej. ECC jest metodą kryptografii, opierającą się na właściwościach krzywych eliptycznych do tworzenia w pełni bezpiecznych kluczy kryptograficznych. Te klucze są używane do szyfrowania i odszyfrowania danych, co zwiększa bezpieczeństwo. Zdecydowanie wykorzystanie ECC jest bardziej bezpieczne niż RSA, chociażby ze względu na odporność na ataki typu brute-force.
Pojęcie zk-SNARK po raz pierwszy zostało użyte w 2012 roku przez profesora Alessandro Chiesa.
Jak działa zk-SNARK?
Protokół opiera się na zaufanej konfiguracji, wykorzystującej powyższe, matematyczne założenia. Zk SNARK umożliwia użytkownikom przesyłanie transakcji na blockchainie w całkowicie zaszyfrowany sposób. Oznacza to, że transakcje odbyły się całkowicie legalnie, ale nikt nie może ich odczytać. Najpopularniejszą platformą wykorzystującą ten algorytm jest ZCash. Dlatego dzisiaj posłużymy się jego przykładem. Jak już mówiliśmy, algorytmy wiedzy zerowej pozwalają udowodnić, że stwierdzenie X jest prawdzie, bez ujawniania informacji o stwierdzeniu. Dokładnie tak samo dzieje się, gdy dwie osoby dokonują transakcji za pomocą tej sieci. Przy użyciu zk-SNARK widzimy, że nadawca ma środki, ale nie widzimy ile i gdzie chce je przesłać. Nie znamy też jego adresu. Co więcej, taka transakcja nie może być zmodyfikowana przez osobę trzecią. Aby takie transakcje działały, muszą spełnić określone warunki. Np. ZCash angażuje użytkowników poprzez „spotkanie” i „anulant”. W efekcie osoba, która chce wysłać przez ZCash środki mówi „Popatrz, ile mam środków!”, nie ujawniając swojego salda, a weryfikator potwierdza „Taka suma była obiecana odbiorcy”.
Zk-STARK (Zero-Knowledge Scalable Transparent ARguments of Knowedgle)
To również dowód kryptograficzny. Jego definicja brzmi – zk-STARK daje możliwość podzielenia się zweryfikowanymi danymi lub wykonania obliczeń ze stroną trzecią, bez ujawniania danych tej stronie. Jednocześnie jest publicznie weryfikowalny. Co to oznacza w praktyce? ZK-STARK umożliwia Ci zweryfikowanie informacji bankowych swojego przyszłego kontrahenta biznesowego, bez konieczności ujawniania swoich poufnych informacji.
Zk-STARK – jak działa?
Protokół przenosi obliczenia i pamięć masową poza łańcuch blockchain. Dlatego poprawia jego skalowalność i prywatność. Usługi wykonywane poza łańcuchem bloków są w stanie generować dowody STARK, które jednocześnie poświadczają integralność obliczeń poza łańcuchem. Następnie tak wykonane dowody są umieszczone z powrotem w blockchainie, aby każda zainteresowana osoba mogła zatwierdzić wykonane obliczenia (dowód). Jak już wspomnieliśmy zk-STARK jest publicznie weryfikowalny. Ten rodzaj dowodu zerowego skupia się najpierw na skalowalności, a dopiero później na prywatności. Pionierem wśród prac nad tą technologią jest StarkWare Industries.
Zk-SNARK vs Zk-STARK
1. Zk-SNARK wymagają zaufanych kluczy, podczas gdy zk-STARK są publicznie weryfikowalne. 2. Zk-SNARK nie są szybkie i skalowalne pod względem rozmiaru obliczeń.
3. Zk-SNARK są bardzo podatne na ataki ze strony komputerów kwantowych, ze względu na zastosowanie kryptografii w swoim działaniu.
4. Zk-SNARK jest bardziej popularne, szczególnie w czasach obecnych.
5. Zk-STARK opiera się na funkcjach haszujących, które są trudniejsze do złamania. Nie wymagają też zaufanej konfiguracji.
6. W protokole zk-STARK weryfikacja dowodu trwa dłużej, ze względu na większy rozmiar. 7. Zk-SNARK jest łatwiejszy w implementacji.
Podsumowanie
Oba dowody zerowej wiedzy są potężnymi narzędziami. Mogą poprawić skalowalność sieci blockchain, o czym już wspomnieliśmy, ale mają również swoje wady. Tak zaszyfrowane transakcje, które mają miejsce np. w ekosystemie ZCash mogą przyczynić się do prania brudnych pieniędzy, czy finansowania terroryzmu. Każde nowoczesne rozwiązanie ma zawsze dwie strony medalu.
Odkrywaj świat kryptowalut z Kanga Exchange