Wyjaśnienie dowodu wiedzy zerowej (ZKP) w Blockchain

W dobie wszechobecnej inwigilacji, gdzie instytucje nieustannie monitorują przepływ informacji o obywatelach, narastający problem braku prywatności wymaga innowacyjnych rozwiązań technologicznych.

Technologia blockchain, znana także jako rozproszona księga, to zdecentralizowany system, który rewolucjonizuje tradycyjne podejście do wielu aspektów naszego życia. Mimo że blockchain wprowadził znaczące zmiany, wciąż istnieje pole do dalszego rozwoju w obszarze prywatności.

W kontekście tej transformacji pojawia się nowa koncepcja – dowody z wiedzą zerową (Zero-Knowledge Proof, ZKP). Jeśli słyszałeś o ZKP, ale nie do końca rozumiesz, na czym polega ich działanie, to jesteś we właściwym miejscu.

Szyfrowanie z wiedzą zerową jest często postrzegane jako przełomowy protokół podnoszący poziom bezpieczeństwa. Czy jednak jest to wystarczające rozwiązanie i czy może stać się odpowiedzią na globalne zapotrzebowanie na prywatność? Niniejszy artykuł ma na celu znalezienie odpowiedzi na te i podobne pytania.

Czym są protokoły wiedzy zerowej?

Dowód z wiedzą zerową to nowatorskie podejście w kryptografii, umożliwiające jednej stronie (weryfikatorowi) potwierdzenie prawdziwości oświadczenia innej strony (udowadniającego), bez ujawniania jakichkolwiek dodatkowych informacji poza samym faktem legalności tego oświadczenia.

System ten angażuje udowadniającego, weryfikatora oraz wyzwanie, które wymaga od uczestników przedstawienia dowodu posiadania lub wiedzy, przy jednoczesnym zachowaniu szczegółów w tajemnicy.

Mówiąc prościej, protokół wiedzy zerowej pozwala przekonać kogoś o posiadaniu pewnej wiedzy lub dokonaniu określonej czynności, bez konieczności zdradzania szczegółów tej wiedzy czy sposobu wykonania tej czynności.

Na przykład, jeśli starasz się o pożyczkę, ale nie chcesz ujawniać bankowi swoich danych finansowych, bank może zastosować dowód z wiedzą zerową, aby potwierdzić Twoją historię finansową, w tym informacje o regularnych płatnościach, miejscu zamieszkania, ocenie zdolności kredytowej czy posiadanych nieruchomościach, bez uzyskiwania dostępu do szczegółowych danych tych aktywów.

Protokół ten został opracowany w 1985 roku przez trzech naukowców z MIT, Shafi Goldwasser, Silvio Micali i Charlesa Rackoffa, i opisany w publikacji „Złożoność wiedzy interaktywnych systemów dowodowych.” Wiele protokołów zdecentralizowanych finansów (DeFi) wykorzystuje już ZKP w celu zapewnienia większego bezpieczeństwa i prywatności swoim użytkownikom korzystającym z usług kredytowych, pożyczkowych i handlowych.

Niektóre łańcuchy bloków warstwy 1, takie jak Zcash i Polygon, integrują już rozwiązania oparte na ZKP, np. agregaty lub maszyny wirtualne Ethereum z wiedzą zerową (zkEVM). Entuzjaści blockchaina i Web 3.0 wiążą z ZKP duże nadzieje, widząc w nich kluczowy element przyszłego rozwoju i upowszechnienia tych technologii.

Charakterystyka dowodu z wiedzą zerową

Metoda dowodu z wiedzą zerową staje się szczególnie użyteczna w sytuacjach, gdy informacje są poufne, a osoba udowadniająca nie chce ujawniać szczegółów weryfikatorowi.

W takim przypadku udowadniający przedstawia jedynie dowód matematyczny, który jest w stanie wygenerować i który weryfikator może wykorzystać do potwierdzenia prawdziwości oświadczenia. Istotne jest, że na podstawie tego dowodu nie można odtworzyć oryginalnych informacji.

Wyobraźmy sobie, że przez środek miasta przebiega góra, ale istnieje tunel z dwoma wejściami, który umożliwia przejście na drugą stronę. Tylko Ty znasz kod do zamkniętych drzwi na obu krańcach tunelu.

Jeśli chcesz pobrać opłatę za dostęp do tunelu, logiczne jest, że zanim ktokolwiek Ci zaufa, będzie chciał mieć pewność, że faktycznie znasz kod.

