Hvordan verifiserer du informasjon uten å dele tilgang? Dette er utfordringen nullkunnskapsbevis prøver å løse.
Zero-knowledge proof (ZKP) har fått mye popularitet i det siste for ulike formål. Den tillater verifisering av informasjon uten å avsløre de underliggende dataene, og tilbyr dermed en høyere grad av sikkerhet og personvern til sensitiv informasjon.
Men hva er egentlig et nullkunnskapsbevis, hvordan fungerer det, og hva er brukssakene til et nullkunnskapsbevis? La oss finne det ut.
Hva er et nullkunnskapsbevis?
Goldwasser, Micali og Rackoff foreslo null-kunnskapsbevis i papiret deres "Kunnskapskompleksiteten til interaktive bevissystemer."
I et nullkunnskapsbevissystem må en part (beviser) bevise overfor en annen part (verifikator) at en spesifikke utsagn er sanne uten å avsløre noen tilleggsinformasjon bortsett fra at setningen er det ekte. Dette oppnås ved å presentere en minimal mengde informasjon til verifikatoren slik at de kan bekrefte at utsagnet faktisk er sant.
For eksempel vil Paul at Anita skal bevise sin kunnskap om en hemmelig magisk dørs kode som forbinder to stier (A og B) inne i en hule. Anita går gjennom døren flere ganger, starter fra sti A og kommer ut gjennom sti B, mens Paul forblir utenfor.
Ved å gjenta denne bragden flere ganger, beviser Anita at hun kan koden for å åpne den magiske døren inne i hulen uten å avsløre koden til Paul.
Hvordan fungerer et Zero-Knowledge Proof?
Nullkunnskapsbevis fungerer ved at beviseren og verifikatoren utfører en rekke interaksjoner. Disse interaksjonene involverer vanligvis flere kommunikasjonsrunder. Under hver interaksjon konstruerer beviseren bevis som støtter sannheten av beviserens utsagn.
Verifikatoren skaper ofte flere utfordringer knyttet til at utsagnet blir bevist. Og beviseren svarer hver gang med nøye utformet bevis for å overbevise verifikatoren om sannheten til utsagnet uten å avsløre noen informasjon relatert til utsagnet.
Utfordringer og interaksjoner gjentas flere ganger for å eliminere sjansene for at beviseren gjetter om utsagnet.
Et nullkunnskapsbevis lar deg dele bevis på kunnskap med den andre parten uten å avsløre ytterligere detaljer om kunnskapen. For å få det til, avhenger nullkunnskapsprotokollen av algoritmene som tar noen data som input og returnerer utdata som sant eller usant for den gitte inngangen.
Her er tre kriterier som et nullkunnskapssikkert system må tilfredsstille.
1. Fullstendighet
Hvis utsagnet er sant, kan en ærlig bevis overbevise en ærlig verifikatoren om sannheten til utsagnet.
2. Sundhet
Hvis påstanden er usann (som betyr at en bevisst ikke vet den riktige setningen), kan ingen uærlig beviser overbevise en ærlig verifikatoren om sannheten til utsagnet.
3. Null-kunnskap
Zero-knowledge proofs (ZKPs) sikrer at verifikatoren ikke får kunnskap om at påstanden blir bevist, bortsett fra om den er sann eller usann. Videre er verifikatoren ikke i stand til å trekke ut noen informasjon om utsagnet fra beviset fra beviseren, som ble konstruert for å demonstrere sannheten til utsagnet.
Typer nullkunnskapsbevis
Følgende er to hovedtyper av nullkunnskapsbevis å vite om.
Interaktive Zero-Knowledge Proofs
I et interaktivt bevissystem med null kunnskap, konstruerer beviseren bevis om utsagnet og sender det til verifikatoren. Deretter stiller verifikatoren spørsmål og skaper utfordringer. Beviseren svarer på verifikatorens utfordringer og fortsetter samhandlingen. Denne frem og tilbake kommunikasjonsprosessen gjør at verifikatoren kan bli overbevist om sannheten til utsagnet.
Ikke-interaktive Zero-Knowledge Proofs
I et ikke-interaktivt null-kunnskapsbevissystem lager beviseren et enkelt bevis som beviseren kan bekrefte uavhengig uten ytterligere interaksjon.
Av to er interaktive nullkunnskapsbevis mer beregningsintensive ettersom interaktiv ZKP-teknologi gjør ytterligere beregninger på grunn av frem-og-tilbake-interaksjoner.
Null-kunnskapssikker applikasjoner og brukstilfeller
Her er noen brukstilfeller av nullkunnskapsprotokoller.
Autentisering
Zero-knowledge proofs (ZKPs) kan brukes til å autentisere brukere uten å utveksle hemmelig informasjon, for eksempel brukernavn eller passord. Dette kan forbedre brukeropplevelsen og frigjøre selskaper fra å holde store mengder brukerdata på serverne sine.
Private transaksjoner
Blockchain-transaksjoner er ikke private. I stedet er de knyttet til pseudonyme kryptolommebokadresser. Og myndigheter kan spore disse transaksjonene, slik at de kan fange mørke nettkriminelle.
Det er legitimt å fange kriminelle ved å spore disse transaksjonene. Men hva med et undertrykkende regime som holder øye med vanlige kryptobrukere gjennom informasjon som er lagret i den offentlige hovedboken?
Ved å implementere nullkunnskapsbevis kan bedrifter muliggjøre skjermede transaksjoner der avsender- og mottakeradresser og transaksjonsbeløp skjules fra den offentlige blokkjeden.
For eksempel, ZCash og Monero tilbyr private transaksjoner ved hjelp av nullkunnskapsbevis.
Sikrede forsyningskjeder
Bruken av bevis med null kunnskap kan øke sikkerheten i en forsyningskjede. Den kan verifisere dataintegritet, validere leverandørers legitimasjon, bevise autentisiteten til produkter eller tjenester, og muliggjøre sikker sporing uten behov for å avsløre noen sensitiv informasjon.
Videre tillater null-kunnskapsbevis selskaper å bevise overfor regulatorer og myndigheter at de overholder gjeldende lover og industristandarder.
Bekreftelse av privat identitet
Nullkunnskapsbevis bidrar til å beskytte brukernes personvern. Myndigheter kan verifisere enhver persons identitet uten å måtte avsløre sensitiv informasjon.
For eksempel, en desentralisert finans (DeFi) app må kanskje bekrefte at en bruker tilhører et bestemt land. Den tradisjonelle prosessen vil kreve at brukeren sender inn passdetaljer eller førerkortnummer. Men ved hjelp av en tredjeparts ZKP-basert identitetsprotokoll kan brukeren bevise at de er fra en liste over tillatte land selv uten å fortelle landets navn.
Bevis på medlemskap
Null-kunnskapsbevis kan tillate brukere å bevise at de er en del av et stort offentlig sett uten å fortelle hvilken del av det offentlige settet de tilhører.
For eksempel lanserte den nederlandske ING Bank sitt medlemskap med nullkunnskapssett (ZKSM), som lar brukere bevise at de er medlemmer av EU uten å fortelle hvilke land de bor i.
Ulemper ved å bruke et Zero-Knowledge Proof
Nullkunnskapsbevis gir betydelige fordeler. Men de har også noen haker.
Den største utfordringen er maskinvarekostnadene. Generering av nullkunnskapsbevis krever komplekse beregninger, ofte utført på spesialiserte maskiner som er kostbare å kjøpe.
Dessuten krever verifisering av bevis også komplekse beregninger. Så det er ikke mulig å implementere nullkunnskapssikker med mindre selskaper har store budsjetter for det samme.
Også mangelen på opplæringsressurser og utviklerverktøy for ZKP-applikasjoner hindrer en bredere bruk av nullkunnskapsbevis.
Zero-Knowledge Proofs for å forbedre personvernet
Hackere og trusselaktører prøver hele tiden å få tak i den sensitive informasjonen din. Så ta de nødvendige skritt for å beskytte dataene dine. Søk etter applikasjoner basert på bevis med null kunnskap og bruk dem for å beskytte personvernet og sikkerheten din.
Du bør også bruke null-kunnskapskryptering for å beskytte dine sensitive data.