Confidențialitatea a fost întotdeauna privită ca o caracteristică valoroasă în cadrul comunității criptomonede. Este precursorul fungibilității, care este necesar pentru o formă de bani utilizată pe scară largă. În mod similar, majoritatea deținătorilor de cripto-active nu doresc ca deținerile și istoricul tranzacțiilor lor să fie complet publice. Printre diferitele tehnici criptografice care urmăresc să ofere confidențialitate blockchain-urilor, dovezile zk-SNARK și zk-STARK sunt două exemple demne de remarcat.

zk-SNARK reprezintă argumentul succint non-interactiv al cunoașterii, iar zk-STARK reprezintă un argument transparent succint al cunoașterii. Dovezile zk-SNARK sunt folosite de proiecte de criptomonede (cum ar fi Zcash), pe sisteme de plată bazate pe blockchain și ca o modalitate de a autentifica în siguranță clienții pe servere. Dar, în timp ce zk-SNARK-urile au făcut progrese semnificative pentru a fi bine stabilite și adoptate, dovezile zk-STARK sunt acum prezentate ca versiunea nouă și îmbunătățită a protocolului, abordând multe dintre dezavantajele anterioare ale zk-SNARK-urilor.

Pilda peșterii lui Ali Baba

În 1990, o lucrare intitulată „Cum să explici copiilor tăi protocoalele cu cunoștințe zero” a fost publicată de criptograful Jean-Jacques Quisquater (împreună cu alți colaboratori). Lucrarea introduce conceptul de dovezi zk cu o parabolă care implică Peștera lui Ali Baba. De la crearea sa, pilda a fost adaptată de mai multe ori, iar acum avem mai multe variante. Totuși, informațiile de bază sunt în esență aceleași.

Să ne imaginăm o peșteră în formă de inel, cu o singură intrare și o ușă magică care separă cele două căi laterale. Pentru a trece prin ușa magică, trebuie să șoptești cuvintele secrete corecte. Așa că luați în considerare că Alice (galben) vrea să-i demonstreze lui Bob (albastru) că știe care sunt cuvintele secrete - păstrându-le totuși secrete. Pentru a face acest lucru, Bob acceptă să aștepte afară cât ea intră în peșteră și merge până la capătul uneia dintre cele două căi posibile. În acest exemplu, ea decide să treacă prin Calea 1.

După un timp, Bob trece pe lângă intrare și strigă din ce parte vrea să apară Alice (Calea 2 în acest caz).

Dacă Alice știe cu adevărat secretul, va apărea cu încredere din calea pe care o numește Bob.

Întregul proces poate fi repetat de mai multe ori ca o modalitate de a confirma că Alice nu alege calea corectă din noroc.

Parabola peșterii lui Ali Baba ilustrează conceptul dovezilor zero-cunoaștere, care fac parte din protocoalele zk-SNARK și zk-STARK. Dovezile ZK pot fi folosite pentru a dovedi posesia anumitor cunoștințe fără a dezvălui nicio informație despre acestea.

zk-SNARK-uri

Zcash este unul dintre cele mai vechi exemple de proiect care utilizează zk-SNARK. În timp ce alte proiecte de confidențialitate precum Monero folosesc semnături de inel și alte tehnici, zk-SNARKs schimbă fundamental modul în care sunt partajate datele. Confidențialitatea Zcash este derivată din faptul că tranzacțiile din rețea pot rămâne criptate, dar pot fi totuși verificate ca fiind valide prin utilizarea dovezilor cu cunoștințe zero. Deci, cei care aplică regulile de consens nu trebuie să cunoască toate datele care stau la baza fiecărei tranzacții. Merită menționat faptul că funcțiile de confidențialitate din Zcash nu sunt active în mod implicit, ci sunt mai degrabă opționale și depind de configurarea manuală.

Dovezile cu cunoștințe zero permit unui individ să demonstreze altuia că o afirmație este adevărată, fără a dezvălui nicio informație dincolo de valabilitatea afirmației. Părțile implicate sunt denumite în mod obișnuit dovator și verificator, iar declarația pe care o dețin în secret este numită martor. Obiectivul principal al acestor dovezi este de a dezvălui cât mai puține date posibil între cele două părți. Cu alți termeni, se pot folosi dovezi de cunoștințe zero pentru a demonstra că au anumite cunoștințe fără a dezvălui nicio informație despre cunoștințele în sine.