Zainteresowane strony uwierzyłyby, że znasz tajny kod, gdyby stały przy wejściu do tunelu i zobaczyły, jak przechodzisz przez niego na drugą stronę.

Trzy podstawowe właściwości każdego protokołu wiedzy zerowej to:

❇️ **Kompletność:** Weryfikator musi mieć pewność, że udowadniający posiada niezbędne dane wejściowe, aby potwierdzić oświadczenie.

❇️ **Rzetelność:** Nie da się sfałszować oświadczenia i nie ma możliwości przekonania weryfikatora o posiadaniu niezbędnych danych wejściowych, jeśli w rzeczywistości tak nie jest.

❇️ **Wiedza zerowa:** Nie ma sposobu na uzyskanie przez weryfikatora jakichkolwiek informacji poza autentycznością oświadczenia. Dane osobowe i treść informacji pozostają anonimowe.

Rodzaje dowodów z wiedzą zerową

Wyróżniamy dwa podstawowe typy ZKP:

Interaktywne dowody wiedzy zerowej

W tego rodzaju dowodzie z wiedzą zerową występuje szereg interakcji pomiędzy udowadniającym a weryfikatorem. Dzieje się tak, ponieważ weryfikator może wielokrotnie kwestionować odpowiedzi udowadniającego w odniesieniu do danego wyzwania, aż do uzyskania pełnego przekonania.

Ponieważ działania związane z tym typem ZKP dotyczą prawdopodobieństwa matematycznego, udowadniający musi przekonać konkretnego weryfikatora lub powtórzyć proces przed kilkoma weryfikatorami, demonstrując konkretny fakt poprzez serię działań.

Nieinteraktywne dowody wiedzy zerowej

W tym typie ZKP nie występuje interakcja pomiędzy udowadniającym a weryfikatorem, ponieważ weryfikator ma tylko jedną szansę na zweryfikowanie dowodu przedstawionego przez udowadniającego.

Ponieważ ten typ ZKP opiera się bardziej na mocy obliczeniowej niż interaktywny ZKP, udowadniający jest zobowiązany do stworzenia dowodu, który każdy będzie mógł zweryfikować, aby proces weryfikacji mógł przejść do kolejnego etapu.

Nieinteraktywny ZKP może wymagać specjalnego oprogramowania, aby mechanizm działał naprawdę efektywnie.

Zastosowanie dowodu wiedzy zerowej w technologii Blockchain

Technologia blockchain wprowadziła wiele istotnych funkcji, takich jak decentralizacja, niezmienność, przejrzystość i rozproszona księga, umożliwiając użytkownikom przeprowadzanie transakcji przy zachowaniu wysokiego poziomu bezpieczeństwa i anonimowości.

Chociaż blockchain dał użytkownikom pewną kontrolę nad prywatnością, nie jest to rozwiązanie doskonałe, zwłaszcza że sieci blockchain korzystają z publicznych baz danych. Każdy, kto ma dostęp do internetu, może przeglądać historię transakcji w sieci.

W rezultacie można podejrzeć wiele szczegółów związanych z transakcją i portfelem użytkownika. Nawet jeśli tożsamość pozostaje anonimowa, osoby trzecie wciąż mają wgląd w klucze publiczne.

Stworzenie kluczy publicznych przy użyciu technik kryptograficznych może pomóc w ochronie prywatności. Niemniej jednak mogą istnieć sposoby na złamanie anonimowości i dlatego tak istotne jest zastosowanie dowodu wiedzy zerowej w systemach blockchain, w celu osiągnięcia następujących rezultatów:

#1. Komunikacja

W przypadku szyfrowania end-to-end w komunikacji, pożądane jest, aby nikt poza odbiorcą nie miał dostępu do treści prywatnych wiadomości. Platformy dokładają wszelkich starań, aby zweryfikować tożsamość użytkowników. Zastosowanie ZKP pozwala platformom komunikacyjnym na zbudowanie kompleksowego zaufania w sferze przesyłania wiadomości, bez ujawniania istotnych danych użytkownika.

#2. Uwierzytelnianie

ZKP mogą służyć do bezpiecznego przesyłania delikatnych informacji, takich jak uwierzytelnianie. Platformy blockchain zyskują bezpieczne kanały umożliwiające użytkownikom przesyłanie informacji bez niepotrzebnego ujawniania danych, eliminując ryzyko wycieku danych.

