Intelegerea lui Merkle

Arborii Merkle sunt folositi in lumea criptomonedelor ca o modalitate eficienta de a dovedi existenta unei anumite valori intr-un set mare de valori si cu stocare minima. Acest articol introduce copacii Merkle si arata cum dovezile repetate impotriva aceluiasi copac pot fi reduse in dimensiune semnificativ prin stocarea mai multor niveluri de ramuri, mai degraba decat doar radacina (cunoscuta sub numele de „Merkle pollards”). porno chic

O functie hash transforma o bucata de date de dimensiune variabila (in acest caz numele unui fruct) intr-o valoare de dimensiune fixa ​​(cunoscuta sub numele de „hash”). Un exemplu care arata hashurile „Apple” si „Orange” sunt prezentate mai jos:

Valorile hash

Functiile Hash au diverse caracteristici, dar cele mai importante sunt ca chiar si valori usor diferite duc la hashuri foarte diferite si ca este matematic foarte greu sa treci de la hash inapoi la valoare (de obicei, ceea ce inseamna ca nu exista o metoda mai rapida decat ghicirea unui valoare, hashing-o si vazand daca se potriveste). porno coq

Un arbore Merkle este o modalitate de a combina mai multe valori si hashurile lor pentru a le reduce la o singura valoare de dimensiune fixa.

In partea de sus a copacului sunt valorile, cunoscute sub numele de „frunze”. porno gay hard Fiecare frunza este hash pentru a crea o ramura de nivel superior, iar ramurile adiacente sunt hash impreuna pentru a crea ramurile intermediare. In cele din urma, acest lucru va avea ca rezultat un singur hash, cunoscut sub numele de radacina Merkle. porno anal arabe Un exemplu grafic al unui arbore Merkle este prezentat mai jos:

Un copac Merkle

Exemplul de mai sus arata un arbore Merkle cu 8 valori si 4 niveluri; radacina este in partea de jos etichetata 0xd576 .. fornite porno . ffd9. moteur de recherche porno

Dupa cum sa mentionat anterior, chiar si valori usor diferite vor genera hashuri foarte diferite. Aceasta modificare are un impact ulterior asupra tuturor nivelurilor arborelui si va da in cele din urma o radacina diferita. humour porno De exemplu, schimbarea valorii unice „Peach” in „Pear” are ca rezultat un arbore Merkle modificat, dupa cum se vede mai jos:

Impactul unei singure modificari a arborelui (prezentat in gri)

Arborii Merkle sunt reproductibili: avand aceleasi valori in aceeasi ordine, un arbore Merkle va avea intotdeauna aceleasi hashuri pentru ramuri si radacina.

Calea Merkle este pur si simplu setul de hashuri de la valoare la radacina Merkle. porno boruto Exemplul de mai jos arata calea Merkle pentru valoarea „Peach”:

Calea Merkle pentru „Peach”

O dovada Merkle este o modalitate de a demonstra ca o anumita valoare face parte dintr-un set de date fara a necesita expunerea vreunei alte valori.

O dovada Merkle

O dovada Merkle necesita trei lucruri: o valoare (afisata in rosu), hashurile intermediare (afisate in verde) si radacina Merkle (afisata in albastru). film porno 18 ans Pentru fiecare valoare va exista un set diferit de hashuri intermediare.

Dovezile Merkle sunt utilizate in mod obisnuit in blockchain-urile pentru a arata ca o valoare se afla intr-un set fara a necesita ca intregul set sa fie stocat pe blockchain. porno shemale De exemplu, un contract de jetoane Ethereum ar putea avea o functie de lista alba pentru a permite anumitor conturi sa cumpere jetoane. In loc sa stocheze fiecare cont pe lista alba pe blockchain, ceea ce ar fi prohibitiv de costisitor daca exista multe mii de conturi pe lista alba, se poate crea un arbore Merkle al conturilor si doar radacina stocata pe blockchain. porno brasil

De exemplu, daca radacina este stocata intr-un contract inteligent, devine usor pentru contract sa demonstreze ca un cont se afla pe lista alba: un cont furnizeaza hashurile intermediare (furnizate intr-o maniera in afara lantului de catre proprietarul contractului titularului de cont) iar contractul inteligent hasheaza contul cu hashurile intermediare in ordine. Daca rezultatul se potriveste cu radacina Merkle, stie ca contul se afla pe lista alba. video porno coq nu

