Ce este Zero-Knowledge Proof și rolul său în lumea Blockchain?

Publicat: 2020-01-09

În ultimii ani, ne-am obișnuit cu modul în care băncile mari și alte firme accesează și folosesc informațiile noastre personale pentru a ne oferi o experiență îmbunătățită. De-a lungul timpului, le-am dat un „semnal verde” mecanismelor care folosesc detaliile noastre sensibile pentru a ne ajuta să ne susținem într-un anumit fel.

Dar apoi a intrat în tehnologia Blockchain și a schimbat total totul.

Tehnologia Blockchain a adus diverse caracteristici precum transparența, imuabilitatea, descentralizarea și registrul distribuit. Le-a permis utilizatorilor să acționeze în mod anonim și să efectueze tranzacții cu securitate de vârf.

[Înainte de a privi mai departe, vă recomandăm insistent să vă acordați timp pentru a înțelege elementele de bază ale Blockchain .]

Blockchain, în termeni simpli, le-a oferit utilizatorilor controlul asupra confidențialității și al viitorului lor.

Dar, Blockchain a reușit cu adevărat să facă acest lucru?

Într-un cuvânt, răspunsul este NU .

Multe rețele blockchain folosesc baze de date publice. Deci, oricine are o conexiune la internet poate vizualiza lista istoricului tranzacțiilor rețelei. Ei pot vedea toate detaliile asociate tranzacției și detaliile portofelului dvs., dar numele utilizatorului le va fi încă necunoscut. În schimb, vor apărea ca o cheie publică - codul unic reprezentând utilizatorul în rețeaua blockchain.

În acest fel, cheia publică creată prin tehnica de criptare vă protejează într-o oarecare măsură confidențialitatea. Dar, este încă posibil ca cineva să te expună prin alte tehnici.

Acest lucru a aruncat capacul tău anonim; dezmințind mitul anonimatului și confidențialității Blockchain și să te facă să realizezi că -

Informațiile sensibile ale utilizatorului stocate într-o rețea Blockchain sunt doar confidențiale, nu anonime .

Quote 1

De asemenea, există diverse rețele blockchain guvernate de algoritmi de consens pentru a oferi confidențialitate și stabilitate de vârf, dar descentralizarea este considerată o a doua prioritate în astfel de cazuri. În multe astfel de cazuri, cele două părți nu au încredere una în alta. [Pentru a citi despre aceste modele de consens în detaliu, consultați acest ghid al algoritmului de consens blockchain .]

Acest lucru, în ansamblu, oferă o indicație clară că Blockchain nu este atât de anonim și descentralizat așa cum cred că este mulți dintre entuziaștii săi. Și chiar dă naștere la diverse întrebări, cum ar fi -

Rețelele Blockchain chiar trebuie să fie anonime? Cum poate Blockchain să ofere mai mult anonimat și o mai bună protecție a confidențialității utilizatorilor?

În actualele rețele Blockchain, tranzacțiile sunt înregistrate în registrul public și sunt de natură transparentă. Din această cauză, diverse mărci și piețe de renume, cum ar fi Wall Street, ezită să adopte tehnologia zero cunoștințe, deoarece confidențialitatea clientului și a tranzacției este o necesitate pentru ei. Acest lucru, în ansamblu, pune la îndoială dacă Blockchain web 3.0 va putea avea un impact asupra afacerilor .

Quote 2

Venind la a doua întrebare, există diverse concepte și metode precum Coin mixing, Ringct și Coin Join care fac tranzacții anonime în Blockchain, dar cea care este foarte apreciată este Zero-Knowledge Proof .

Cel pe care îl vom acoperi în detaliu în acest articol.

Deci, să începem cu o definiție simplă a blockchain-ului cu dovezi zero .

Ce este Zero Knowledge Proof?

Zero-knowledge Proof este o schemă de criptare propusă de cercetătorii MIT Silvio Micali , Shafi Goldwasser și Charles Rackoff în anii 1980. În această metodă, o parte (Demonstrator) poate dovedi că o anumită declarație este adevărată celeilalte părți (Verificator) fără a dezvălui informații suplimentare.

Zero Knowledge Encryption se asigură că nimeni, cu excepția dvs. (nici măcar furnizorul de servicii sau agenția de dezvoltare a aplicațiilor blockchain) nu vă poate accesa datele securizate.

Odată cu ștergerea definiției , să luăm un exemplu pentru a înțelege cum funcționează ZKP .

Exemplu: copii și bomboane

Să presupunem că doi copii – Bob și Alice, au primit niște bomboane de la o petrecere. Bob vrea să știe dacă Alice are același număr de bomboane sau nu. Dar, în același timp, niciunul dintre ei nu este pregătit să dezvăluie numărul exact.