În cadrul acronimului SNARK, „succint” înseamnă că aceste dovezi sunt mai mici și pot fi verificate rapid. „Non-interactiv” înseamnă că există puțină sau deloc interacțiune între probator și verificator. Versiunile mai vechi ale protocoalelor de zero cunoștințe necesită de obicei ca demonstratorul și verificatorul să comunice înainte și înapoi și, prin urmare, sunt considerate dovezi ZK „interactive”. Dar în construcțiile „non-interactive”, probatorii și verificatorii trebuie să schimbe doar o singură dovadă.

În prezent, dovezile zk-SNARK depind de o configurație inițială de încredere între un doveditor și un verificator, ceea ce înseamnă că este necesar un set de parametri publici pentru a construi dovezi cu cunoștințe zero și, prin urmare, tranzacții private. Acești parametri sunt aproape ca regulile jocului; acestea sunt codificate în protocol și reprezintă unul dintre factorii necesari pentru a dovedi că o tranzacție este validă. Cu toate acestea, acest lucru creează o potențială problemă de centralizare, deoarece parametrii sunt adesea formulați de un grup foarte mic.

În timp ce o configurare inițială de încredere este fundamentală pentru implementările zk-SNARK de astăzi, cercetătorii lucrează pentru a găsi alte alternative ca o modalitate de a reduce cantitatea de încredere necesară în proces. Faza de configurare inițială este importantă în prevenirea cheltuielilor contrafăcute, deoarece dacă cineva ar avea acces la aleatorietatea care a generat parametrii, ar putea crea dovezi false care păreau valide verificatorului. În Zcash, faza inițială de configurare este cunoscută sub numele de Ceremonia de generare a parametrilor.

Trecerea la piesa „Argumente ale cunoașterii” a acronimului. zk-SNARK-urile sunt considerate corecte din punct de vedere computațional, ceea ce înseamnă că un probator necinstit are șanse foarte mici de a înșela cu succes sistemul fără a avea efectiv cunoștințele (sau martorul) pentru a-și susține declarația. Această proprietate este cunoscută ca soliditate și presupune că probatorul are o putere de calcul limitată.

Teoretic, un probator cu suficientă putere de calcul ar putea crea dovezi false, iar acesta este unul dintre motivele pentru care computerele cuantice sunt considerate de mulți o amenințare pentru zk-SNARK (și pentru sistemele blockchain).

Dovezile cu cunoștințe zero sunt rapid verificabile și de obicei ocupă mult mai puține date decât o tranzacție standard Bitcoin. Acest lucru deschide o cale pentru ca tehnologia zk-SNARK să fie utilizată atât ca soluție de confidențialitate, cât și ca soluție de scalabilitate.

zk-STARKs

zk-STARKs au fost create de Eli-Ben Sasson, profesor la Institutul de Tehnologie Technion-Israel. Ca o versiune alternativă a dovezilor zk-SNARK, zk-STARK-urile sunt în general considerate o variantă mai eficientă a tehnologiei - potențial mai rapidă și mai ieftină, în funcție de implementare. Dar, mai important, zk-STARK nu necesită o configurare inițială de încredere (de aici, „T” pentru transparent).

Tehnic vorbind, zk-STARK nu necesită o configurare inițială de încredere, deoarece se bazează pe o criptare mai slabă prin funcții hash rezistente la coliziuni. Această abordare elimină, de asemenea, ipotezele teoretice ale numerelor ale zk-SNARK-urilor care sunt costisitoare din punct de vedere computațional și teoretic predispuse la atacuri de către computerele cuantice.

În alți termeni, dovezile zk-STARK prezintă o structură mai simplă în ceea ce privește ipotezele criptografice. Cu toate acestea, această tehnologie nouă vine cu cel puțin un dezavantaj major: dimensiunea probelor este mai mare în comparație cu zk-SNARK. O astfel de diferență în dimensiunea datelor poate prezenta limitări în funcție de contextul de utilizare, dar este probabil ceva care poate fi descoperit pe măsură ce tehnologia este testată și investigată în continuare.

Gânduri de închidere

Este clar că atât zk-SNARK-urile, cât și zk-STARK-urile fac apel la îngrijorarea tot mai mare cu privire la confidențialitate. În lumea criptomonedelor, aceste protocoale au un potențial mare și ar putea fi o cale revoluționară către adoptarea generală.