Zk-SNARK - KamilTaylan.blog
2 mai 2021 2:21

Zk-SNARK

Ce este zk-SNARK?

Zk-SNARK este un acronim care înseamnă „Zero-Knowledge Succinct Non-Interactive Argument of Knowledge”. Un zk-SNARK este o dovadă criptografică care permite unei părți să demonstreze că deține anumite informații fără a dezvălui aceste informații. Această dovadă este posibilă folosind o cheie secretă creată înainte ca tranzacția să aibă loc. Este folosit ca parte a protocolului pentru criptomoneda, Zcash.

Chei de luat masa

  • Zk-SNARK este un protocol de zero cunoștințe utilizat în criptare și este un acronim care înseamnă „Zero-Knowledge Succinct Non-Interactive Argument of Knowledge”.
  • Această dovadă a fost dezvoltată și introdusă pentru prima dată la sfârșitul anilor 1980 și este acum utilizată de criptomoneda Zcash pentru a rezolva o problemă de anonimat percepută cu blockchain-uri de tip Bitcoin.
  • Dovezile Zk-SNARK se bazează pe o configurare inițială a „sistemului de încredere” care a fost criticată ca o eroare inerentă de securitate.

Înțelegerea zk-SNARK

Pentru mulți membri originali ai comunității criptomonede – în primul rând comunitatea Bitcoin – confidențialitatea a fost un scop și o caracteristică asumată a criptomonedelor. Cu toate acestea, confidențialitatea a fost întotdeauna o preocupare de ordinul doi, având în vedere nevoia criptomonedelor de a crea un sistem „fără încredere” care să garanteze integritatea monedei electronice și a tranzacțiilor digitale.

La începutul anilor 2010, utilizatorii relativ ușor, să re-identifice persoanele care au dat date pseudonime la mai multe surse.

Din cauza lipsei percepute de confidențialitate a unora dintre criptomonedele originale, cum ar fi Bitcoin, dezvoltatorii au început să lucreze la monede axate pe confidențialitate. Cel mai proeminent dintre acestea a fost Zcash, susținut de o tehnologie cunoscută sub numele de zk-SNARKs.

Dovadă de cunoaștere zero

Un zk-SNARK („argument succint non-interactiv al cunoașterii zero-cunoaștere”) folosește un concept cunoscut sub numele de „dovadă a cunoașterii zero”. Ideea din spatele acestor dovezi a fost dezvoltată pentru prima dată în anii 1980. Pur și simplu, o dovadă de cunoaștere zero este o situație în care fiecare dintre cele două părți într-o tranzacție este capabilă să se verifice reciproc că au un anumit set de informații, în același timp ne dezvăluind care sunt aceste informații.

Pentru majoritatea celorlalte tipuri de dovezi, cel puțin una dintre cele două părți trebuie să aibă acces la toate informațiile. O dovadă tradițională poate fi comparată cu o parolă utilizată pentru a accesa o rețea online. Utilizatorul trimite parola, iar rețeaua verifică conținutul parolei pentru a verifica dacă este corectă. Pentru a face acest lucru, rețeaua trebuie să aibă și acces la conținutul parolei.

O versiune zero a cunoștințelor acestei situații ar implica utilizatorul să demonstreze rețelei (prin dovezi matematice) că are parola corectă fără a dezvălui parola însăși. Avantajele de confidențialitate și securitate în această situație sunt clare: dacă rețeaua nu are parola stocată undeva în scopul verificării, parola nu poate fi furată.

Baza matematică a zk-SNARKS este complexă. Cu toate acestea, dovezile de acest tip permit unei părți să demonstreze nu numai că există un anumit bit de informații, ci și că partea în cauză are cunoștință de aceste informații. În cazul Zcash, zk-SNARK-urile pot fi verificate aproape instantaneu, iar protocolul nu necesită nicio interacțiune între verificator și verificator.

Critica zk-SNARKs

Există, desigur, preocupări legate de zk-SNARKs. De exemplu, dacă cineva a putut accesa cheia privată care a fost utilizată pentru a crea parametrii protocolului de probă, ar putea crea dovezi false care, cu toate acestea, păreau valabile pentru verificatori. Acest lucru ar permite acelei persoane să creeze noi jetoane de Zcash printr-un proces de falsificare. Pentru a preveni acest lucru, Zcash a fost conceput în așa fel încât să facă elaborarea și răspândirea protocoalelor de probă pe mai multe părți.

În timp ce construcția procesului de verificare Zcash a fost finalizată în așa fel încât să se minimizeze posibilitatea falsificării jetoanelor prin dovezi false, există cel puțin o altă preocupare legată și de criptomonedă. Zcash a fost creat cu o „taxă” de 20% percepută pentru toate blocurile create în primii câțiva ani ai simbolului. Această taxă este cunoscută sub numele de „taxa fondatorului” și este utilizată pentru a compensa dezvoltatorii criptomonedei.

Criticii au sugerat că fondatorii ar putea folosi această fațetă a sistemului pentru a crea un număr infinit de jetoane Zcash fără ca altcineva să fie conștient de existența acestor jetoane. Din acest motiv, nu este pe deplin posibil să se cunoască numărul exact de jetoane Zcash existente în acest moment.

Din 2019, unii dezvoltatori au lucrat pentru a îmbunătăți zk-SNARK-urile prin eliminarea setării de încredere. O echipă numită Suterusu a dezvoltat un sistem numit zK-ConSNARK care pretinde că este operabil fără o configurație de încredere, poate oferi protecție a confidențialității pentru blockchain-uri de tip mainstream precum Bitcoin și are cea mai mică inflație pentru orice criptomonedă existentă.