theme switch

Jak działa i czym jest Zero-knowledge proof (ZKP)?

Koncept zero-knowledge proof opracowany został w 1985 roku przez trzech profesorów w instytucie technicznym w Masachussets (ang. Massachusetts Institute of Technology). Wyniki zostały opublikowane w publikacji pod tytułem „Złożoność wiedzy interaktywnych systemów dowodowych”. W największym uproszczeniu wykazali oni, że są w stanie wykazać pewne właściwości jakie mają dane liczby, bez ujawniania wiedzy na temat tego, jakie są to liczby.

Jakie założenia zawiera koncept zero-knowledge proof ?

Całe założenie zero-knowledge proof polega więc na tym, żebyśmy my (jako dowodzący) byli w stanie udowodnić drugiej stronie (weryfikatorowi), że coś jest prawdą, bez ujawniania jakichkolwiek informacji poza faktem, że to konkretne stwierdzenie jest prawdziwe. Na przestrzeni kilku następnych lat zagadnienie to było dość mocno rozwijane i dziś posiada kilka rzeczywistych zastosowań np. w technologii blockchain i nie tylko. Najczęstszym wykorzystaniem są aplikacje, w których stawia się na wysoki poziom bezpieczeństwa i prywatności. Wiele systemów wierzytelności wykorzystuje go do weryfikacji tożsamości.

W świecie kryptowalut mechanizm ten wykorzystywany jest do zwiększenia prywatności transakcji w niektórych sieciach. Najbardziej rozpoznawalną z nich jest sieć ethereum i od 2017 roku pracuje nad wdrożeniem ZK-SNARKS ( Zero Knowledge Succinct Non-interactive Argument of Knowledge), czyli zwięzłych i nieinteraktywnych dowodów opartych o  koncept wiedzy zerowej. Funkcjonalność ta działa już sprawnie w kryptowalucie Z-Cash, której deweloperzy skupiają się głównie na zachowaniu jak największej prywatności transakcji.

Ma ona zmieniony sposób udostępniania danych, ponieważ transakcje mimo tego że są emitowane do sieci pozostają zaszyfrowane, a ich weryfikacja jest możliwa właśnie poprzez wykorzystanie konceptu zero-knowledge proof. Walidatorzy, którzy stosują się do konsensusu panującego w sieci nie muszą znać szczegółowych danych z takiej transakcji, a mimo to są w stanie bez tego stwierdzić, czy jest ona poprawna czy nie.  Głównym celem tego działania jest ujawnienie jak najmniejszej ilości danych obu stronom transakcji. Po ustaleniu publicznych parametrów, które w tym przypadku narzuca konsensus sieci walidatorzy nie muszą wchodzić bezpośrednio w interakcje z użytkownikami, co pozwala zachować większą anonimowość, znosi konieczność wchodzenia w interakcje, a całość zajmuje bardzo niewiele czasu.

 

 

Powiązane

Jakie najważniejsze języki programowania wykorzystują sieci blockchain?

Masternodes - czym są i kiedy miały one swój szczyt popularności?

» więcej artykułów