Hem
Ordlista
Nollkunskapsbevis

Nollkunskapsbevis

Medelnivå

Ett nollkunskapsbevis, ibland även kallat ett zk-protokoll, är en verifieringsmetod som sker mellan en som bevisar och en som verifierar. I ett system med nollkunskapsbevis kan den som bevisar bevisa för den som verifierar att den som bevisar har kunskap om viss information (såsom lösningen på en matematisk ekvation) utan att avslöja själva informationen. Dessa bevissystem kan användas av moderna kryptografer för att ge ökade integritets- och säkerhetsnivåer.

Begreppet nollkunskapsbevis beskrevs först i en MIT-artikel från 1985 som publicerats av Shafi Goldwasser och Silvio Micali. De visade att det var möjligt att bevisa vissa egenskaper hos ett nummer, utan att avslöja numret eller någon ytterligare information om det. Denna artikel introducerade också det matematiskt signifikanta fyndet att interaktioner mellan en som bevisar och en som verifierar kan minska mängden information som krävs för att bevisa en given sats. 

Ett zk-bevis måste uppfylla två grundläggande krav. Dessa kallas fullständighet och sundhet. Fullständighet avser förmågan från den som bevisar att visa kunskap om relevant information till en hög grad av sannolik noggrannhet. För att beviset ska vara sunt måste den som verifierar på ett tillförlitligt sätt kunna avgöra om den som bevisar faktiskt innehar informationen eller inte. För att verkligen vara nollkunskap måste beviset dessutom uppnå både fullständighet och sundhet, utan att informationen i fråga någonsin kommuniceras mellan den som bevisar och den som verifierar.

Nollkunskapsbevis används mest för tillämpningar där integritet och säkerhet är väsentliga. Autentiseringssystem kan till exempel använda zk-bevis för att verifiera referenser eller identiteter, utan att direkt avslöja dem. Som ett enkelt exempel kan det användas för att verifiera att en person har ett lösenord till ett datorsystem, utan att behöva avslöja vad lösenordet är. 

Ett framträdande och verkligt användningsområde för nollkunskapsbevis är i världen med kryptovaluta och blockkedjeteknik. Med hjälp av en typ av bevis som kallas för zero-knowledge Succinct Non-interactive Argument of Knowledge (zk-SNARK) kan kryptovalutor med fokus på sekretess såsom Zcash erbjuda blockkedjetransaktioner med ökad integritetsnivå till sina användare. Ethereum arbetar också med zk-SNARK-bevis sedan dess Byzantium-uppdatering under 2017.