Retineti relatia dintre hashurile din calea Merkle si hashurile din dovada prezentata in ultimele doua diagrame: fiecare hash din dovada este fratele hashului din calea de la acelasi nivel din arbore. Acest lucru arata grafic ca dovada ofera posibilitatea de a recrea calea pentru valoare, motiv pentru care rezultatul final va fi radacina Merkle. bon porno



  • porno ado black
  • webchoc porno
  • porno soumission
  • film porno xxl
  • porno camerounaise
  • film porno soft
  • movie porno
  • porno xxxxx
  • penis porno
  • lesbian porno
  • porno aloha
  • karine le marchand porno
  • vidéo porno viol
  • laetitia lacourt porno
  • homme porno
  • femme de menage porno
  • afida turner porno
  • yoga porno
  • porno francais hard
  • mia kalifa porno




Dupa cum se poate vedea mai sus, unele beneficii ale utilizarii dovezilor Merkle sunt:

  • stocarea pe lant necesara este mult mai mica decat in ​​cazul stocarii valorilor
  • setul complet de valori nu este expus prin stocarea lor publica in lant
  • costul confirmarii prezentei unei valori specifice in setul de valori prin confirmarea unei dovezi poate fi mai mic (mai rapid si mai ieftin) decat verificarea fata de set

In exemplul de mai sus, fiecare cont trimite doar dovada necesara pentru a verifica daca se afla pe lista alba. O utilizare alternativa a copacilor Merkle este ca parte a dovezilor probabilistice de cunoastere (cunoscute in mod obisnuit sub numele de STARK), unde fiecare dovada creste probabilitatea ca creatorul copacului Merkle (cunoscut sub numele de „prover”) sa cunoasca toate valorile copacul. porno perfectgirl In aceasta situatie, proverul genereaza adesea sute de dovezi impotriva unui singur arbore Merkle care contine zeci sau chiar sute de mii de valori. Radacina Merkle si dovezile sunt trimise impreuna unui verificator pentru a confirma validitatea lor. rocco siffredi porno

Examinand dovezi repetate in contextul exemplului nostru original, mai jos sunt trei dovezi impotriva aceluiasi arbore:

Se poate vedea ca, in total, trimiterea radacinii Merkle (o data) plus dovezile implica trimiterea a 10 hash-uri: unul pentru radacina si trei pentru fiecare dintre dovezi.

Poate fi acest lucru mai eficient? Se poate observa ca la primul nivel al copacului, unde exista doar doua valori c0b7 . porno beeg .. actrice porno rousse da30 si 6ff9 .. porno mario . 8e3d, dovezile trimit in total trei hash-uri (cate una pe dovada). branlette porno Ce se intampla daca radacina Merkle ar fi extinsa pentru a oferi nu doar nivelul cel mai scazut, ci si nivelul urmator?

Se poate vedea ca, in total, trimiterea radacinii Merkle extinse (o data) plus dovezile implica acum trimiterea a 9 hash-uri: trei pentru radacina si doua pentru fiecare dintre dovezi. Desi aceasta reducere pare mica, aceasta creste semnificativ pe masura ce numarul probelor creste. porno vor

Noi numim o radacina extinsa Merkle un pollard Merkle. Este definit ca radacina Merkle plus un numar de niveluri de ramuri intermediare. Ordinea unui Pollard Merkle este numarul de ramuri deasupra radacinii care formeaza Pollard (un ordin 0 Merkle Pollard a unui copac este echivalent cu radacina). Un ordin 1 Merkle Pollard contine un nivel de ramuri intermediare, asa cum se arata mai jos:

Un ordin 1 Merkle pollard

Un ordin 2 Merkle Pollard contine doua niveluri de ramuri intermediare, asa cum se arata mai jos:

Un ordin 2 Merkle pollard

In situatiile in care exista multe dovezi repetate impotriva aceluiasi arbore Merkle, utilizarea unui pulverizator Merkle scade atat dimensiunea dovezii (deoarece exista mai putine hashuri pe dovada), cat si timpul necesar pentru verificarea probei (deoarece sunt mai putine hashuri calculat pe verificare). Matematica pentru calcularea ordinii optime a unui pollard Merkle este pur si simplu podeaua logaritmului bazei 2 a numarului de dovezi. Un tabel cu comenzi mai mici, impreuna cu spatiul si economia de timp rezultate pentru un arbore de exemplu cu 4. 096 de valori, sunt prezentate mai jos:

Avantajele ofiterilor Merkle la diferite ordine

Economiile pentru utilizarea sondelor Merkle pot creste rapid. De exemplu, o proba de test STARK folosind radacini Merkle la 564 KB a fost redusa folosind Merkle pollards la 346 KB, o reducere de 40%. Reduceri au fost observate si in timpul necesar transmiterii si verificarii dovezilor.

O implementare a unui arborescenta Merkle cu colturi pentru limba Go poate fi gasita la https://github. com/wealdtech/go-merkletree/