Si në jetën reale ashtu edhe në botën dixhitale, ne shpesh duam t'u provojmë gjëra të tjerëve. Përpara se të hyjnë në një ndërtesë zyre, punonjësit zakonisht japin një lloj ID përpara se të hyjnë brenda.
Kur përdoruesit përpiqen të identifikohen në një aplikacion si Facebook ose Twitter, këto shërbime duhet së pari t'i kërkojnë përdoruesit të identifikohet me një fjalëkalim dhe herë pas here një kod kalimi një herë (OTP) dërgohet në pajisjen e tyre celulare.
Një dobësi e ofrimit të provave është që ne shpesh japim lloje të tjera informacioni. Sigurimi i një fjalëkalimi për një faqe interneti do të thotë ende që vetë faqja e internetit mban një kopje të fjalëkalimit të hashuar në serverët e saj. Nëse dikush do të hakonte skanerin e identifikimit të punonjësve të ndërtesës së zyrës, ai mund të jetë në gjendje të marrë çelësat privatë të të gjithëve.
Provat me njohuri zero ose ZKP-të ofrojnë një mënyrë për të vërtetuar një identitet ose transaksion pa pasur nevojë të jepni informacion shtesë. Për shkak të aplikimeve të tij në kriptografi, ZKP-të janë përshtatur nga blockchains për të krijuar protokolle validimi të sigurta dhe të shkallëzueshme.
Cilat janë provat me njohuri zero?
Provat e njohurive zero u propozuan për herë të parë nga studiuesit e MIT Silvio Micali, Charles Rackoff dhe Shafi Goldwasser në vitin 1985 në punimin e tyre. "Kompleksiteti i njohurive të sistemeve të provës ndërvepruese"
Ky punim prezantoi konceptin e kompleksitetit të njohurive. Kjo i referohet sasisë së njohurive për një provë të transferuar nga verifikuesi te verifikuesi. Provat me njohuri zero synojnë të lejojnë një palë të provojë se një deklaratë specifike është e vërtetë për një palë tjetër pa pasur nevojë të zbulojë ndonjë informacion tjetër.
ZKP-të mund të përdoren si një alternativë e sigurt për sistemet aktuale të vërtetimit dhe gjithashtu mund të shtohen në protokollet e blockchain për të mbajtur transaksionet private.
Si funksionojnë ZKP-të?
Shembull i botës reale
Për të ilustruar se si funksionojnë provat me njohuri zero, le të hedhim një vështrim në një shembull abstrakt të një ZKP.
Le të themi se ju keni një mik që është verbër kuq-jeshile. Ju keni me vete dy topa identikë që ndryshojnë vetëm në ngjyrë: një i kuq dhe një jeshil. Për shokun tuaj, ato duken identike, por si një person pa verbëri ngjyrash, mund t'i dalloni lehtësisht.
A është e mundur që ju t'i dëshmoni shokut tuaj se ato kanë një ngjyrë të ndryshme pa treguar se cili top është i kuq apo jeshil?
Në fakt, ekziston një mënyrë për ta vërtetuar këtë pa i zbuluar ngjyrat e topave. Së pari, duhet ta lini mikun tuaj t'i vendosë të dy topat pas shpine dhe t'i thoni që të tregojë ndonjë top dhe ta fshehë përsëri. Më pas, i tregoni mikut tuaj se ai ka zgjedhjen të tregojë përsëri të njëjtin top ose ta ndërrojë atë me tjetrin.
Sa herë që shfaqet një top i ri, ju mund t'i tregoni atij nëse ai e ndërroi topin apo jo. Nëse vazhdoni të supozoni thirrjen e duhur, ka gjithnjë e më shumë gjasa që topat të jenë me ngjyra të ndryshme. Miku juaj tani duhet të jetë i bindur se topat janë me ngjyra të ndryshme, pa pasur nevojë t'i tregojë atij se cilat topa kanë çfarë ngjyre.
Aplikime praktike
Shumica e shembujve praktikë të provave me njohuri zero ndahen në dy lloje.
Së pari, ZKP-të mund të përdoren gjatë dizajnimit të protokolleve. Ne mund të sigurojmë që palë të ndryshme nuk mund të mashtrojnë ose të përfitojnë nga protokolli. Së dyti, ZKP-të mund të përdoren për identifikim.
Për shembull, ne mund të përdorim ZKP për t'u identifikuar në një aplikacion në ueb në mënyrë të sigurtë pa pasur nevojë të zbulojmë vetë fjalëkalimin.
Le të shohim disa shembuj se si mund të përdorim provat me njohuri zero.
Votimi elektronik
Një aplikim i diskutuar zakonisht i ZKP-ve është roli i tyre i mundshëm në votimin online. Le të themi se kemi një referendum të ardhshëm ku përdoruesit mund të votojnë për një politikë të propozuar. Çdo votues me të drejtë vote lejohet të votojë ose 1 ose 0 në fletëvotim.
Duke përdorur ZKP-të, votuesit mund të provojnë të drejtën e tyre për të votuar pa zbuluar identitetin e tyre. Kjo siguron që çdo votë të jetë vërtet anonime. Një ZKP shtesë do të përdoret gjithashtu për të vërtetuar se vota e një përdoruesi të caktuar është pjesë e numërimit përfundimtar të votave.
Për sa i përket vetë përmbajtjes së fletëve të votimit, sistemi i votimit mund të gjenerojë gjithashtu një provë me njohuri zero se çdo fletë votimi përmban ose 1 ose 0. Kjo realizohet pa pasur nevojë të dihet vetë përmbajtja e fletës së votimit.
Privatësia e Blockchain
Blockchains si Bitcoin dhe Ethereum nuk mbështesin në mënyrë të pavarur transaksione private. Për sa kohë që portofoli juaj Bitcoin është publik, çdokush mund të shkojë te një eksplorues blloku si p.sh Blockstream për të parë të gjitha transaksionet në të cilat është pjesë portofoli.
Ndërkohë, përdorimi i një shërbimi të tillë si një bankë ose shërbime pagesash si Cash App ose Venmo ju jep mundësinë për të kryer transaksione private. Megjithatë, kjo lehtësi vjen me koston e zbulimit të informacionit tuaj në shërbimin e centralizuar.
Ne mund të kombinojmë anonimitetin me decentralizimin duke shtuar ZKP në protokollin blockchain. Kriptovalutat si ZCash përdorin ZKP për të krijuar transaksione private që lejojnë mbajtësit e monedhave të ruajnë anonimitetin e tyre. Disa nga këto kriptovaluta përdorin një lloj ZKP të njohur si zk-SNARK.
Këto ZKP nuk kërkojnë ndërveprim midis proverit dhe verifikuesit.
Përmbledhje me njohuri zero
ZK-rollups janë një zgjidhje e shkallëzueshmërisë që lejon transaksionet jashtë zinxhirit të verifikohen menjëherë dhe me tarifa minimale të gazit. Ato janë një mënyrë për të kombinuar një numër të madh transaksionesh të Shtresës 2 dhe për t'i dorëzuar ato në protokollin e Shtresës 1.
Përveç sigurimit të privatësisë, ZKP lejon shkallëzimin e sistemeve komplekse. Protokollet e Blockchain mund të përdorin ZKP për të vërtetuar se përdoruesit kanë kryer transaksionet e duhura, kanë balancën e duhur etj. Këto zgjidhje të sigurta por të shkallëzueshme janë të mundshme vetëm përmes provave matematikore të bëra jashtë zinxhirit në ZKP.
Protokollet si Loopring përdorin prova me njohuri zero për të ndihmuar në përpunimin e transaksioneve jashtë zinxhirit pa pasur nevojë të komprometojnë sigurinë.
Përfitimet e provave me njohuri zero
- ZKP-të zëvendësojnë format më pak të besueshme të vërtetimit si PIN-et ose kartat e identifikimit
- ZKPS rrit shkallëzueshmërinë e blockchains
- Zbatimi i ZKP kërkon metoda të thjeshta enkriptimi
- Përdorimi i ZKPS mund t'i bëjë sistemet më të sigurta duke mos kërkuar që informacione të panevojshme të ruhen në sistem.
Përfundim
Privatësia e të dhënave është tashmë një çështje kryesore në sistemet e centralizuara dhe të decentralizuara. Provat me njohuri zero ofrojnë një mënyrë për palët e ndryshme për të provuar ose vërtetuar transaksionet dhe identitetet pa pasur nevojë të zbulojnë transaksionet ose identitetet e përmendura.
Ndërsa teknologjia blockchain po përdoret më gjerësisht, miratimi i ZKP-ve për të trajtuar verifikimin në mënyrë të sigurt do të jetë çelësi për shqetësimet e shkallëzimit.
Lini një Përgjigju