Deci, ceea ce fac ei este că Bob aduce patru cutii care se pot încuia într-o cameră, presupunând că numărul de bomboane primite va fi 10, 20, 30 și 40. El etichetează fiecare cutie cu o valoare corespunzătoare numărului de bomboane.

Apoi, Bob păstrează în buzunar cheia cutiei care definește numărul de bomboane primite (să spunem că a primit 30 de bomboane) și aruncă cheile tuturor celorlalte cutii. Și pleacă din cameră.

Acum, Alice intră în cameră cu 4 bucăți mici de hârtie și scrie „+” pe una dintre ele în timp ce „-” pe fiecare. Aici, „+” indică numărul de batoane de bomboane pe care le-a primit, în timp ce „-” reprezintă orice altă valoare.

Ea strecoară bucata de hârtie cu semnul „+” într-o cutie (să spunem în cea care reprezintă 20 de bomboane) și „-” în restul cutiilor. Și ea pleacă.

Acum, Bob intră din nou în cameră și deschide cutia a cărei cheie este în buzunar. Apoi, el verifică dacă cutia are o bucată de hârtie cu semnul „+” sau semnul „-”. Dacă este un semn „+”, își dă seama că Alice are un număr egal de bomboane. În timp ce, în celălalt caz, ea nu.

Deoarece știm că Alice are 20 de bomboane și Bob are 30 de bomboane, este clar că Bob va găsi un semn „-” în cutia care poate încuia a cărei cheie o are. Acest lucru îl va face clar că amândoi nu au același număr de bomboane.

În același moment, Alice va intra din nou în cameră și va găsi un semn „-” în mâna lui Bob și, de asemenea, va afla că au un număr diferit de bomboane.

Notă: Prin această metodă, Bob va învăța că nu au un număr egal de bomboane. Dar, tot nu va avea nicio idee dacă Alice are mai multe sau mai puține bomboane decât el și invers.

Astfel, zero knowledge proof ethereum menține confidențialitatea informațiilor sensibile ale utilizatorilor, în timp ce efectuează o tranzacție (în acest caz, tranzacția este de a afla dacă aceștia au același număr de bomboane sau nu).

Deși acest exemplu te-ar fi ajutat să înțelegi ce este exact Zero Knowledge Proofs (ZKPs), hai să reîmprospătăm conceptul cu o imagine-

Zero Knowledge Proofs (ZKPs)

Acum, pe măsură ce este explicat conceptul de dovezi cu cunoștințe zero (ZKP), este cel mai bun moment pentru a analiza ceea ce îi face pe toți să-l prefere față de alte opțiuni disponibile. Să analizăm argumentele pro și dezavantajele dovezii zero:

Beneficiile Zero Knowledge Proofs (ZKPs)

  1. Simplu – Unul dintre avantajele principale ale criptografiei cu cunoștințe zero este că nu implică nicio metodă complexă de criptare.
  2. Securizat – Nu necesită nimănui să dezvăluie niciun fel de informații.
  3. Tranzacții ─ Un alt beneficiu asigurator asociat cu ZKP-urile se referă la scurtarea tranzacțiilor pe blockchain. Ca rezultat, utilizatorii nu ar trebui să-și facă griji cu privire la stocarea informațiilor pentru a include compatibilitatea și identitatea cu diferite tipuri de active.

Deși aceștia sunt avantajele dovezării Zero-Knowledge, conceptul are și unele dezavantaje. Câteva dintre acestea sunt: ​​-

  1. Lungime În tehnologia zero cunoaștere , există aproximativ 2k de calcule, fiecare necesitând o anumită perioadă de timp pentru procesare. Acesta este cel mai important dezavantaj de a merge cu dovada de cunoștințe zero.
  2. Imperfect – Mesajele livrate verificatorului/probatorului pot fi distruse sau modificate.
  3. Limitat Protocolul zero-cunoștințe cere ca secretul să fie o valoare numerică. În alte cazuri, este necesară o traducere.

Cu acest lucru acoperit, haideți să aprofundăm aspectele tehnice înainte de a evalua când și cum pot fi introduse protocoalele Zero-knowledge în ecosistemul Blockchain.

Începând cu care sunt caracteristicile de bază ale unei dovezi cu cunoștințe zero.

Proprietățile dovezilor cu cunoștințe zero

Zero-Knowledge Proofs Properties

1. Completitudine

Dacă afirmația este adevărată și ambii utilizatori respectă regulile religios, atunci verificatorul ar fi convins fără niciun ajutor extern.

2. Soliditatea

Dacă afirmația este falsă, verificatorul nu va fi convins în niciun scenariu (chiar dacă probatorul spune că afirmația este adevărată pentru o mică probabilitate).