Doskonałym przykładem transakcji chroniących prywatność w technologii blockchain jest zdecentralizowana aplikacja Manta Network, MantaPay.

DApp wykorzystuje ZKP, które pozwalają użytkownikom na przeprowadzanie transakcji na zdecentralizowanych giełdach, bez ujawniania tożsamości ani szczegółów transakcji. Użytkownicy mogą zatem zachować swoją prywatność podczas korzystania z platformy.

#3. Ochrona danych

Ponieważ łańcuchy bloków przetwarzają ogromne ilości danych, ZKP mogą być również przydatne w zakresie przechowywania danych.

Dowody z wiedzą zerową integrują protokoły, które chronią poufne informacje poza samą jednostką pamięci. Ponadto, ZKP chronią również kanały dostępu, zapewniając użytkownikom bezpieczeństwo i swobodę korzystania z danych.

#4. Prywatne transakcje w blockchainie

Istotą prywatnych transakcji blockchain jest zapewnienie, że osoby trzecie nie będą miały do nich dostępu. Pomimo pozytywnych cech, istniejące metody ochronne mogą mieć pewne luki, gdzie ZKP znajduje zastosowanie.

Prawidłowo wdrożone ZKP uniemożliwią hakerom przechwytywanie lub przekierowanie prywatnych transakcji w blockchainie.

Na przykład, Zcash stosuje transakcje oparte na wiedzy zerowej, które maskują adresy nadawcy i odbiorcy oraz kwoty transakcji, w celu zwiększenia poziomu bezpieczeństwa publicznego łańcucha bloków.

#5. Złożona dokumentacja

ZKP zostały zaprojektowane tak, aby szyfrować dane w dużych fragmentach, pozwalając użytkownikom na decydowanie, które bloki danych będą udostępnione konkretnym osobom. Tę koncepcję można wykorzystać do zapewnienia dostępu do złożonej dokumentacji wyłącznie uprawnionym stronom.

#6. Weryfikacja głosowania

Kolejnym praktycznym zastosowaniem ZKP w blockchainie jest weryfikacja kodów głosowania. Protokół ten może zapewnić wiarygodne wyniki w każdym procesie głosowania, rejestrując oddane głosy w publicznym łańcuchu bloków.

Efektem byłby proces głosowania, który wyeliminowałby potrzebę kontroli i potwierdzeń przez osoby trzecie. Dowody z wiedzą zerową pozwoliłyby wyborcom wykazać uprawnienia do oddania głosu, zachowując przy tym poufność danych osobowych.

Wyborcy, wykorzystując ZKP, mogliby również żądać dowodów potwierdzających ich głos w końcowym podsumowaniu.

#7. Bezpieczeństwo poufnych informacji

ZKP zwiększają poziom bezpieczeństwa transakcji w blockchainie, tworząc dodatkową warstwę ochrony dla bloków zawierających poufne informacje.

Może to obejmować wrażliwe dane bankowe, takie jak historia kredytowa i informacje o kartach kredytowych. Dzięki ZKP, odbiorcy uzyskują dostęp tylko do niezbędnych bloków danych, natomiast pozostałe bloki pozostają nietknięte i chronione.

#8. Tokenizacja i weryfikacja własności

Platformy blockchain mogą również wykorzystywać ZKP w procesie tokenizacji aktywów i weryfikacji dowodu ich własności. Użytkownik może udowodnić własność nieruchomości, bez publicznego ujawniania swoich danych osobowych.

Zalety stosowania dowodu z wiedzą zerową

Zastosowanie ZKP, tak jak każdej innowacyjnej technologii, wiąże się z szeregiem korzyści, szczególnie w połączeniu z protokołami blockchain. Oprócz swobody i elastyczności, inne zalety stosowania dowodów z wiedzą zerową obejmują:

🔷 **Prostota:** Prostota jest jedną z najbardziej zauważalnych zalet ZKP, ponieważ użytkownicy nie muszą posiadać zaawansowanej wiedzy technicznej, aby z niej korzystać. Co więcej, ZKP są całkowicie bezpieczne, mimo że nie są w pełni zaszyfrowane, co oznacza, że skutecznie łączą oba aspekty.

🔷 **Bezpieczeństwo:** Protokóły wiedzy zerowej są bardzo bezpieczne, ponieważ usprawniają proces udostępniania informacji. Użytkownicy mogą z nich korzystać bez konieczności opanowywania konkretnych kodów lub analiz.

