Puncte:2

Este posibil să se verifice calculul unei funcții hash fără a o dovedi efectiv cu cunoștințe zero?

drapel in

Permiteți-mi să introduc mai întâi contextul: Să spunem că avem o evaluare a funcției hash: $$h = H(x, y),$$ Unde $x$ și $y$ sunt intrarea publică și cea privată a funcției hash $H$, respectiv.

Apoi, dacă vreau să dovedesc cuiva că acest calcul a fost calculat corect fără a dezvălui efectiv $x$, atunci trebuie să creez o dovadă a cunoștințelor zero-cunoștințe $\pi$ (care ar putea fi obținut prin ZKPoK de uz general, cum ar fi SNARKS, STARKS, ...) dintr-un $x$ astfel încât $h = H(x, y)$. Până în acest moment, totul este în regulă.

Ce se întâmplă dacă vreau ca altcineva să verifice evaluarea hash fără a dezvălui intrarea privată $x$, nu trece prin ZKPoK cu scop generic; și mai important: păstrarea unei anumite funcții hash proprietăți precum determinismul, uniformitatea și universalitatea?

Prima mea idee de a rezolva această întrebare este să găsesc o funcție $f$ astfel încât:

  1. $f(x)$ poate fi făcut public (astfel încât oricine poate verifica cu ușurință calculul $H(f(x), y)$).
  2. $f(x)$ satisface, de asemenea, determinismul, uniformitatea și universalitatea.

De fapt, dacă o astfel de funcție $f$ există, atunci aș putea doar înlocui $H$ cu $f$. Să spunem că ceea ce încerc să găsesc este un calcul care împărtășește unele dintre proprietățile pe care le au funcțiile hash, dar care este mult mai eficient (adică, fără a fi nevoie de dovezi generice) verificabile.

O a doua idee este de a înlocui mecanismul de hashing cu altceva (de exemplu, criptare concatenată cu o semnătură...) care ar putea fi verificabil eficient, păstrând în același timp proprietățile menționate.

Ievgeni avatar
drapel cn
Care este starea lui $y$?
Bean Guy avatar
drapel in
Ce intelegi prin statut?
Ievgeni avatar
drapel cn
Este cunoscut public? Sau este secret?
Bean Guy avatar
drapel in
$x$ este intrarea publică și $y$ este intrarea privată.
Ievgeni avatar
drapel cn
Dacă $H$, $f(x)$ este de asemenea public, toată lumea poate verifica $h= H(f(x), y)$, nu?
Bean Guy avatar
drapel in
Exact, dar vreau ca $f(x)$ să fie și un calcul determinist, uniform și universal. Cu alte cuvinte, am nevoie de $f(x)$ pentru a fi un calcul determinist care nu dezvăluie nimic despre pre-imagine $x$ și că riscul de coliziuni este neglijabil.
Ievgeni avatar
drapel cn
„care nu dezvăluie nimic” => Fii mai precis.
Bean Guy avatar
drapel in
Este în regulă dacă spun că vreau ca $f(x)$ să fie rezistent la pre-imagine?
drapel us
Din descrierea ta, sună cumva că cauți o schemă de angajament, de ex. un angajament Pedersen.
Bean Guy avatar
drapel in
@RubenDeSmet Problema este că un angajament nu arată ca un element aleatoriu. De exemplu, puteți adăuga o cantitate de 0 la sfârșitul angajamentelor și apoi distingeți cu ușurință un angajament de un element aleatoriu.
drapel us
nu văd cum; un angajament standard Pedersen $C = xG + yH$ se ascunde perfect și nu se poate deosebi de aleatoriu. Pe de altă parte; care ar integra variabila dvs. $y$ în funcția $f(x)$ și ar necesita ca aceasta să fie uniformă aleatorie, deci nu este strict ceea ce căutați.

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.