3. Cunoașterea Zero

În ambele cazuri, verificatorul nu va putea cunoaște nicio informație în afară de faptul că afirmația este adevărată sau falsă.

În timp ce principiile ZKP sunt acoperite, să vorbim despre diferitele tipuri de ZKP în care un entuziast de afaceri poate investi.

Tipuri de dovezi de cunoștințe zero

1. Dovada interactivă a cunoștințelor zero

Într -o demonstrație interactivă de zero cunoștințe , un probator efectuează o serie de acțiuni sub mecanismul probabilității matematice pentru a convinge verificatorul de un anumit fapt.

2. Dovada non-interactivă a cunoștințelor zero (NIZKP)

După cum este descris din nume, dovada non-interactivă a cunoștințelor zero nu necesită un proces interactiv. Adică, probatorul poate genera toate provocările simultan și verificatorii pot răspunde ulterior. Acest lucru restrânge posibilitatea coluziei. Cu toate acestea, necesită mașini și software suplimentare pentru a afla succesiunea experimentelor.

Notă: Este posibil să faceți o tranziție de la ZKP non-interactiv la interactiv.

Improving Privacy on a Blockchain

Unde să implementați proba zero-cunoștințe în sistemul Blockchain?

1. Mesaje

În mesagerie, criptarea end-to-end este imperativă, astfel încât nimeni să nu poată citi mesajul dvs. privat în afară de cel cu care comunicați. Pentru a asigura securitatea, platformele de mesagerie cer utilizatorilor să-și verifice identitatea pe server și invers.

Dar, odată cu apariția ZKP, aceștia vor putea să construiască o încredere de la capăt la capăt în lumea mesageriei fără a scurge informații suplimentare. Aceasta este una dintre principalele aplicații ale dovezii zero-cunoștințe în lumea blockchain.

2. Autentificare

Dovada zero-cunoștințe poate facilita, de asemenea, transmiterea de informații sensibile, cum ar fi informațiile de autentificare, cu o mai bună securitate. Poate construi un canal sigur pentru ca utilizatorii să-și folosească informațiile fără a le dezvălui. Și astfel, evitați scurgerea de date în cele mai rele scenarii.

3. Protecția depozitării

Un alt posibil caz de utilizare al dovezilor cu cunoștințe zero (ZKPs) este în domeniul utilității de stocare.

Dovada zero-cunoștințe vine cu un protocol care nu numai că protejează unitatea de stocare, ci și informațiile din interiorul acesteia. Inutil să spun că canalele de acces sunt, de asemenea, protejate pentru a oferi o experiență perfectă și sigură.

4. Trimiterea de tranzacții private în blockchain

Când vorbim despre trimiterea de tranzacții private blockchain, este extrem de important să nu o ține la îndemâna terților. Acum, în timp ce metodele tradiționale sunt oarecum protectoare, au câteva lacune.

Acesta este încă un alt domeniu în care ZKP intră în joc. Conceptul, atunci când este integrat cu înțelepciune, face aproape imposibilă piratarea sau interceptarea tranzacțiilor private blockchain.

5. Documentare complexă

Deoarece dovada zero-cunoștințe are potențialul de a cripta datele în bucăți, ea permite controlului anumitor blocuri pentru a oferi acces unui anumit utilizator, restricționând în același timp accesul altora. Astfel, conceptul protejează documentația complexă de cei neautorizați să le vadă.

6. Controlul sistemului de fișiere

Un alt loc în care puteți vedea o implementare eficientă a dovezii zero-cunoștințe este sistemul de fișiere.

Conceptul adaugă diferite straturi de securitate fișierelor, utilizatorilor și chiar autentificărilor, ceea ce face destul de dificilă piratarea sau manipularea datelor stocate.

Read here

7. Transmiterea Tranzacțiilor Private Blockchain

Transmiterea schimburilor private de blockchain este una dintre notificările vizibile printre diferitele execuții eminente ale ZKP în blockchain. Tranzacțiile private Blockchain ar trebui să fie protejate de orice terță parte în timp ce le trimit.

Principala îngrijorare în trimiterea tranzacțiilor private blockchain face aluzie la diferitele lacune evidente în strategiile obișnuite. Integrarea puternică a ZKP cu tranzacțiile private blockchain le poate face versatile față de orice tip de hacking sau interferență.

8. Democratizarea verificării votului

Cel mai evident exemplu de aplicare a ZKP cu blockchain face aluzie la rolul lor democratic în verificarea voturilor. ZKP-urile pot oferi răspunsuri de încredere pentru votul auditabil prin înregistrarea voturilor pe un blockchain public (cum ar fi Ethereum).

