Puncte:2

Commiteți rezultatul funcțiilor aleatoare verificabile

drapel jp

Setarea problemei este după cum urmează. Să presupunem că există o contribuție publică $x$ iar probatorul evaluează $y \gets VRF_{sk}(x)$, dar probatorul nu dorește să dezvăluie rezultatul $y$. Întrebarea mea este dacă ar fi posibil să lăsăm probatorul să publice angajamentul de $y$, Spune $com_y$, apoi demonstrează că valoarea angajată a $com_y$ este generat corect prin evaluarea VRF folosind cheia secretă $sk$ și aportul publicului $x$?

Apreciez ajutorul vostru.

Chris Peikert avatar
drapel in
Ce constrângeri există pentru $com_y$? Am putea defini întotdeauna $com_y=0$, ceea ce este trivial pentru a dovedi âcorect.â
Chenghong avatar
drapel jp
@ChrisPeikert, mulțumesc pentru comentariu, acesta este într-adevăr un punct bun. Totuși, nu m-am gândit prea mult la constrângerile pentru $com_y$. De fapt, citeam ziarul (LegoSNARK) https://eprint.iacr.org/2019/142, care este despre commit-and-prove zksnark.Ei pot dovedi afirmații despre valorile care sunt angajate. Deci mă întrebam dacă am putea face același lucru pentru VRF-uri?
Chris Peikert avatar
drapel in
Acestea sunt dovezi despre valorile „în interiorul” angajamentului $com_y$, nu despre $com_y$ în sine. În setarea VRF, observați că cheia publică VRF în sine este un angajament față de funcția de ieșire $y$ (și chiar toate ieșirile simultan!), deoarece se poate dovedi că $y$ este corect în mod obișnuit. Dar acest lucru necesită în mod inerent dezvăluirea $y$.
Puncte:1
drapel es

Pentru a simplifica, ECVRF a descris în draft-irtf-cfrg-vrf-02 va folosi o pereche de chei $(x, Y=xG)$ și luați o intrare $\alpha$. Se va întoarce $P = xH$, Unde $H = H_p(Y \mathbin\|\alpha)$, împreună cu o dovadă de echivalență logaritmică discretă (DLeq) bazată pe Schnorr care demonstrează că $P$ partajează aceeași cheie privată $x$ cu $Y$ pe punctele generatoare $H$ și $G$ respectiv. Aceasta demonstrează deci că $P$ a fost corect calculat ca $xH$. $H_p()$ înseamnă a crea un hash care rezultă într-un punct EC, la care se referă documentul legat $\texttt{ECVRF_hash_to_curve}$. $G$ se referă la un punct de bază binecunoscut pentru curbă.

Un modificat $\texttt{ECVRF_prove}$ funcția poate fi creată în scopul generării unui angajament. Acesta va alege un factor de orbire aleatoriu uniform $b$, și se va întoarce $B = bG$ și $P' = x(H+B)$ în loc de $P = xH$. Va returna o dovadă DLeq care va demonstra asta $P'$ partajează aceeași cheie privată $x$ cu $Y$ pe punctele generatoare $(H+B)$ și $G$ respectiv, şi astfel să demonstreze că $P'$ a fost calculat conform așteptărilor.

Un modificat $\texttt{ECVRF_verify}$ funcția poate fi creată pentru a verifica angajamentul. Va dura $B$ ca un argument suplimentar, astfel încât să poată verifica dacă proba DLeq funcționează cu generatorul $(H+B)$ în loc de $H$.

După această verificare modificată, verificatorul știe sigur că $P' = x(H+B) = xH + xB$. De cand $x$ este privat, verificatorul nu poate calcula $xB$ pentru a determina valoarea angajată $xH$. Acest lucru înseamnă, de asemenea, că este imposibil pentru un verificator să încerce să descopere dacă acesta este un angajament față de vreun anume $xH$ valoare.

Dovatorul poate deschide angajamentul prin dezvăluire $xB$ și oferind o dovadă DLeq că $xB$ și $Y$ partajează aceeași cheie privată $x$ pe punctele generatorului $B$ și $G$ respectiv. Din moment ce verificatorul știe sigur că $P'==x(H+B)$, și, de asemenea, știe sigur că $xB$ este calculat corect (datorită dovezii DLeq), verificatorul știe sigur că valoarea corectă a $xH$ poate fi calculat ca $P'-xB$.

The $xH$ valoarea la care sa angajat va fi identică cu cea $xH$ valoare care ar fi fost produsă de originalul nemodificat $\texttt{ECVRF_prove}$ funcţie.

Rețineți că, după deschiderea angajamentului, un verificator poate utiliza numai cele modificate $\texttt{ECVRF_verify}$ funcția de verificare a valorii corecte a $xH$ a fost furnizat. Dacă din orice motiv un verificator are nevoie de o dovadă separată care poate fi utilizată cu originalul nemodificat $\texttt{ECVRF_verify}$ funcţie, această dovadă suplimentară poate fi furnizată de către doveditor în acelaşi timp cu deschiderea angajamentului.

Chenghong avatar
drapel jp
Apreciez răspunsul tău excelent, care chiar ajută. Voi încerca să fac și eu o analiză pe baza soluției dvs.
knaccc avatar
drapel es
@Chenghong nicio problemă. Aș fi foarte interesat dacă ați putea oferi un context cu privire la modul în care aceste angajamente ar putea fi mai utile decât un simplu angajament hash pentru care o dovadă a corectitudinii este furnizată mai târziu, când este deschisă de către probator.

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.