Tiek realiame gyvenime, tiek skaitmeniniame pasaulyje dažnai norime įrodyti dalykus kitiems. Prieš įeidami į biurų pastatą, darbuotojai paprastai pateikia tam tikrą asmens tapatybės dokumentą, prieš įeidami į vidų.
Kai vartotojai bando prisijungti prie programėlės, pvz., „Facebook“ ar „Twitter“, šios paslaugos pirmiausia turi paprašyti vartotojo prisijungti su slaptažodžiu ir kartais į jų mobilųjį įrenginį siunčiamas vienkartinis prieigos kodas (OTP).
Neigiama įrodymų pateikimo pusė yra ta, kad dažnai suteikiame kitokio pobūdžio informaciją. Slaptažodžio pateikimas svetainei vis tiek reiškia, kad pati svetainė savo serveriuose saugo slaptažodžio maišos kopiją. Jei kas nors nulaužtų biuro pastato darbuotojų ID skaitytuvą, jis galėtų gauti kiekvieno asmens privačius raktus.
Nulinių žinių įrodymai arba ZKP suteikia galimybę patvirtinti tapatybę arba operaciją nepateikiant papildomos informacijos. Dėl savo pritaikymo kriptografijoje ZKP pritaikė blokas sukurti saugius ir keičiamo dydžio patvirtinimo protokolus.
Kas yra nulinių žinių įrodymai?
MIT mokslininkai Silvio Micali, Charlesas Rackoffas ir Shafi Goldwasseris 1985 m. savo darbe pirmą kartą pasiūlė nulinių žinių įrodymus. „Interaktyvių įrodymų sistemų žinių sudėtingumas“
Šiame straipsnyje buvo pristatyta žinių sudėtingumo sąvoka. Tai reiškia, kiek žinių apie įrodymą perduoda tikrintojas tikrintojui. Nulinių žinių įrodymais siekiama leisti šaliai įrodyti, kad konkretus teiginys yra teisingas kitai šaliai, neatskleidžiant jokios kitos informacijos.
ZKP gali būti naudojama kaip saugi alternatyva dabartinėms autentifikavimo sistemoms, taip pat gali būti įtraukta į blokų grandinės protokolus, kad operacijos būtų privačios.
Kaip veikia ZKP?
Realaus pasaulio pavyzdys
Norėdami parodyti, kaip veikia nulinių žinių įrodymai, pažvelkime į abstraktų ZKP pavyzdį.
Tarkime, kad turite draugą, kuris yra raudonai žalias daltonikas. Su savimi turite du vienodus kamuoliukus, kurie skiriasi tik spalva: vieną raudoną ir vieną žalią. Jūsų draugui jie atrodo identiški, bet kaip asmenį, neturintį daltonizmo, galite lengvai juos atskirti.
Ar įmanoma įrodyti savo draugui, kad jie yra kitokios spalvos, neatskleidžiant, kuris rutulys yra raudonas ar žalias?
Tiesą sakant, yra būdas tai įrodyti neatskleidžiant kamuoliukų spalvų. Pirmiausia turite leisti savo draugui užsidėti abu kamuoliukus už nugaros ir liepti parodyti bet kurį kamuoliuką ir vėl jį paslėpti. Tada pasakykite savo draugui, kad jis gali pasirinkti dar kartą parodyti tą patį kamuolį arba pakeisti jį kitu.
Kiekvieną kartą, kai parodomas naujas kamuolys, galite jam pasakyti, ar jis pakeitė kamuolį, ar ne. Jei vis atspėsite tinkamą skambutį, vis labiau tikėtina, kad kamuoliukai bus skirtingų spalvų. Jūsų draugas dabar turėtų būti įsitikinęs, kad kamuoliukai yra skirtingų spalvų ir jam nereikia pasakyti, kurie rutuliai yra kokios spalvos.
Praktiniai Programos
Dauguma praktinių nulinių žinių įrodymų pavyzdžių skirstomi į du tipus.
Pirma, ZKP gali būti naudojami kuriant protokolus. Galime užtikrinti, kad skirtingos šalys negalėtų sukčiauti ar pasinaudoti protokolu. Antra, ZKP gali būti naudojami identifikavimui.
Pavyzdžiui, galime naudoti ZKP, kad galėtume saugiai prisijungti prie žiniatinklio programos, neatskleidžiant paties slaptažodžio.
Pažvelkime į kelis pavyzdžius, kaip galime naudoti nulinių žinių įrodymus.
Elektroninis balsavimas
Vienas dažniausiai aptariamas ZKP pritaikymas yra galimas jų vaidmuo balsuojant internetu. Tarkime, kad mūsų laukia referendumas, kuriame vartotojai galės balsuoti dėl siūlomos politikos. Kiekvienas balsavimo teisę turintis asmuo biuletenyje gali balsuoti 1 arba 0.
Naudodamiesi ZKP rinkėjai gali įrodyti savo teisę balsuoti neatskleisdami savo tapatybės. Taip užtikrinama, kad kiekvienas balsas bus tikrai anonimiškas. Papildomas ZKP taip pat bus naudojamas įrodyti, kad konkretaus vartotojo balsas yra galutinės balsų sumos dalis.
Kalbant apie patį biuletenių turinį, balsavimo sistema taip pat gali generuoti nulio žinių įrodymą, kad kiekviename biuletenyje yra 1 arba 0. Tai atliekama nežinant paties biuletenio turinio.
„Blockchain“ privatumas
Blokų grandinės, tokios kaip Bitcoin ir Ethereum, iš esmės nepalaiko privačių sandorių. Kol jūsų „Bitcoin“ piniginė yra vieša, bet kas gali eiti į blokų naršyklę, pvz Blockstream norėdami pamatyti visas operacijas, kurių dalis yra piniginė.
Tuo tarpu naudodamiesi paslauga, pvz., banko ar mokėjimo paslaugomis, tokiomis kaip „Cash App“ ar „Venmo“, galite atlikti operacijas privačiai. Tačiau šis patogumas kainuoja jūsų informacijos atskleidimo centralizuotai tarnybai.
Anonimiškumą galime derinti su decentralizavimu, įtraukdami ZKP į blokų grandinės protokolą. Kriptovaliutos, tokios kaip ZCash, naudoja ZKP, kad sukurtų privačias operacijas, leidžiančias monetų turėtojams išlaikyti savo anonimiškumą. Kai kurios iš šių kriptovaliutų naudoja ZKP tipą, žinomą kaip zk-SNARK.
Šiems ZKP nereikia sąveikos tarp tikrintojo ir tikrintojo.
Nulinių žinių apibendrinimas
„ZK-rollups“ yra mastelio keitimo sprendimas, leidžiantis nedelsiant ir su minimaliais dujų mokesčiais patikrinti ne grandinės operacijas. Jie yra būdas sujungti daug 2 sluoksnio operacijų ir pateikti jas į 1 sluoksnio protokolą.
Be privatumo užtikrinimo, ZKP leidžia keisti sudėtingų sistemų mastelį. „Blockchain“ protokolai gali naudoti ZKP, kad įrodytų, jog vartotojai atliko teisingas operacijas, turi atitinkamą balansą ir pan. Šie saugūs, tačiau keičiamo dydžio sprendimai įmanomi tik naudojant matematinius įrodymus, atliekamus ne grandinėje ZKP.
Tokiuose protokoluose kaip „Loopring“ naudojami nulinių žinių įrodymai, padedantys apdoroti ne grandinės operacijas nepakenkiant saugumui.
Nulinių žinių įrodymų privalumai
- ZKP pakeičia mažiau patikimas autentifikavimo formas, pvz., PIN kodus arba identifikavimo korteles
- ZKPS padidina blokų grandinių mastelį
- Norint įgyvendinti ZKP, reikalingi paprasti šifravimo metodai
- Naudojant ZKPS, sistemos gali būti saugesnės, nes sistemoje nereikia saugoti nereikalingos informacijos.
Išvada
Duomenų privatumas jau dabar yra pagrindinė problema tiek centralizuotose, tiek decentralizuotose sistemose. Nulinių žinių įrodymai suteikia galimybę skirtingoms šalims įrodyti arba patvirtinti sandorius ir tapatybes, neatskleidžiant minėtų sandorių ar tapatybių.
Kadangi „blockchain“ technologija tampa vis plačiau naudojama, ZKP pritaikymas saugiai tvarkyti patikrinimą bus pagrindinis veiksnys dėl mastelio.
Palikti atsakymą