Zero-Knowledge Proof (ZKP) în Blockchain Explained

Într-o lume unde supravegherea devine tot mai răspândită, diverse entități monitorizează constant informațiile despre indivizi. Această lipsă de confidențialitate necesită soluții tehnologice inovatoare.

Tehnologia blockchain, cunoscută și ca tehnologie de registru distribuit, reprezintă un sistem descentralizat ce redefinește modul în care realizăm multe activități. Deși a adus schimbări semnificative, nu este suficient de cuprinzătoare.

O nouă tehnologie, numită Zero-Knowledge Proof (ZKP), își face apariția. Dacă ați auzit de ZKP, dar nu știți exact cum funcționează, ați ajuns unde trebuie.

Criptarea cu cunoștințe zero este prezentată ca cel mai eficient protocol pentru a spori securitatea. Dar oare este suficient de performantă și reprezintă soluția așteptată la nivel global? Acest articol va încerca să răspundă la aceste întrebări și la altele similare.

Ce reprezintă protocolul Zero-Knowledge Proof?

Dovada zero-cunoștințe este o abordare nouă în criptografie, prin care o parte (dovatorul) poate demonstra validitatea unei afirmații către o altă parte (verificatorul), fără a dezvălui detalii suplimentare, dincolo de legitimitatea acelei afirmații.

Sistemul de dovezi implică dovatorul, verificatorul și o provocare, părțile implicate având capacitatea de a demonstra public deținerea sau cunoașterea, fără a divulga detaliile specifice.

Simplificând, protocolul zero-proof permite să convingi pe cineva că știi sau ai realizat ceva, fără a dezvălui secretul exact.

Să presupunem că doriți să obțineți un împrumut, dar nu vreți să dezvăluiți detaliile financiare unei bănci. Banca ar putea folosi dovada Zero-Knowledge pentru a evalua istoricul dvs. financiar, inclusiv plățile în cont, dovada rezidenței, scorul de credit sau active imobiliare, fără a avea acces la detaliile specifice ale acelor active.

Protocolul a fost conceptualizat în 1985 de trei cercetători MIT, Shafi Goldwasser, Silvio Micali și Charles Rackoff, printr-o lucrare intitulată „Complexitatea cunoașterii sistemelor interactive de probă”. Multe protocoale de finanțare descentralizată (DeFi) utilizează deja ZKP pentru a garanta o securitate și confidențialitate sporită utilizatorilor serviciilor de împrumut, creditare și tranzacționare.

Mai multe blockchain-uri de Strat 1, cum ar fi Zcash și Polygon, integrează deja pachete bazate pe ZKP sau mașini virtuale Ethereum cu cunoștințe zero (zkEVMs). Există așteptări mari în rândul entuziaștilor blockchain și Web 3.0 că ZKP-urile vor juca un rol cheie pe măsură ce adopția aplicațiilor lor va crește.

Caracteristicile unei dovezi zero-cunoștințe

Metoda Zero-Knowledge proof este deosebit de utilă în situații în care informațiile sunt sensibile, iar dovatorul consideră că verificatorul nu trebuie să aibă acces la ele.

În acest caz, demonstratorul oferă dovezi matematice pe care numai el este capabil să le genereze, pe care verificatorul le poate folosi pentru a autentifica adevărul afirmației. Totuși, aceste informații nu pot fi folosite pentru a reconstrui datele inițiale.

Imaginați-vă un munte imens care traversează orașul, cu un tunel cu două intrări care leagă cele două părți ale orașului. Doar dvs. știți codul secret al ușilor încuiate de la ambele capete ale tunelului.

Dacă ați cere o plată în avans de la cineva care dorește să folosească tunelul, acea persoană ar dori mai întâi o dovadă că știți codul.

Persoanele interesate ar putea fi convinse dacă v-ar observa trecând prin tunel dintr-un capăt în altul.