Ulterior, procesele de vot nu ar avea nevoie de nicio confirmare a unei terțe părți, alături de excluderea cerinței de restricție. ZKP-urile pot permite alegătorilor să-și demonstreze eligibilitatea pentru vot, în acest sens, prevenind expunerea datelor lor personale sensibile. De asemenea, alegătorii pot solicita dovezi imuabile pentru luarea în considerare a votului lor la numărarea finală a voturilor.

9. Securitate pentru informații sensibile

Nu în ultimul rând, Zero-knowledge proof rafinează și modul în care tehnologia blockchain reînnoiește tranzacțiile .

ZKP adaugă un nivel de securitate de vârf fiecărui bloc care conține informații bancare sensibile, cum ar fi detaliile cardului dvs. de credit și istoricul, astfel încât băncile trebuie să manipuleze numai blocurile necesare atunci când un utilizator solicită informații. Alte blocuri rămân neatinse și astfel protejate.

De exemplu

ZoKrates (un set de instrumente digital) este folosit de dezvoltatorii calificați pentru a concepe și verifica ZKP-uri prin Solidity - un limbaj de programare orientat pe obiecte care este folosit pentru crearea de contracte inteligente bazate pe Ethereum.

Aztec încearcă să aducă dovada de cunoștințe zero ethereum în rețeaua Ethereum existentă prin dezvoltarea unui teanc de contracte inteligente axate pe confidențialitate.

Așadar, acestea au fost câteva dintre cazurile de utilizare ale dovezii de cunoștințe zero în serviciile de dezvoltare blockchain . Pentru a vă face prezența mărcii pe piață prin construirea uneia dintre acestea, angajați o companie de dezvoltare a aplicațiilor blockchain .

Și în cazul în care sunteți confuz cu privire la implementarea sa în lumea reală, verificați următoarele proiecte existente care operează cu convergența a două.

Quote 3

Exemple din viața reală de convergență a dovezilor de cunoștințe zero și blockchain

1. ZCash

Zcash este o platformă blockchain open-source și fără permisiune , care oferă funcționalitatea de a menține tranzacțiile „transparente” și „protejate” conform cerințelor.

În primul caz, tranzacțiile sunt guvernate de o adresă t, la fel ca tranzacțiile cu bitcoin. În timp ce în acest din urmă caz, este folosită o dovadă de cunoștințe zero numită zk-SNARKs , iar tranzacțiile sunt controlate de un z-addr.

Este primul caz de utilizare și aplicare a criptomonedei ZKP în lumea cripto. Este prima criptomonedă fără cunoștințe care implementează tehnologia.

2. ING

ING este o bancă cu sediul în Țările de Jos care și-a introdus propriul blockchain fără cunoștințe. Cu toate acestea, ei și-au modificat sistemul de cunoștințe zero pentru a-l face o dovadă a gamei de cunoștințe de zero cunoștințe pentru a reduce nevoia de putere de calcul.

În acest fel, ei și-au pregătit sistemul de cunoștințe zero pentru a crește impactul blockchain-ului în fintech .

3. ZCoin

Compania folosește protocolul Zerocoin, care se bazează pe dovezi de zero cunoștințe, pentru a spori securitatea și anonimatul în procesul tranzacției. Cu toate acestea, ceea ce îl deosebește de alte proiecte care lucrează pe acest concept este că oferă și scalabilitate.

Deși diverși actori internaționali au început să-și arate interesul pentru implementarea conceptului de proba zero-cunoștințe în blockchain, ritmul de adoptare este prea lent. Și principalul motiv din spatele este următorul set de provocări asociate cu adăugarea ZKP în mediul blockchain.

Provocări cu care v-ați putea confrunta când integrați ZKP în proiectul dvs. Blockchain

1. Absența standardelor

Deoarece tehnologia blockchain în sine se află în stadiul incipient de adoptare, nu există standarde, sisteme și limbaje omogene care să permită dezvoltatorilor de aplicații și perspectivelor de afaceri să interacționeze cu conceptul ZKP și să-și valorifice potențialul într-un mod eficient.

2. Scalabilitate

O altă provocare care limitează adoptarea dovezilor zero-cunoștințe în mediul blockchain este scalabilitatea, cu condiția ca astfel de algoritmi să necesite o capacitate de calcul mare pentru a funcționa la un nivel înalt.

Let's Get in Touch

Încheierea

Acum că conceptul ZKP și domeniul său de aplicare în domeniul Blockchain (împreună cu exemplele din viața reală) vă sunt clare, ne așteptăm să vă găsim investind în aplicarea mai largă a conceptului în timp ce pășiți în lumea descentralizată.

Dar, în cazul în care mai aveți întrebări, contactați consultanții noștri Blockchain sau experții noștri în serviciile de dezvoltare a aplicațiilor blockchain SUA.