Puncte:0

Verificarea corectitudinii rădăcinii Merkle fără a reconstrui complet arborele

drapel cn

Să presupunem că Alice are o listă de valori, iar Bob îi trimite Alicei o rădăcină Merkle despre care el pretinde că este pentru această listă de valori. Algoritmul de construcție a arborelui Merkle este bineînțeles comun.

Alice poate alege apoi valori arbitrare din listă și poate cere lui Bob dovezile Merkle.

Să presupunem că Alice vrea să evite construirea întregului copac pentru a verifica rădăcina lui Bob Merkle. Cât de sigură poate fi ea că rădăcina lui Bob Merkle este corectă după ce Bob a furnizat dovezi N Merkle? Cu alte cuvinte, care este probabilitatea ca Bob să fi mințit despre rădăcina Merkle după N interogări?

EDITAȚI | ×:

Am un răspuns în minte, dar nu cred că este corect.Să presupunem că avem un arbore cu M noduri în total (numărând toate straturile) și fiecare dovadă din acel arbore conține N hashe-uri ca puncte de date în demonstrație. Dacă Alice cere K dovezi distincte, atunci poate fi sigură că rădăcina este corectă cu o certitudine de (N*K)/M.

Pare naiv și așa ar fi doar o limită inferioară, deoarece există mai mult decât atât. Arborele este format din hashe-uri care au rezistență înainte de imagine, așa că nu este o simplă chestiune de numărare a punctelor de date cunoscute față de punctele de date totale... sau nu?

EDIT #2:

O alta formula:

Având în vedere un vector cunoscut de valori arbitrare V și o rădăcină Merkle R construită prin construirea unui arbore Merkle pentru V, dacă am N dovezi Merkle, cât de sigur pot fi că R a fost construit cinstit și corect din V?

Evident, aș putea reconstrui arborele deoarece am (sau pot calcula) tot V, dar să spunem că nu vreau pentru că necesită timp etc.

poncho avatar
drapel my
Aceasta este temă?
drapel cn
Nu, doar o întrebare care a apărut într-o discuție cu un prieten de-al meu despre dovezile sistemelor spațiale.
kelalaka avatar
drapel in
Acest răspuns este [răspunsul canonic Merkle-Tree](https://crypto.stackexchange.com/q/71310/18298)
kelalaka avatar
drapel in
Într-o a doua lectură, acestei întrebări lipsesc detalii. Bob are permisiunea de a adăuga valori suplimentare? Ce se întâmplă dacă Bob șterge o valoare și nu ai întrebat asta niciodată? Folosește contraargument pentru a ajunge la rezultat! Mă întreb ce ai crezut tu și prietenul tău?
drapel cn
Nu, Bob nu poate adăuga valori pentru că asta ar schimba rădăcina Merkle. Să spunem că știu sau *sunt capabil să calculeze* toate valorile din listă. Cum pot spune că Bob a făcut la fel și și-a construit copacul sincer? Dacă îi cer dovezi, cât de sigur sunt după N dovezi? Ni s-a părut interesant pentru că ar putea fi o formă de dovadă a spațiului-timp dacă lista este costisitoare de construit.
kelalaka avatar
drapel in
Dar Bob calculează rădăcina, nu Alice, așa că în timpul configurării Merkle-Tree, Bob poate adăuga/șterge/modifica valori.
drapel cn
Da. Alice vrea să-l determine pe Bob să demonstreze că toate valorile au fost incluse fără a fi nevoie să calculeze toate valorile sau să construiască întregul arbore, așa că alege valorile la întâmplare și cere dovezi. Orice dovadă care conține un nod care intră în conflict cu aceeași valoare dintr-o altă demonstrație demonstrează că Bob este necinstit. Câte interogări pentru a ajunge, să zicem, la o certitudine de 99% că Bob nu a înșelat?
drapel cn
Încă un lucru care poate să nu fi fost clar: atunci când Bob îi trimite rădăcina lui Alice, el se angajează să o facă. El nu poate schimba rădăcina, așa că nu poate adăuga sau elimina valori. Totuși, ceea ce ar fi putut face este să trișeze făcând un arbore incomplet sau folosind câteva valori incorecte.
Puncte:1
drapel my

Cu alte cuvinte, care este probabilitatea ca Bob să fi mințit despre rădăcina Merkle după N interogări?

Ei bine, iată o modalitate prin care Bob ar putea înșela; ar putea lua lista de $M$ valorile $$V_1, V_2, ..., V_M$$ și în loc să formați un arbore Merkle pe baza acestuia, selectați o valoare $c$ indice și o valoare $V'_c \ne V_c$, și în schimb formați lista $$V_1, V_2, ..., V_{c-1}, V'_c, V_{c+1}, ..., V_M$$ și formați arborele Merkle pe baza acelei liste (și dați lui Alice rădăcina calculată, care este cu o probabilitate destul de mare diferită de rădăcina din lista originală).

Apoi, când Alice îi dă $K$ indici pentru a baza $K$ dovezi, el le formează pe baza listei modificate și a arborelui pe care l-a calculat. El va fi detectat ca înșelă doar dacă unul dintre indicii pe care i-a cerut ea se întâmplă să fie indicele $c$; dacă niciunul dintre indicii pe care i-a cerut nu s-a întâmplat să fie pentru index $c$, atunci dovezile pe care le-ar primi sunt toate valide și consecvente între ele (deoarece corespund unui arbore Merkle auto-consecvent, frunzele revelate fiind valorile pe care le așteaptă)

Probabilitatea ca Bob să fie prins trișând, adică probabilitatea ca unul dintre indicii alesi de Alice este $c$, este $K/M$. Prin urmare, probabilitatea de detectare împotriva oricărei strategii nu este mai mare de atât (ar putea fi mai mică dacă există o strategie și mai bună pe care Bob ar putea-o folosi).

Deci, pentru a detecta Bob trișând cu probabilitatea 0,99, avem K$ > 0,99 M$; în acel moment, va fi de fapt mai puțin calcul pentru Alice dacă ar fi doar să recalculeze ea însăși arborele.

Ni s-a părut interesant pentru că ar putea fi o formă de dovadă a spațiului-timp dacă lista este costisitoare de construit

Acum, a privi problema ca pe o dovadă de lucru este puțin mai interesantă (dovada de spațiu nu funcționează, deoarece arborele și căile de autentificare pot fi calculate fără a crește semnificativ cantitatea de calcul necesară); evident, strategia de înșelăciune pe care am dat-o mai sus nu înlătură această problemă, deoarece Bob face toată munca. Dacă aș avea mai mult timp, aș încerca să investighez mai mult...

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.