Trei caracteristici esențiale ale oricărui protocol de cunoștințe zero-proof sunt:

❇️ **Completitudine:** Verificatorul trebuie să poată confirma că dovatorul are datele necesare pentru a susține afirmația.

❇️ **Corectitudine:** Este imposibil de falsificat afirmația, iar verificatorul nu poate fi convins de deținerea datelor necesare dacă acestea nu există cu adevărat.

❇️ **Cunoștințe zero:** Verificatorul nu obține informații suplimentare dincolo de validitatea declarației. Datele personale sau conținutul informațiilor rămân confidențiale.

Tipuri diferite de dovezi zero-cunoștințe

Există două tipuri principale de ZKP:

Dovezi interactive Zero-Knowledge

În acest tip de Zero-Knowledge Proof, există interacțiuni multiple între dovator și verificator. Verificatorul poate contesta de mai multe ori răspunsurile dovatorului, până când este pe deplin convins.

Deoarece acțiunile asociate acestui tip de ZKP se bazează pe probabilitatea matematică, dovatorul trebuie să convingă un verificator specific sau să repete procesul pentru mai mulți verificatori, printr-o serie de acțiuni legate de acel fapt.

Dovezi non-interactive Zero-Knowledge

În acest tip de ZKP nu există o interacțiune directă între demonstrator și verificator, iar verificatorul are o singură șansă de a confirma dovada furnizată de dovator.

Deoarece acest tip de ZKP se bazează mai mult pe putere de calcul decât pe ZKP interactiv, dovatorul trebuie să creeze dovezi pe care oricine le poate verifica, astfel încât procesul de verificare să poată continua.

ZKP neinteractiv poate necesita software specific pentru ca mecanismul să funcționeze eficient.

Aplicarea Zero Knowledge Proof în Blockchain

Tehnologia Blockchain a introdus numeroase caracteristici importante, cum ar fi descentralizarea, imuabilitatea, transparența și registrul distribuit, permițând utilizatorilor să efectueze tranzacții cu securitate sporită și să acționeze anonim.

Deși blockchain-ul a oferit utilizatorilor control asupra confidențialității, există percepția că nu a fost suficient de detaliată, mai ales că rețelele blockchain folosesc baze de date publice. Oricine are acces la internet poate vedea istoricul tranzacțiilor unei rețele.

Astfel, multe detalii asociate tranzacțiilor unui utilizator și detaliile portofelului devin vizibile. Chiar dacă identitatea lor este anonimă, terții le vor vedea cheile publice.

Crearea cheilor publice prin tehnici criptografice poate proteja confidențialitatea. Totuși, există riscul ca metodele de anonimizare și confidențialitate să fie compromise, de unde și necesitatea de a aplica Zero-Knowledge Proof în sistemele blockchain pentru a obține următoarele:

#1. Mesagerie

Când oamenii scriu mesaje folosind criptarea end-to-end, este important ca nimeni altcineva, în afară de persoana vizată, să acceseze mesajele private. Platformele de mesagerie fac eforturi pentru a verifica identitatea utilizatorilor în raport cu serverele și invers. Implementarea ZKP-urilor va permite platformelor de mesagerie să construiască încredere end-to-end, fără a dezvălui informații relevante ale utilizatorilor.

#2. Autentificare

ZKP-urile pot fi folosite pentru a transmite informații sensibile, cum ar fi autentificarea, cu un nivel ridicat de securitate. Platformele blockchain vor putea crea canale securizate pentru ca utilizatorii să trimită informațiile, evitând riscurile de scurgeri de date.

Un exemplu excelent de tranzacții care protejează confidențialitatea, activate de blockchain, este aplicația descentralizată a rețelei Manta, MantaPay.

Această DApp folosește ZKP-uri pentru a permite utilizatorilor să efectueze tranzacții pe schimburile descentralizate fără a-și dezvălui identitățile personale sau detaliile tranzacției. Astfel, utilizatorii își pot menține confidențialitatea în timpul utilizării platformelor.

