Null kunnskapsbevis
Et nullkunnskapsbevis, noen ganger også referert til som en ZK-protokoll, er en verifiseringsmetode som finner sted mellom en beviser og en verifikator. I et nullkunnskapssikkert system er beviseren i stand til å bevise for verifikatoren at de har kunnskap om en bestemt informasjon (som løsningen på en matematisk ligning) uten å avsløre selve informasjonen. Disse bevissystemene kan brukes av moderne kryptografer for å gi økte nivåer av personvern og sikkerhet.
Konseptet med et null-kunnskapsbevis ble først beskrevet i en MIT-artikkel fra 1985, utgitt av Shafi Goldwasser og Silvio Micali. De demonstrerte at det var mulig å bevise noen egenskaper ved et nummer uten å avsløre nummeret eller ytterligere informasjon om det. Denne artikkelen introduserte også det matematisk signifikante funnet at interaksjoner mellom en beviser og en verifikator kan redusere mengden informasjon som kreves for å bevise et gitt teorem.
Et ZK-bevis må oppfylle to grunnleggende krav kjent som fullstendighet og forsvarlighet. Fullstendighet refererer til beviserens evne til å demonstrere kunnskap om relevant informasjon med høy grad av sannsynlig nøyaktighet. For at beviset skal være forsvarlig, må verifikatoren være i stand til på en pålitelig måte å fastslå hvorvidt bevisføreren faktisk er i besittelse av informasjonen. Til slutt, for å være virkelig null-kunnskap, må beviset oppnå både fullstendighet og forsvarlighet uten at den aktuelle informasjonen noen gang blir kommunisert mellom beviseren og verifikatoren.
Nullkunnskapsbevis brukes mest for applikasjoner der personvern og sikkerhet er avgjørende. Autentiseringssystemer kan for eksempel bruke ZK-bevis for å bekrefte legitimasjon eller identiteter uten å røpe dem direkte. Som et enkelt eksempel kan det brukes til å verifisere at en person har et passord til et datasystem uten behov for å avsløre hva passordet.
Et fremtredende brukstilfelle av null-kunnskapsbevis er å finne i verden av kryptovaluta og blokkjedeteknologi. Ved å bruke en type bevis kjent som en null-kunnskap Succinct Non-interactive Argument of Knowledge (zk-SNARK), er personvernfokuserte kryptovalutaer som Zcash i stand til å tilby blokkjedetransaksjoner med økte nivåer av personvern til sine brukere. Ethereum jobber også med zk-SNARK-bevis siden Byzantium-oppdateringen i 2017.