Nii päriselus kui ka digimaailmas tahame sageli teistele asju tõestada. Enne büroohoonesse sisenemist esitavad töötajad tavaliselt enne sisenemist teatud tüüpi isikut tõendava dokumendi.
Kui kasutajad proovivad sisse logida rakendusse, nagu Facebook või Twitter, peavad need teenused esmalt paluma kasutajal sisse logida parooliga ja aeg-ajalt saadetakse nende mobiilseadmesse ühekordne pääsukood (OTP).
Tõendite esitamise negatiivne külg on see, et me anname sageli muud tüüpi teavet. Veebisaidile parooli andmine tähendab ikkagi seda, et veebisait hoiab räsitud parooli koopiat oma serverites. Kui keegi peaks häkkima büroohoone töötajate ID-skanneri, võib ta hankida igaühe privaatvõtmed.
Nullteadmiste tõendid ehk ZKP-d pakuvad võimalust identiteedi või tehingu kinnitamiseks ilma täiendavat teavet esitamata. Tänu oma krüptograafias kasutatavatele rakendustele on ZKP-sid kohandanud plokiahelad turvaliste ja skaleeritavate valideerimisprotokollide loomiseks.
Mis on nullteadmiste tõendid?
Nullteadmiste tõestused pakkusid esmakordselt välja MIT-i teadlased Silvio Micali, Charles Rackoff ja Shafi Goldwasser 1985. aastal oma artiklis. "Interaktiivsete tõestussüsteemide teadmiste keerukus"
Selles artiklis tutvustati teadmiste keerukuse kontseptsiooni. See viitab tõendi kohta tõendajalt kontrollijale üle antud teadmiste hulgale. Nullteadmiste tõendite eesmärk on võimaldada osapoolel tõestada, et konkreetne väide vastab teisele poolele, ilma et ta peaks avaldama muud teavet.
ZKP-sid saab kasutada turvalise alternatiivina praegustele autentimissüsteemidele ja neid saab lisada ka plokiahela protokollidele, et hoida tehingud privaatselt.
Kuidas ZKP-d töötavad?
Näide tegelikust maailmast
Et illustreerida, kuidas nullteadmiste tõestused töötavad, vaatame ZKP abstraktset näidet.
Oletame, et teil on sõber, kes on punakasroheline värvipime. Teil on kaasas kaks ühesugust palli, mis erinevad ainult värvi poolest: üks punane ja teine roheline. Teie sõbrale tunduvad nad identsed, kuid värvipimeduseta inimesena saate neid kergesti eristada.
Kas teil on võimalik oma sõbrale tõestada, et need on erinevat värvi, paljastamata, milline pall on punane või roheline?
Tegelikult on võimalus seda tõestada ilma pallide värve paljastamata. Esiteks peate laskma oma sõbral mõlemad pallid selja taha panna ja käskima tal näidata mis tahes palli ja peita see uuesti. Järgmisena ütlete oma sõbrale, et tal on valida, kas näidata sama palli uuesti või vahetada see teisega.
Iga kord, kui näidatakse uut palli, saate talle öelda, kas ta vahetas palli või mitte. Kui muudkui mõistate õiget kõnet, on üha tõenäolisem, et pallid on erinevat värvi. Teie sõber peaks nüüd olema veendunud, et pallid on erinevat värvi, ilma et peaksite talle ütlema, millised pallid on mis värvi.
Praktilised rakendused
Enamik praktilisi nullteadmiste tõestuste näiteid jaguneb kahte tüüpi.
Esiteks saab ZKP-sid kasutada protokollide koostamisel. Saame tagada, et erinevad osapooled ei saaks petta ega protokolli ära kasutada. Teiseks saab tuvastamiseks kasutada ZKP-sid.
Näiteks saame ZKP-de abil turvaliselt veebirakendusse sisse logida, ilma et peaksime parooli ise avaldama.
Vaatame mõnda näidet selle kohta, kuidas kasutada nullteadmiste tõestust.
E-hääletamine
Üks ZKP-de sageli arutatud rakendus on nende võimalik roll veebihääletusel. Oletame, et meil on tulemas rahvahääletus, kus kasutajad saavad pakutud poliitika üle hääletada. Igal hääleõiguslikul isikul on lubatud hääletada sedelil kas 1 või 0.
ZKP-sid kasutades saavad valijad tõestada oma õigust hääletada ilma oma isikut paljastamata. See tagab, et iga hääl on tõeliselt anonüümne. Täiendavat ZKP-d kasutatakse ka tõestamaks, et konkreetse kasutaja hääl on osa häälte lõplikust loendusest.
Sedelite sisu osas võib hääletussüsteem genereerida ka nullteadmiste tõendi selle kohta, et iga sedel sisaldab kas 1 või 0. Seda tehakse ilma sedeli enda sisu teadmata.
Blockchaini privaatsus
Plokiahelad, nagu Bitcoin ja Ethereum, ei toeta privaatseid tehinguid. Kuni teie Bitcoini rahakott on avalik, võib igaüks minna plokiuurijasse, näiteks Blockstream et näha kõiki tehinguid, mille osaks rahakott on.
Samal ajal annab teenuse (nt panga) või makseteenuste (nt Cash App või Venmo) kasutamine teile võimaluse teha tehinguid privaatselt. See mugavus tuleb aga teie teabe tsentraliseeritud teenusele avaldamise hinnaga.
Saame ühendada anonüümsuse detsentraliseerimisega, lisades plokiahela protokolli ZKP-d. Krüptovaluutad nagu ZCash kasutavad privaatsete tehingute loomiseks ZKP-sid, mis võimaldavad mündiomanikel oma anonüümsust säilitada. Mitmed neist krüptovaluutadest kasutavad ZKP-d, mida tuntakse zk-SNARKina.
Need ZKP-d ei nõua tõestaja ja kontrollija vahelist suhtlust.
Nullteadmiste koondlehed
ZK-rollups on skaleeritav lahendus, mis võimaldab ahelaväliseid tehinguid kontrollida koheselt ja minimaalsete gaasitasudega. Need on viis ühendada suur hulk 2. kihi tehinguid ja esitada need 1. kihi protokolli.
Lisaks privaatsuse pakkumisele võimaldavad ZKP-d keerukate süsteemide skaleerimist. Plokiahela protokollid võivad kasutada ZKP-sid, et tõestada, et kasutajad on õiged tehingud arveldanud, neil on sobiv saldo jne. Need turvalised, kuid skaleeritavad lahendused on võimalikud ainult ZKP-des ahelaväliselt tehtud matemaatiliste tõestuste abil.
Protokollid, nagu Loopring, kasutavad nullteadmiste tõendeid, et aidata töödelda ahelaväliseid tehinguid ilma turvalisust ohustamata.
Nullteadmiste tõendite eelised
- ZKP-d asendavad vähem usaldusväärseid autentimisvorme, nagu PIN-koodid või isikutunnistused
- ZKPS suurendab plokiahelate mastaapsust
- ZKP juurutamine nõuab lihtsaid krüpteerimismeetodeid
- ZKPS-i kasutamine võib muuta süsteemid turvalisemaks, kuna ei nõua süsteemis tarbetu teabe salvestamist.
Järeldus
Andmete privaatsus on nii tsentraliseeritud kui ka detsentraliseeritud süsteemides juba praegu suur probleem. Nullteadmiste tõendid annavad erinevatele osapooltele võimaluse tehinguid ja identiteete tõestada või kinnitada, ilma et nad peaksid neid tehinguid või identiteete avaldama.
Kuna plokiahela tehnoloogiat kasutatakse laialdasemalt, on mastaapsuse probleemide võtmeks ZKP-de kasutuselevõtt kontrollimise turvaliseks käsitlemiseks.
Jäta vastus