Cum verifici informațiile fără a partaja accesul? Aceasta este provocarea pe care încearcă să o rezolve dovezile cu cunoștințe zero.
Zero-knowledge proof (ZKP) câștigă multă popularitate în ultima vreme pentru diverse scopuri. Permite verificarea informațiilor fără a dezvălui datele subiacente, oferind astfel un grad mai ridicat de securitate și confidențialitate informațiilor sensibile.
Dar ce este exact o dovadă cu cunoștințe zero, cum funcționează și care sunt cazurile de utilizare ale unui sistem de dovezi cu cunoștințe zero? Să aflăm.
Ce este o dovadă de cunoștințe zero?
Goldwasser, Micali și Rackoff au propus dovezi de zero cunoștințe în lucrarea lor "Complexitatea cunoștințelor sistemelor interactive de probă."
Într-un sistem de verificare a cunoștințelor zero, o parte (dovator) trebuie să dovedească altei părți (verificator) că un afirmația specifică este adevărată fără a dezvălui informații suplimentare, cu excepția faptului că propoziția este Adevărat. Acest lucru se realizează prin prezentarea unei cantități minime de informații verificatorului, astfel încât acesta să poată confirma că afirmația este într-adevăr adevărată.
De exemplu, Paul vrea ca Anita să-și demonstreze cunoștințele despre codul unei uși magice secrete care leagă două căi (A și B) în interiorul unei peșteri. Anita trece pe ușă de mai multe ori, pornind de la Calea A și ieșind pe Calea B, în timp ce Paul rămâne afară.
Repetând această ispravă de mai multe ori, Anita demonstrează că știe codul pentru a deschide ușa magică din interiorul peșterii fără a-i dezvălui codul lui Paul.
Cum funcționează o dovadă de cunoștințe zero?
Dovezile cu cunoștințe zero funcționează prin faptul că demonstratorul și verificatorul efectuează o serie de interacțiuni. Aceste interacțiuni implică de obicei mai multe runde de comunicare. În timpul fiecărei interacțiuni, demonstratorul construiește o dovadă care susține veridicitatea afirmației acestuia.
Verificatorul creează adesea mai multe provocări legate de declarația care este dovedită. Iar probatorul răspunde de fiecare dată cu dovezi elaborate cu atenție pentru a convinge verificatorul de veridicitatea declarației fără a dezvălui nicio informație legată de declarație.
Provocările și interacțiunile sunt repetate de mai multe ori pentru a elimina șansele ca probatorul să ghicească despre afirmație.
O dovadă fără cunoștințe vă permite să împărtășiți dovada cunoștințelor cu cealaltă parte fără a dezvălui detalii suplimentare despre cunoștințe. Pentru ca acest lucru să se întâmple, protocolul zero-cunoștințe depinde de algoritmii care preiau unele date ca intrare și returnează rezultatul ca adevărat sau fals pentru intrarea dată.
Iată trei criterii pe care trebuie să le îndeplinească un sistem de demonstrare a cunoștințelor zero.
1. Completitudine
Dacă afirmația este adevărată, un doveditor onest poate convinge un verificator onest de veridicitatea afirmației.
2. Soliditatea
Dacă afirmația este falsă (adică un doveditor nu cunoaște afirmația corectă), atunci niciun probator necinstit nu poate convinge un verificator onest cu privire la veridicitatea afirmației.
3. Cunoaștere Zero
Dovezile cu cunoștințe zero (ZKPs) asigură că verificatorul nu obține cunoștințe despre afirmația care este dovedită, cu excepția faptului că este adevărată sau falsă. În plus, verificatorul nu poate extrage nicio informație despre declarație din dovada furnizată de probator, care a fost construită pentru a demonstra veridicitatea declarației.
Tipuri de dovezi cu cunoștințe zero
Următoarele sunt două tipuri principale de dovezi cu cunoștințe zero de care trebuie să știți.
Dovezi interactive Zero-Knowledge
Într-un sistem interactiv de dovezi cu zero cunoștințe, probatorul construiește o dovadă despre declarație și o trimite verificatorului. Apoi, verificatorul pune întrebări și creează provocări. Dovatorul răspunde provocărilor verificatorului și continuă interacțiunea. Acest proces de comunicare dus-întors permite verificatorului să fie convins de veridicitatea afirmației.
Dovezi non-interactive Zero-Knowledge
Într-un sistem non-interactiv de dovedire a cunoștințelor zero, probatorul creează o singură dovadă pe care probatorul o poate verifica independent, fără nicio interacțiune ulterioară.
Din două, dovezile interactive cu cunoștințe zero sunt mai intense din punct de vedere computațional, deoarece tehnologia interactivă ZKP face calcule suplimentare datorită interacțiunilor dus-întors.
Aplicații și cazuri de utilizare fără cunoștințe
Iată câteva cazuri de utilizare ale protocoalelor cu cunoștințe zero.
Autentificare
Dovezi cu cunoștințe zero (ZKPs) poate fi folosit pentru autentificarea utilizatorilor fără a face schimb de informații secrete, cum ar fi nume de utilizator sau parole. Acest lucru poate îmbunătăți experiența utilizatorului și poate elibera companiile de la păstrarea unor cantități mari de date despre utilizatori pe serverele lor.
Tranzacții private
Tranzacțiile blockchain nu sunt private. În schimb, acestea sunt legate de adrese pseudonime ale portofelului cripto. Iar guvernele pot urmări aceste tranzacții, permițându-le să prindă criminali din dark net.
Este legitim să prinzi infractorii urmărind acele tranzacții. Dar ce zici de un regim opresiv care ține sub control utilizatorii obișnuiți de criptomonede prin informațiile stocate în registrul public?
Prin implementarea dovezilor de zero cunoștințe, companiile pot activa tranzacții protejate în care adresele expeditorului și destinatarului și sumele tranzacțiilor sunt ascunse de blockchain-ul public.
De exemplu, ZCash și Monero oferă tranzacții private folosind dovezi de cunoștințe zero.
Lanțuri de aprovizionare securizate
Utilizarea dovezilor zero-cunoștințe poate spori securitatea într-un lanț de aprovizionare. Poate verifica integritatea datelor, poate valida acreditările furnizorilor, poate dovedi autenticitatea produselor sau serviciilor și poate permite urmărirea securizată fără a fi nevoie să dezvăluie informații sensibile.
Mai mult, dovezile de zero cunoștințe permit companiilor să demonstreze autorităților de reglementare și autorităților că respectă legile aplicabile și standardele din industrie.
Verificarea identității private
Dovezile fără cunoștințe ajută la protejarea confidențialității utilizatorilor. Autoritățile pot verifica identitatea oricărei persoane fără a fi nevoie să dezvăluie informații sensibile.
De exemplu, a aplicație de finanțare descentralizată (DeFi). poate fi necesar să verifice dacă un utilizator aparține unei anumite țări. Procesul tradițional va cere utilizatorului să trimită detaliile pașaportului sau numărul permisului de conducere. Dar, cu ajutorul unui protocol de identitate terță parte bazat pe ZKP, utilizatorul poate dovedi că este dintr-o listă de țări permise chiar și fără a-și spune numele țării.
Dovada calității de membru
Dovada zero-cunoștințe poate permite utilizatorilor să demonstreze că fac parte dintr-un set public mare, fără a spune cărei părți din setul public aparțin.
De exemplu, Banca olandeză ING și-a lansat statutul de membru zero-knowledge set (ZKSM), permițând utilizatorilor să demonstreze că sunt membri ai Uniunii Europene fără a spune în ce țări locuiesc.
Dezavantajele utilizării unei dovezi cu cunoștințe zero
Dovada zero-cunoștințe oferă avantaje semnificative. Dar au și niște necazuri.
Cea mai mare provocare sunt costurile hardware. Generarea de dovezi cu cunoștințe zero necesită calcule complexe, adesea efectuate pe mașini specializate care sunt costisitoare de achiziționat.
În plus, verificarea dovezilor necesită și calcule complexe. Prin urmare, nu este fezabilă implementarea dovezilor zero-cunoștințe decât dacă companiile au bugete mari pentru aceeași.
De asemenea, lipsa resurselor de instruire și a instrumentelor pentru dezvoltatori pentru aplicațiile ZKP împiedică adoptarea mai largă a dovezilor cu cunoștințe zero.
Dovezi fără cunoștințe pentru a îmbunătăți confidențialitatea
Hackerii și actorii amenințărilor încearcă permanent să obțină informațiile dvs. sensibile. Prin urmare, luați măsurile necesare pentru a vă proteja datele. Căutați aplicații bazate pe dovezi fără cunoștințe și utilizați-le pentru a vă proteja confidențialitatea și securitatea.
De asemenea, ar trebui să utilizați criptarea fără cunoștințe pentru a vă proteja datele sensibile.