Wyjaśnienie dowodu wiedzy zerowej (ZKP) w Blockchain

W świecie, w którym inwigilacja staje się niemal codziennością, różne instytucje stale monitorują informacje o ludziach, a wynikający z tego brak prywatności wymaga nowej interwencji technologicznej.

Blockchain, znany również jako technologia księgi rozproszonej, to zdecentralizowany system, który zakłóca tradycyjny sposób większości rzeczy. Technologia dokonała głębokich zmian, ale nie idą one wystarczająco daleko.

W bloku pojawił się nowy dzieciak o nazwie Zero-Knowledge Proof (ZKP). Jeśli słyszałeś o ZKP, ale jeszcze nie wiesz, co za tym stoi i jak działa, jesteś we właściwym miejscu.

Szyfrowanie z wiedzą zerową jest reklamowane jako najlepszy protokół zwiększający bezpieczeństwo, ale czy jest wystarczająco dobre i czy może być rozwiązaniem, na które czekał świat? W tym artykule staramy się odpowiedzieć na te i inne powiązane pytania.

Co to jest protokół wiedzy zerowej?

Dowód z wiedzą zerową odnosi się do nowatorskiego sposobu stosowanego w kryptografii, dzięki któremu jedna strona (weryfikator) może sprawdzić ważność oświadczenia innej stronie (weryfikatorowi), niekoniecznie ujawniając więcej informacji poza faktem legalności oświadczenia.

System dowodowy obejmuje osobę udowadniającą, weryfikatora i wyzwanie, które wymaga od zainteresowanych stron publicznego przedstawienia dowodu własności lub wiedzy, pozostawiając nienaruszone szczegóły.

Aby jeszcze bardziej to uprościć, protokół zero-proof może być stosowany w kryptografii, aby umożliwić przekonanie kogoś innego, że wiesz lub czegoś dokonałeś, bez konieczności ujawniania dokładnie tego sekretu.

Załóżmy, że zamierzasz zaciągnąć pożyczkę, ale nie chcesz ujawniać bankowi swoich danych finansowych; bank może wykorzystać dowód wiedzy zerowej w celu ustalenia Twojej historii finansowej, w tym dodatkowych informacji, takich jak płatności na koncie, dowód zamieszkania, ocena zdolności kredytowej lub nieruchomość, bez uzyskiwania dostępu do konkretnych szczegółów tych aktywów.

Protokół został po raz pierwszy opracowany w 1985 roku przez trzech naukowców z MIT, Shafi Goldwasser, Silvio Micali i Charlesa Rackoffa, w artykule badawczym zatytułowanym „Złożoność wiedzy interaktywnych systemów dowodowych.” Liczne protokoły finansów zdecentralizowanych (DeFi) są już w ZKP, aby zagwarantować większe bezpieczeństwo i prywatność użytkownikom ich usług kredytowych, pożyczkowych i handlowych.

Kilka łańcuchów bloków warstwy 1, takich jak Zcash i Polygon, zawiera już pakiety zbiorcze oparte na ZKP lub maszyny wirtualne Ethereum o zerowej wiedzy (zkEVM). Entuzjaści blockchaina i Web 3.0 pokładają duże nadzieje w tym, że ZKP odegrają integralną rolę w miarę ciągłego wzrostu współczynnika adopcji ich aplikacji.

Właściwości dowodu wiedzy zerowej

Metoda dowodu z wiedzą zerową staje się szczególnie przydatna w sytuacjach, gdy informacje są głębokie, a osoba dowodząca uważa, że ​​weryfikator nie musi mieć do nich dostępu.

W tym przypadku dowódca oferuje tylko dowód matematyczny, który jest w stanie wygenerować, a który weryfikator może wykorzystać do potwierdzenia prawdziwości twierdzenia. Niemniej jednak dostarczonych informacji nie można wykorzystać do zrekonstruowania informacji.

Załóżmy, że przez Twoje miasto przecina kolosalna góra, ale istnieje tunel z dwoma wejściami łączącymi oba końce miasta i tylko Ty znasz tajny kod do zamkniętych drzwi prowadzących na oba końce tunelu.

Jeśli zażądałeś zaliczki od osoby, która chciała uzyskać dostęp do tunelu, zanim im to ujawnisz, oczywiste jest tylko, że zanim będą mogli ci zaufać, będą chcieli dowodu, że naprawdę znasz kod.

Zainteresowane strony mogłyby uwierzyć, że znasz tajny kod, gdyby stały przy wejściu do tunelu i obserwowały, jak przechodzisz z jednego końca i wychodzisz drugim.

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

