Puncte:2

Cum să garantez că un ZKP a fost generat cinstit?

drapel ng

Următoarele extrase au fost preluate de pe pagina Zero-Knowledge Proof de pe Wikipedia:

În criptografie, o dovadă de cunoștințe zero sau un protocol de cunoștințe zero este o metodă prin care o parte (dovatorul) poate dovedi altei părți (verificatorul) că o anumită afirmație este adevărată, în timp ce probatorul evită transmiterea oricărei informații suplimentare în afară de faptul că afirmația este într-adevăr adevărată. Esența dovezilor zero-cunoaștere este că este trivial să dovedești că cineva posedă cunoștințe despre anumite informații prin simpla dezvăluire a acestora; provocarea este de a dovedi o astfel de posesie fără a dezvălui informațiile în sine sau orice alte informații suplimentare.

Dacă dovedirea unei declarații necesită ca probatorul să dețină informații secrete, atunci verificatorul nu va putea dovedi declarația nimănui altcineva fără să dețină informațiile secrete. Declarația care se dovedește trebuie să includă afirmația conform căreia autorul care demonstrează deține astfel de cunoștințe, dar fără a include sau transmite cunoștințele în sine în afirmație. În caz contrar, declarația nu ar fi dovedită în cunoștințe zero, deoarece oferă verificatorului informații suplimentare despre declarație până la sfârșitul protocolului. O dovadă a cunoștințelor zero-cunoștințe este un caz special când afirmația constă doar în faptul că cel care dovedește deține informațiile secrete.

Referinţă: https://en.wikipedia.org/wiki/Zero-knowledge_proof

De exemplu, să presupunem că Alice știe asta X este 123 și Y este 456, iar Alice vrea să-i demonstreze lui Bob asta X e mai puțin decât Y. Prin urmare, Alice trebuie să construiască o dovadă în așa fel încât X și Y nu sunt dezvăluite lui Bob.

Să presupunem că protocolul ZKP în cauză este implementat pe baza următoarelor ipoteze:

  • A poate fi derivat din X
  • B poate fi derivat din Y
  • X nu poate fi derivat din A fie de Alice, fie de Bob (Alice poate deriva doar A din X)
  • Y nu poate fi derivat din B fie de Alice, fie de Bob (Alice poate deriva doar B din Y)
A = f(X)
B = f(Y)

A < B // adevărat

Bob poate verifica acum asta X este într-adevăr mai mică decât Y pur prin calcul A < B și fără ca Alice să dezvăluie vreodată X și Y lui Bob.

Întrebarea mea este, cum garantează Bob asta A și B sunt derivate din X și Y (și astfel, să știi că Alice nu este răutăcioasă) fără să știi ce X și Y sunt?

Puncte:1
drapel es

Întrebarea mea este cum garantează Bob că A și B sunt derivate din X și Y (și astfel, știți că Alice nu este rău intenționată) fără știi ce sunt X și Y?

În scenariul dvs., A și B sunt declarate ca fiind angajamente față de X și respectiv Y.

Aveți dreptate că, fără alte informații disponibile sau pași în protocol, este imposibil pentru Bob să știe cu siguranță că angajamentele au fost produse în mod corespunzător. Dacă angajamentele sunt orbite în mod corespunzător pentru a preveni forțarea brută, chiar dacă Bob știe ce sunt X și Y, Bob încă nu poate ști dacă angajamentele au fost produse corect, cu excepția cazului în care Alice dorește să ofere dovezi.

Cu toate acestea, pot exista anumite protocoale utile, cum ar fi:

  1. Alice declară angajamente care au fost certificate de o terță parte în care Bob are încredere și, prin urmare, ZKP-urile care implică acele angajamente sunt semnificative.

  2. Alice declară angajamente care nu au fost certificate de niciun terț, dar Alice este obligată să deschidă angajamentele într-o etapă ulterioară a protocolului pentru a dezvălui valorile la care s-a angajat. Scopul angajamentelor este de a oferi confidențialitate temporară, cum ar fi într-o licitație cu o rundă în care Alice nu dorește ca un concurent să-și cunoască oferta până când toate ofertele au fost plasate.

  3. Alice dezvăluie o valoare Z și apoi anunță că a împărțit valoarea Z în valori nedezvăluite X și Y. Ea furnizează angajamentele A și B la valorile X și respectiv Y și utilizează proprietatea aditiv-omomorfă a angajamentelor (angajamentele Pedersen au această proprietate) pentru a demonstra că suma angajamentelor A și B este un angajament față de valoarea Z.Acesta este utilizat în protocoalele confidențiale de active în care un număr de unități sunt împărțite între părți, iar numărul total de unități este public, dar cota de proprietate asupra unităților între părți trebuie să fie privată. Alice poate dovedi că mai multe unități au fost date unei persoane decât altei persoane, fără a dezvălui câte unități i-au fost date fiecare dintre ele.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.