🔷 **Oszczędność czasu:** Dzięki ZKP użytkownicy oszczędzają czas potrzebny na realizację transakcji w blockchainie, uzyskując jednocześnie znaczną wartość.

🔷 **Prywatność:** Ochrona prywatności użytkowników jest podstawową cechą ZKP. Użytkownicy nie muszą udostępniać wrażliwych danych, dzięki czemu protokół jest wyjątkowo bezpieczny.

🔷 **Pewność:** Użytkownicy protokołów wiedzy zerowej mają świadomość, że kontrolują proces udostępniania danych i mogą uniknąć udostępniania danych osobowych podmiotom, które nie mają ku temu uzasadnionych powodów.

ZKP vs. Obliczenia wielostronne (MPC)

Ustaliliśmy, że ZKP wykorzystują unikalny ciąg znaków do potwierdzenia autentyczności oświadczenia, bez ujawniania szczegółowych informacji. Może to obejmować ukrytą strukturę komunikacji lub tajny klucz powiązany z kluczem publicznym.

W kontekście transakcji blockchain, inicjator transakcji może ukryć jej dokładną wartość, udowadniając jedynie, że transakcja została przeprowadzona.

Obliczenia wielostronne (MPC) z kolei to interaktywna komunikacja między wieloma stronami, umożliwiająca bezpieczne i równoczesne obliczenie tej samej funkcji na podstawie ich nieujawnionych wartości, z zachowaniem poufności szczegółów.

Na przykład, trzy strony mają tajny numer i chcą obliczyć sumę tych trzech liczb. Mimo to żadna ze stron nie powinna poznać tajnego numeru pozostałych, poza znajomością sumy trzech liczb.

Główną cechą MPC jest zaangażowanie wielu podmiotów, których celem jest bezpieczne obliczenie funkcji bazującej na tajnych wartościach innych uczestników, z jednoczesnym zapewnieniem im tych samych przywilejów, bez ujawniania prywatnych wartości.

Dowód zerowej wiedzy vs. Zero zaufania

Aspekt weryfikacji jest elementem, który odróżnia dowód z wiedzą zerową od modelu Zero Trust. Model Zero Trust wymaga weryfikacji tożsamości użytkowników i ich urządzeń, zanim uzyskają dostęp do aplikacji i poufnych danych.

ZKP z kolei szyfrują dane w taki sposób, że tylko uprawniona osoba ma do nich dostęp. Weryfikacja tożsamości jest siłą napędową Zero Trust, podczas gdy szyfrowanie jest podstawową zasadą protokołu Zero-Knowledge.

Zakres działania tych protokołów również się różni. Zero Trust skupia się na bezpieczeństwie sieci, natomiast Zero Knowledge stawia na bezpieczeństwo danych.

Zero Trust jest stosowany w celu zapewnienia dostępu do poufnych danych tylko autoryzowanym użytkownikom, natomiast Zero Knowledge Proof zabezpiecza dane osobowe poprzez szyfrowanie ich w taki sposób, że dostęp do nich ma tylko upoważniony uczestnik.

Podsumowanie

Dowód z wiedzą zerową nie jest cudownym rozwiązaniem, ale wprowadził nową perspektywę w technologii blockchain. Protokół oferuje duży potencjał w szerokim zakresie zastosowań, które operują na poufnych danych, takich jak dowód tożsamości, weryfikacja hasła lub potwierdzenie członkostwa.

Wraz ze wzrostem popularności ZKP, ze względu na ich skalowalność i ochronę prywatności, są one coraz częściej stosowane w blockchainie, kryptowalutach i aplikacjach DeFi. Oczekuje się, że ich zastosowanie będzie się rozszerzać, gdyż odgrywają kluczową rolę w ekosystemach DApp, gdzie bezpieczeństwo, prywatność i wydajność mają zasadnicze znaczenie.

Dowody z wiedzą zerową, stosowane jako podstawowe narzędzie w kryptografii, pomogą zweryfikować właściwości danych i mogą stać się ogniwem, które wprowadzi technologię blockchain i jej zastosowania do głównego nurtu. Operatorzy blockchain mogą z powodzeniem i przy niskich kosztach wykorzystywać zalety ZKP nowej generacji.

Zachęcamy do zapoznania się z szczegółowym przewodnikiem po bezpieczeństwie Zero Trust.


newsblog.pl