❇️ Kompletność: Weryfikator musi poświadczyć, że osoba dowodząca posiada wymagane dane wejściowe, aby zakwalifikować stwierdzenie.

❇️ Rzetelność: Nie da się sfałszować stwierdzenia i nie ma sposobu, aby przekonać weryfikatora, że ​​weryfikator posiada wymagane dane wejściowe, jeśli tak nie jest.

❇️ Wiedza zerowa: nie ma dostępnego mechanizmu oferującego weryfikatorowi informacje wykraczające poza autentyczność oświadczenia. Dane osobowe lub treść informacji należących do stron pozostają anonimowe.

Różne typy dowodów wiedzy zerowej

Istnieją dwa podstawowe typy ZKP, a mianowicie:

Interaktywne dowody wiedzy zerowej

W tego typu dowodzie z wiedzą zerową będzie zachodzić wiele interakcji pomiędzy osobą dowodzącą a weryfikatorem. Dzieje się tak dlatego, że weryfikator może kilka razy kwestionować odpowiedzi sprawdzającego na istniejące wyzwanie, dopóki nie zostanie całkowicie przekonany.

Ponieważ działania związane z tego typu ZKP dotyczą prawdopodobieństwa matematycznego, dowodzący musi przekonać konkretnego weryfikatora lub powtórzyć proces kilku weryfikatorom poprzez serię działań związanych z konkretnym faktem.

Nieinteraktywne dowody wiedzy zerowej

W tego typu ZKP nie ma dobrowolnej interakcji pomiędzy weryfikatorem a weryfikatorem, gdyż weryfikator ma tylko jedną szansę na uwierzytelnienie dowodu dostarczonego przez weryfikatora.

Ponieważ tego typu ZKP w większym stopniu opiera się na mocy obliczeniowej niż ZKP interaktywny, udowadniający ma obowiązek stworzyć dowód, 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 Blockchainach

Technologia Blockchain wprowadziła wiele istotnych cech, takich jak decentralizacja, niezmienność, przejrzystość i rozproszona księga, umożliwiając użytkownikom przeprowadzanie transakcji z najwyższym poziomem bezpieczeństwa i działanie anonimowo.

Chociaż blockchain mógł zapewnić użytkownikom kontrolę nad ich prywatnością, istnieje wrażenie, że nie zrobił tego w sposób dokładny, głównie dlatego, że sieci blockchain korzystają z publicznych baz danych. Każdy, kto ma połączenie z Internetem, może uzyskać dostęp do historii transakcji w sieci.

W rezultacie można było zobaczyć wiele szczegółów związanych z transakcją użytkownika i szczegółami portfela. Nawet jeśli ich tożsamość pozostaje anonimowa, osoby trzecie nadal będą widzieć Twoje klucze publiczne.

Tworzenie kluczy publicznych za pomocą technik kryptograficznych może chronić prywatność. Mimo to mogą istnieć techniki, które mogą ujawnić anonimowość i prywatność, stąd potrzeba zastosowania dowodu wiedzy zerowej w systemach blockchain, aby osiągnąć następujące wyniki:

#1. Wiadomości

Kiedy ludzie piszą wiadomości przy użyciu szyfrowania typu end-to-end, zawsze pożądane jest, aby nikt inny poza zamierzoną stroną nie miał dostępu do prywatnych wiadomości. Zainteresowane platformy wiadomości dokładają wszelkich starań, aby zweryfikować tożsamość użytkowników na serwerach i odwrotnie. Jednakże wdrożenie ZKP umożliwi platformom komunikacyjnym stworzenie kompleksowego zaufania w sferze przesyłania wiadomości bez ujawniania istotnych informacji o użytkowniku.

#2. Uwierzytelnianie

ZKP mogą służyć do przesyłania delikatnych informacji, takich jak uwierzytelnianie, z zachowaniem najwyższego bezpieczeństwa. Platformy Blockchain będą mogły tworzyć bezpieczne kanały umożliwiające użytkownikom przesyłanie informacji bez niepotrzebnego ujawniania, aby uniknąć ryzyka wycieku danych w najgorszych scenariuszach.

Najlepszym przykładem transakcji chroniących prywatność wykorzystujących technologię blockchain jest zdecentralizowana aplikacja Manta Network, MantaPay.

DApp korzysta z ZKP, które umożliwiają użytkownikom przeprowadzanie transakcji na zdecentralizowanych giełdach bez konieczności ujawniania ich tożsamości osobistej lub istotnych szczegółów transakcji. Użytkownicy mogą zatem zachować swoją prywatność podczas korzystania z platform.

#3. Ochrona przechowywania

