Preskoči na glavni sadržaj

Dokaz nulte spoznaje

(Zero-Knowledge Proof)

Dokaz nulte spoznaje kriptografska je metoda za dokazivanje da je tvrdnja istinita, primjerice „nositelj je stariji od 18 godina”, bez otkrivanja bilo kojih temeljnih podataka na kojima se tvrdnja temelji, poput stvarnog datuma rođenja.

Dok selektivno otkrivanje nositelju omogućuje da otkrije odabrane tvrdnje takve kakve jesu, dokaz bez otkrivanja znanja (zero-knowledge proof) ne otkriva ništa: verifikator saznaje samo da tvrdnja vrijedi, potkrijepljeno dokazom koji može provjeriti prema potpisu izdavatelja. Ovo je jače jamstvo privatnosti od selektivnog otkrivanja i aktivno područje standardizacije za buduće formate vjerodajnica u ekosustavu EUDI novčanika. Dokaz je izgrađen tako da ga svatko može provjeriti prema javnim parametrima i potpisu izdavatelja, a ipak se nijedna kombinacija dokaza predanih različitim verifikatorima ne može povezati natrag s istom vjerodajnicom ili međusobno, čime se uklanja rizik korelacije koji proizlazi iz ponovljenog pokazivanja iste potpisane vrijednosti. Jednostavna vjerodajnica sa selektivnim otkrivanjem i dalje omogućuje dvama verifikatorima koji se dogovore da usporede hashiranu tvrdnju i zaključe da je isti nositelj posjetio oboje, dok dokaz bez otkrivanja znanja iste tvrdnje svaki put izgleda drugačije. Kompromis je računalni trošak i složenost: generiranje i provjera dokaza bez otkrivanja znanja zahtijevaju više procesorske snage od provjere običnog potpisa, a kriptografske sheme koje se koriste, poput BBS+ potpisa ili zk-SNARK-ova, novije su i manje standardizirane od hash-temeljenog selektivnog otkrivanja koje je već implementirano u SD-JWT-u. Nekoliko referentnih implementacija i pilot-projekata EUDI novčanika ocjenjuje tehnike bez otkrivanja znanja kao budući put nadogradnje za atribute kod kojih je nepovezivost najvažnija, poput provjera dobi ili državljanstva koje se ponavljaju kod mnogo nepovezanih usluga.

Znači li korištenje dokaza bez otkrivanja znanja da verifikator mora slijepo vjerovati nositelju?

Ne. Verifikator se i dalje oslanja na kriptografiju, a ne na povjerenje u nositelja. Dokaz matematički veže tvrdnju uz izvorni potpis izdavatelja, tako da verifikator može biti siguran da je tvrdnja istinita i neizmijenjena, iako nikad ne vidi temeljne podatke, isto jamstvo kakvo daje običan potpis, samo bez otkrivanja vrijednosti iza njega.

Natrag na rječnik