In beide die werklike lewe en die digitale wêreld wil ons dikwels dinge aan ander bewys. Voordat hulle 'n kantoorgebou binnegaan, verskaf werknemers gewoonlik 'n soort ID voordat hulle binnekom.
Wanneer gebruikers probeer om by 'n toepassing soos Facebook of Twitter aan te meld, moet hierdie dienste eers die gebruiker vra om met 'n wagwoord aan te meld en soms word 'n eenmalige wagkode (OTP) na hul mobiele toestel gestuur.
'n Nadeel van bewyse is dat ons dikwels ander soorte inligting weggee. Om 'n wagwoord aan 'n webwerf te verskaf, beteken steeds dat die webwerf self 'n kopie van die hashed-wagwoord in sy bedieners hou. As iemand die kantoorgebou se werknemer-ID-skandeerder sou kap, kan hulle dalk almal se private sleutels bekom.
Zero-kennis bewyse of ZKP's bied 'n manier om 'n identiteit of transaksie te bekragtig sonder om bykomende inligting te verskaf. As gevolg van sy toepassings in kriptografie, is ZKP's aangepas deur blockchains om veilige en skaalbare valideringsprotokolle te skep.
Wat is Zero-Kennis Bewyse?
Bewyse van nulkennis is die eerste keer in 1985 deur MIT-navorsers Silvio Micali, Charles Rackoff en Shafi Goldwasser in hul referaat voorgestel. "Die kenniskompleksiteit van interaktiewe bewysstelsels"
Hierdie artikel het die konsep van kenniskompleksiteit bekendgestel. Dit verwys na die hoeveelheid kennis oor 'n bewys wat van die bewyser na die verifieerder oorgedra is. Zero-kennis bewyse het ten doel om 'n party toe te laat om te bewys dat 'n spesifieke stelling aan 'n ander party getrou is sonder om enige ander inligting bekend te maak.
ZKP's kan gebruik word as 'n veilige alternatief vir huidige verifikasiestelsels en kan ook by blockchain-protokolle gevoeg word om transaksies privaat te hou.
Hoe werk ZKP's?
Werklike voorbeeld
Om te illustreer hoe nulkennisbewyse werk, kom ons kyk na 'n abstrakte voorbeeld van 'n ZKP.
Kom ons sê jy het 'n vriend wat rooi-groen kleurblind is. Jy het twee identiese balle wat net in kleur verskil: een rooi en een groen. Vir jou vriend lyk hulle identies, maar as 'n persoon sonder kleurblindheid kan jy hulle maklik van mekaar onderskei.
Is dit moontlik vir jou om aan jou vriend te bewys dat hulle 'n ander kleur is sonder om te verklap watter bal rooi of groen is?
Daar is in werklikheid 'n manier om dit te bewys sonder om die kleure van die balle te openbaar. Eerstens moet jy jou vriend albei balle agter sy rug laat sit en hom vertel om enige bal te wys en dit weer weg te steek. Vervolgens vertel jy vir jou vriend dat hy die keuse het om dieselfde bal weer te wys of dit met die ander te verander.
Elke keer as 'n nuwe bal gewys word, kan jy vir hom sê of hy die bal verander het of nie. As jy aanhou om die regte oproep te raai, word dit meer en meer waarskynlik dat die balle verskillend gekleur is. Jou vriend moet nou oortuig wees dat die balle verskillend gekleur is sonder om vir hom te sê watter balle watter kleur het.
Praktiese Aansoeke
Die meeste praktiese voorbeelde van nulkennisbewyse val in twee tipes.
Eerstens kan ZKP's gebruik word wanneer protokolle ontwerp word. Ons kan verseker dat verskillende partye nie kan kul of voordeel kan trek uit die protokol nie. Tweedens kan ZKP's vir identifikasie gebruik word.
Ons kan byvoorbeeld ZKP's gebruik om veilig by 'n webtoepassing aan te meld sonder om die wagwoord self te openbaar.
Kom ons kyk na 'n paar voorbeelde van hoe ons nulkennisbewyse kan gebruik.
E-stemming
Een algemeen bespreekte toepassing van ZKP's is hul moontlike rol in aanlyn-stemming. Kom ons sê dat ons 'n komende referendum het waar gebruikers oor 'n voorgestelde beleid kan stem. Elke stemgeregtigde kieser word toegelaat om óf 1 óf 0 op die stembrief te stem.
Met behulp van ZKP's kan kiesers hul reg bewys om 'n stembrief uit te bring sonder om hul identiteit bekend te maak. Dit verseker dat elke stem werklik anoniem sal wees. 'n Bykomende ZKP sal ook gebruik word om te bewys dat 'n spesifieke gebruiker se stem deel is van die finale telling van stemme.
Wat die inhoud self van die stembriewe betref, kan die stemstelsel ook 'n nulkennisbewys genereer dat elke stembrief óf 'n 1 óf 0 bevat. Dit word gedoen sonder om die inhoud van die stembrief self te ken.
Blockchain Privaatheid
Blokkettings soos Bitcoin en Ethereum ondersteun nie privaat transaksies nie. Solank jou Bitcoin-beursie publiek is, kan enigiemand na 'n blokverkenner gaan soos Blockstream om alle transaksies te sien waarvan die beursie deel is.
Intussen gee die gebruik van 'n diens soos 'n bank of betaaldienste soos Cash App of Venmo jou die vermoë om privaat transaksies te doen. Hierdie gerief kom egter ten koste daarvan om u inligting aan die gesentraliseerde diens te openbaar.
Ons kan anonimiteit met desentralisasie kombineer deur ZKP's by die blockchain-protokol te voeg. Kriptogeldeenhede soos ZCash gebruik ZKP's om private transaksies te skep wat munthouers toelaat om hul anonimiteit te behou. Verskeie van hierdie kripto-geldeenhede gebruik 'n tipe ZKP bekend as zk-SNARK.
Hierdie ZKP's vereis geen interaksie tussen die bewyser en die verifieerder nie.
Nul-kennis-opsommings
ZK-opsommings is 'n skaalbaarheidsoplossing waarmee buite-kettingtransaksies onmiddellik en met minimale gasfooie geverifieer kan word. Dit is 'n manier om 'n groot aantal Laag 2-transaksies te kombineer en dit op die Laag 1-protokol in te dien.
Benewens die verskaffing van privaatheid, maak ZKP's voorsiening vir die skaal van komplekse stelsels. Blockchain-protokolle kan ZKP's gebruik om te bewys dat gebruikers die regte transaksies vereffen het, die toepaslike balans het, ensovoorts. Hierdie veilige dog skaalbare oplossings is slegs moontlik deur die wiskundige bewyse wat buite die ketting in ZKP's gedoen word.
Protokolle soos Loopring gebruik nulkennisbewyse om transaksies buite die ketting te help verwerk sonder om sekuriteit in gevaar te stel.
Voordele van Zero-Kennis Bewyse
- ZKP's vervang minder betroubare vorme van verifikasie soos PIN's of identifikasiekaarte
- ZKPS verhoog die skaalbaarheid van blokkettings
- Implementering van ZKP vereis eenvoudige enkripsiemetodes
- Die gebruik van ZKPS kan stelsels veiliger maak deur nie te vereis dat onnodige inligting in die stelsel gestoor word nie.
Gevolgtrekking
Dataprivaatheid is reeds 'n groot probleem in beide gesentraliseerde en gedesentraliseerde stelsels. Geen kennisbewyse bied 'n manier vir verskillende partye om transaksies en identiteite te bewys of te valideer sonder om genoemde transaksies of identiteite te openbaar.
Namate blockchain-tegnologie meer algemeen gebruik word, sal die aanvaarding van ZKP's om verifikasie veilig te hanteer die sleutel tot skaalbaarheidskwessies wees.
Lewer Kommentaar