Ponieważ łańcuchy bloków obsługują ogromne ilości danych, ZKP mogą się przydać również w zakresie przechowywania danych.

Dowody wiedzy zerowej integrują protokoły, które mogą chronić wrażliwe informacje poza samą jednostką pamięci. Ponadto ZKP mogą również chronić kanały dostępu, aby zapewnić użytkownikom bezproblemową i bezpieczną obsługę.

#4. Wysyłanie prywatnych transakcji Blockchain

Istotą wysyłania prywatnych transakcji typu blockchain jest zapewnienie, że osoby trzecie nie spotkają się z nimi. Przy wszystkich swoich pozytywnych cechach istniejące metody ochronne mogą mieć pewne luki i tu w grę wchodzą ZKP.

Jeśli zostaną prawidłowo wdrożone, ZKP uniemożliwią każdemu hakowanie, przechwytywanie lub przekierowanie prywatnych transakcji blockchain.

Na przykład Zcash wykorzystuje transakcje o zerowej wiedzy do umożliwiania transakcji chronionych, które zasłaniają adresy nadawcy i odbiorcy oprócz kwot związanych z publicznym łańcuchem bloków i zwiększają poziom bezpieczeństwa.

#5. Złożona dokumentacja

ZKP zaprojektowano z możliwością szyfrowania danych w dużych fragmentach, co daje użytkownikom możliwość decydowania, do których bloków fragmentów pozwolą konkretnym użytkownikom uzyskać dostęp, a innym ograniczyć dostęp. Koncepcję tę można zastosować, aby zapewnić dostęp do złożonej dokumentacji wyłącznie upoważnionym stronom.

#6. Demokratyczna weryfikacja głosów

Kolejnym praktycznym miejscem zastosowania ZKP w blockchainie jest demokratyczna rola, jaką może on odegrać w sprawdzaniu kodów. Protokół może zapewnić wiarygodne odpowiedzi w każdym kontrolowanym procesie głosowania, rejestrując oddane głosy w publicznym łańcuchu bloków.

Efektem byłby proces głosowania, który wyeliminowałby wymóg ograniczeń i wszelkich potwierdzeń przez osoby trzecie. Dowody wykorzystujące wiedzę zerową umożliwiłyby wyborcom wykazanie, że są uprawnieni do oddania głosu, a jednocześnie zapewniłyby, że ich wrażliwe dane osobowe pozostaną nienaruszone.

Wyborcy mogli także za pośrednictwem ZKP żądać niezmiennych dowodów swojego głosu w ostatecznym zliczeniu głosów.

#7. Bezpieczeństwo delikatnych informacji

ZKP zapewni także sposób, w jaki blockchain jest wykorzystywany do przeprowadzania transakcji, dodając dodatkową, wysokiej klasy warstwę bezpieczeństwa do bloków zawierających wrażliwe informacje.

Może to obejmować wrażliwe informacje bankowe, takie jak historia kredytowa i dane karty kredytowej, tak aby odbiorcy mieli dostęp tylko do niezbędnych bloków, które wymagają informacji o użytkowniku. 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. Przykładem jest to, że użytkownik może udowodnić własność nieruchomości bez publicznego ujawniania swoich danych osobowych.

Zalety stosowania dowodu z wiedzą zerową

Jak każda inna forma nowej technologii, zastosowanie ZKP niesie ze sobą całą masę korzyści, gdy są one używane w połączeniu z protokołami blockchain. Oprócz swobody i elastyczności, jaką oferuje użytkownikom, inne korzyści wynikające ze stosowania dowodów z wiedzą zerową obejmują:

🔷 Prostota: Prostota jest prawdopodobnie najbardziej zauważalną zaletą korzystania z ZKP, ponieważ użytkownicy nie muszą wiedzieć, jak korzystać ze złożonego oprogramowania, aby zastosować różne, doskonałe rozwiązania, które oferują. Co więcej, ZKP są w pełni bezpieczne, mimo że są całkowicie niezaszyfrowane, co oznacza, że ​​płynnie łączą oba światy.

🔷 Bezpieczeństwo: protokoły Zero-Knowledge Proof są bardzo bezpieczne, ponieważ ułatwiają udostępnianie informacji. Oznacza to, że użytkownicy mogą śmiało używać ich do interakcji bez konieczności opanowania jakichkolwiek konkretnych kodów lub analiz.

🔷 Oszczędność czasu: dzięki ZKP użytkownicy oszczędzają czas wymagany do realizacji transakcji blockchain, oferując przyzwoitą wartość.