#3. Protecția stocării

Deoarece blockchain-urile gestionează cantități mari de date, ZKP-urile pot fi utile în contextul stocării datelor.

Dovezile cu cunoștințe zero integrează protocoale care pot proteja informațiile sensibile, pe lângă unitatea de stocare în sine. ZKP-urile pot proteja și canalele de acces, oferind utilizatorilor o experiență sigură și fluentă.

#4. Trimiterea de tranzacții private în blockchain

Scopul trimiterii de tranzacții private în blockchain este de a preveni accesul terților. Deși metodele de protecție existente au punctele lor forte, pot avea și lacune, de unde importanța ZKP-urilor.

Implementate corect, ZKP-urile vor face imposibilă piratarea, interceptarea sau devierea tranzacțiilor private blockchain.

De exemplu, Zcash folosește Tranzacții Zero-Knowledge pentru a permite tranzacții protejate care ascund adresele expeditorului și destinatarului, precum și sumele implicate, adăugând un nivel suplimentar de securitate.

#5. Documentație complexă

ZKP-urile sunt concepute pentru a cripta datele în porțiuni considerabile, permițând utilizatorilor să decidă ce blocuri vor permite accesul anumitor utilizatori, restricționând accesul altora. Acest concept poate fi folosit pentru a asigura accesul la documentația complexă doar părților autorizate.

#6. Democratizarea verificării votului

Un alt domeniu în care ZKP se poate aplica în blockchain este rolul democratic în verificarea voturilor. Protocolul poate oferi răspunsuri de încredere pentru orice proces de vot auditabil, prin înregistrarea voturilor pe un blockchain public.

Efectul ar fi un proces de vot care elimină restricțiile și validările terților. Dovezile zero-cunoștințe ar permite alegătorilor să demonstreze eligibilitatea pentru vot, protejând în același timp datele personale sensibile.

De asemenea, alegătorii ar putea folosi ZKP-urile pentru a solicita dovezi imuabile ale votului lor în numărătoarea finală.

#7. Securitate pentru informații sensibile

ZKP va îmbunătăți modul în care blockchain-ul este utilizat în furnizarea tranzacțiilor, adăugând un strat de securitate de ultimă generație blocurilor cu informații sensibile.

Acestea ar putea include informații bancare, cum ar fi istoricul de credit și detaliile cardului, permițând destinatarilor accesul doar la blocurile cu informațiile necesare, în timp ce restul blocurilor rămân protejate.

#8. Tokenizare și verificarea proprietății

Platformele blockchain pot folosi ZKP-uri în procesul de tokenizare a activelor și verificarea proprietății. De exemplu, un utilizator poate dovedi proprietatea unei proprietăți fără a dezvălui public informațiile personale.

Avantajele utilizării Zero-Knowledge Proof

Ca orice altă tehnologie nouă, ZKP-urile aduc o serie de avantaje în combinație cu protocoalele blockchain. Pe lângă libertatea și flexibilitatea oferite utilizatorilor, alte beneficii ale utilizării Zero-Knowledge Proofs includ:

🔷 **Simplitate:** Simplitatea este cel mai important avantaj al ZKP-urilor, deoarece utilizatorii nu trebuie să știe să folosească software complex. În plus, ZKP-urile sunt sigure, deși nu sunt complet criptate, având avantaje din ambele domenii.

🔷 **Securitate:** Protocoalele Zero-Knowledge Proof sunt foarte sigure în ceea ce privește modul în care facilitează partajarea informațiilor. Utilizatorii le pot folosi cu încredere, fără a avea nevoie de cunoștințe specifice în codificare sau analiză.

🔷 **Economie de timp:** Cu ZKP-urile, utilizatorii economisesc timp necesar finalizării tranzacțiilor blockchain, oferind valoare considerabilă.

