Šta je Zero Knowledge Proof (ZKP)?
Zero Knowledge Proof (ZKP) je način da dokažete da je nešto tačno, a da ne otkrijete podatke koji stoje iza toga. Zamislite da dokazujete da znate lozinku, a da je ne unosite, ili potvrđujete da imate više od 21 godine, a da ne pokazujete datum rođenja. Deluje magično, ali zasniva se na matematici.
ZKP-ovi skrivaju sve, pa služe za sumnjive aktivnosti. Nije baš tako. ZKP dokazuje konkretnu tvrdnju koju definišete, a verifikator i dalje može rigorozno da je proveri, a da ne vidi vaše tajne.
Kako funkcioniše Zero Knowledge Proof (ZKP)
Evo kratkog objašnjenja kroz jednostavan primer. Želite da dokažete da imate dovoljno sredstava za trgovinu, a da ne otkrijete stanje na računu.
- Korak 1: Izaberete tvrdnju, na primer: moje stanje je najmanje X, i pomoću slučajnih podataka obavezujete se na skrivene podatke.
- Korak 2: Na osnovu tih skrivenih podataka i javnih informacija generišete dokaz tako da matematička provera uspe.
- Korak 3: Šaljete dokaz verifikatoru, a ne tajnu.
- Korak 4: Verifikator obavlja proveru koja dokaz ili prihvata ili odbacuje. Ne zaviruje u stanje na vašem računu.
- Korak 5: Ako je dokaz prihvaćen, svako kasnije može ponovo da proveri isti dokaz, bez potrebe da vam se obrati.
U pozadini se oslanja na ozbiljnu kriptografiju. Da, matematika čuva dokaze.
Zašto je Zero Knowledge Proof (ZKP) važan
Zašto bi vam to bilo važno? Evo tri kratka razloga.
- Prednost: Dokazujete ono što je potrebno, a ostalo zadržavate za sebe. Manje curenja podataka, manji rizik.
- Perspektiva: Aplikacije koje prikupljaju minimum podataka deluju savremeno — kao spoj Rolexa i Reddit diskusija. Delite samo ono što je neophodno.
- Relevantnost: ZK ćete sretati u rollupovima, privatnim transferima i proverama identiteta na svakom ozbiljnom blockchainu.
Kada čujete da neka aplikacija koristi ZK, postavite dva pitanja: šta se tačno dokazuje i da li je bilo potrebno pouzdano početno podešavanje. Takođe, ako vam je važna kontrola nad podacima, ZK dobro ide uz kvalitetne prakse za privatnost, i van samog dokaza.
Ključne karakteristike Zero Knowledge Proof (ZKP)
Po čemu se izdvaja, jednostavnim rečima.
- Privatnost: Verifikatori saznaju da je tvrdnja tačna, a da ne saznaju vašu tajnu.
- Kratkoća: Dokazi mogu biti veoma kratki i brzo se proveravati, čak i na chainu.
- Brzina: Verifikacija zahteva manje resursa nego ponovno računanje celog postupka.
- Kombinovanje: Možete povezivati dokaze ili objediniti mnogo provera u jednu.
- Skalabilnost: Ovo poboljšava skalabilnost tako što se zahtevni poslovi premeštaju sa verifikatora, uz očuvanje ispravnosti.
Varijante
Različite varijante odgovaraju različitim namerama.
- SNARK-ovi: Kratki dokazi i brza verifikacija, ali obično zahtevaju pouzdano početno podešavanje.
- STARK-ovi: Ne zahtevaju pouzdano početno podešavanje, imaju veće dokaze i pogodni su za istraživanja postkvantne kriptografije.
- Bulletproofs: Odlični za provere opsega, često se koriste za privatne iznose.
- Sigma: Klasičan interaktivni pristup koji se predaje na mnogim kursevima.
ZKP sam po sebi ne štiti vašu aplikaciju. Ako je tvrdnja preslaba ili je podešavanje nemarno, dokaz i dalje može biti tačan, ali beskoristan. Pažljivo osmislite tvrdnju.
Primer
U jednom gradu se održavaju izbori na kojima glasači dokazuju da imaju pravo glasa i da još nisu glasali, dok njihov identitet ostaje skriven od javnosti prilikom prebrojavanja glasova.
Zanimljivost
Klasičan trik za objašnjavanje ZK-a koristi dve jednake loptice različitih boja i test sa povezom preko očiju, kako bi pokazao da možete da utvrdite da se razlikuju, a da ne otkrijete koja je koja. Pomalo štreberski, ali uspeva.
Zaključak
Ukratko, Zero Knowledge Proof (ZKP) omogućava dokazivanje bez otkrivanja viška informacija, pa možete da kažete: mogu to da dokažem, a da ne pokažem.
.