🔷 Prywatność: Ochrona i zachowanie prywatności użytkowników jest podstawową cechą ZKP. Dzieje się tak dlatego, że użytkownicy nie muszą udostępniać wrażliwych danych, co czyni go protokołem wyjątkowo prywatnym.

🔷 Bezpieczeństwo: Użytkownicy protokołów Zero-Knowledge Proof znają już swoją politykę dotyczącą udostępniania danych, co oznacza, że ​​będą trzymać się z dala od wszelkich podmiotów, które poproszą o ich dane osobowe bez ważnych powodów.

ZKP vs. Obliczenia wielostronne (MPC)

Ustaliliśmy już, że ZKP obejmują unikalny ciąg znaków używany do potwierdzenia autentyczności oświadczenia mającego wartość publiczną bez ujawniania drobniejszych szczegółów odpowiedniej stronie. Może to obejmować ukrytą strukturę jakiejś komunikacji lub tajny klucz powiązany z kluczem publicznym.

W kontekście transakcji typu blockchain może to oznaczać, że inicjator transakcji ukryje jej dokładną wartość, przedstawiając dowód, że faktycznie miała miejsce ważna transakcja.

Obliczenia wielostronne Z drugiej strony (MPC) odnosi się do interaktywnej komunikacji między wieloma stronami, która umożliwia im bezpieczne i jednoczesne obliczenie identycznej funkcji ich nieujawnionych wartości, zachowując szczegóły dla siebie.

Dobrym scenariuszem byłoby, gdyby trzy strony miały tajny numer i każda z nich mogła obliczyć sumę tych trzech liczb. Mimo to strony muszą poznać tajny numer przechowywany przez pozostałych dwóch partnerów, niezależnie od sumy trzech cyfr.

Podstawową cechą MPC jest zatem to, że w sprawę zaangażowanych jest wielu rówieśników, a każdy z nich ma na celu bezpieczną ocenę tajnej wartości funkcji swoich rówieśników, jednocześnie zapewniając swoim rówieśnikom te same przywileje bez ujawniania ich prywatnej wartości osobistej.

Dowód zerowej wiedzy vs. Zero zaufania

Aspekt weryfikacji wyznacza granicę między dowodem wiedzy zerowej a zerowym zaufaniem. Model Zero Trust wymaga ścisłej weryfikacji tożsamości użytkowników i ich urządzeń, zanim będą mogli uzyskać dostęp do aplikacji i poufnych danych.

ZKP natomiast szyfrują dane w taki sposób, że dostęp do nich ma tylko osoba upoważniona. Chociaż weryfikacja tożsamości jest siłą napędową całego mechanizmu Zero Trust, szyfrowanie jest podstawową zasadą protokołu Zero-Knowledge.

Aspekt zakresu również odróżnia oba protokoły, tak że tam, gdzie bezpieczeństwo sieci jest głównym celem Zero Trust, bezpieczeństwo danych jest podstawą Zero Knowledge.

Tam, gdzie stosuje się Zero Trust, aby zapewnić dostęp do poufnych aplikacji lub danych tylko autoryzowanemu i uwierzytelnionemu urządzeniu lub użytkownikowi, Zero Knowledge Proof zabezpiecza dane osobowe poprzez szyfrowanie ich w taki sposób, że dostęp do nich będzie miał tylko upoważniony uczestnik.

Końcowe przemyślenia

Dowód wiedzy zerowej może nie jest magiczny, ale wprowadził nową i ekscytującą granicę w technologii blockchain. Protokół oferuje ogromny potencjał dla szerokiej gamy aplikacji, które działają na poufnych informacjach, takich jak dowód tożsamości, potwierdzenie hasła lub dowód członkostwa.

W miarę jak ZKP zyskują coraz większą uwagę, dzięki swojej skalowalności i właściwościom chroniącym prywatność, są one coraz częściej stosowane w blockchain, kryptowalutach i aplikacjach DeFi. Co więcej, oczekuje się od nich dalszego poszerzania swoich horyzontów, ponieważ odgrywają integralną rolę w ekosystemach DApp, gdzie bezpieczeństwo, prywatność i wydajność mają kluczowe znaczenie.

Dowody wiedzy zerowej, stosowane jako podstawowe narzędzie w kryptografii, pomogą udowodnić właściwości danych i staną się ekscytującym i wszechstronnym brakującym ogniwem, które może wprowadzić technologię blockchain i jej zastosowania do głównego nurtu. Operatorzy Blockchain mogą wykorzystać ZKP najnowszej generacji, aby czerpać z niego ogromne korzyści po przystępnych cenach.

Następnie zapoznaj się ze szczegółowym przewodnikiem dotyczącym bezpieczeństwa Zero Trust.