🔷 **Confidențialitate:** Protejarea confidențialității utilizatorilor este o caracteristică centrală a ZKP-urilor. Utilizatorii nu trebuie să partajeze date sensibile, făcând acest protocol foarte privat.

🔷 **Siguranță:** Utilizatorii protocoalelor Zero-Knowledge Proof cunosc politicile de partajare a datelor, prevenind solicitările nejustificate de informații personale.

ZKPs vs. Calcul multipartit (MPC)

Am stabilit deja că ZKP-urile implică un șir unic folosit pentru a demonstra autenticitatea unei afirmații, conținând valoare publică, fără a divulga detaliile specifice. Aceasta poate implica structura ascunsă a unei comunicări sau o cheie secretă legată de cheia publică.

În contextul tranzacțiilor blockchain, aceasta ar putea însemna că inițiatorul unei tranzacții va ascunde valoarea exactă, dovedind în același timp că o tranzacție validă a avut loc.

Calculul multipartit (MPC), pe de altă parte, se referă la comunicarea interactivă între mai multe părți, permițând calcularea în siguranță a unei funcții a valorilor nedezvăluite, menținând confidențialitatea detaliilor individuale.

Un scenariu relevant ar fi ca trei părți să aibă fiecare un număr secret și să poată calcula suma numerelor. Totuși, părțile nu trebuie să cunoască numerele secrete ale celorlalți, în afară de totalul celor trei cifre.

Așadar, caracteristica principală a MPC este implicarea mai multor părți care doresc să evalueze în siguranță valoarea secretă a funcțiilor celorlalți, permițând același privilegiu fără a dezvălui propria valoare privată.

Dovada cunoștințe zero vs. Încredere zero

Verificarea este ceea ce distinge dovezile zero-cunoștințe de încrederea zero. Modelul Zero Trust necesită o verificare strictă a identității utilizatorilor și a dispozitivelor, înainte de a le permite accesul la aplicații și date sensibile.

ZKP-urile, pe de altă parte, criptează datele astfel încât doar o parte autorizată poate accesa. Verificarea identității este forța motrice din spatele mecanismului Zero Trust, în timp ce criptarea este principiul fundamental al protocolului Zero-Knowledge.

Domeniul de aplicare diferențiază cele două protocoale. În timp ce securitatea rețelei este obiectivul principal al Zero Trust, securitatea datelor este pilonul central al Zero Knowledge.

Zero Trust se aplică pentru a se asigura că doar un dispozitiv sau utilizator autorizat poate accesa aplicații sau date sensibile, în timp ce Zero Knowledge Proof securizează datele personale prin criptarea acestora, permițând doar participanților autorizați accesul.

Concluzii

Dovada Zero-Knowledge nu este o soluție magică, dar a introdus o frontieră nouă în tehnologia blockchain. Protocolul prezintă un potențial imens pentru o gamă largă de aplicații care gestionează informații sensibile, cum ar fi dovada identității, confirmarea parolelor sau dovada apartenenței.

Pe măsură ce ZKP-urile continuă să atragă atenția, datorită proprietăților de scalabilitate și protecție a confidențialității, acestea sunt tot mai aplicate în aplicațiile blockchain, criptomonede și DeFi. Se așteaptă ca acestea să își extindă în continuare domeniul de aplicare, jucând un rol esențial în ecosistemele DApp, unde securitatea, confidențialitatea și eficiența sunt esențiale.

Atunci când este folosit ca instrument fundamental în criptografie, Zero-Knowledge Proofs va facilita demonstrarea proprietății datelor și va deveni o verigă lipsă care ar putea aduce blockchain-ul și aplicațiile sale în prim-plan. Operatorii blockchain pot folosi ZKP-uri de ultimă generație pentru a beneficia de avantajele sale la prețuri accesibile.

Pentru mai multe informații, consultați ghidul detaliat despre Zero Trust Security.