Pentru a înțelege blockchain-ul, trebuie să cunoașteți principiile de bază pe care se bazează. Posibil ca principală caracteristică a acestuia să fie arborele Merkle, numit uneori copac hash. Datorită acestuia, blockchain-ul poate fi eficient și transparent în același timp. Conceptul a fost patentat de profesorul Ralph Merkle în 1979. Acum ajută la rezolvarea problemelor din rețelele mari descentralizate.

Ce este arborele Merkle și cum este legat de criptomonede? Să aflăm în acest articol Changelly!

Bazele arborelui Merkle

Arborele Merkle este o structură de date completă sub forma unui copac, în vârfurile frunzelor ale căror hashuri sunt blocate de date, cu vârfurile interioare conținând hashuri de la adăugarea de valori în vârfurile copilului. Aceasta conectează toate elementele cu informații între ele. În cele din urmă, arată așa.

Merkle-Tree

Un hash este un rezultat al conversiei unei funcții hash. Este o funcție care convertește o serie de date de intrare de lungime arbitrară într-un șir de ieșire cu o lungime specificată în conformitate cu un algoritm specific.

Pentru ce se folosește Merkle Tree?

Într-un sistem centralizat, veridicitatea informațiilor nu este o problemă, deoarece toate componentele sale se bazează pe un singur nod centralizat. Nu trebuie să vă faceți griji cu privire la autenticitatea banilor atunci când primiți un transfer în contul dvs. bancar.

Cu toate acestea, într-o rețea descentralizată totul nu este atât de simplu. Fiecare dintre noduri este responsabil pentru veridicitatea informațiilor transmise, deci nu este o sarcină ușoară verificarea autenticității întregului volum datorită numărului de tranzacții din rețea. Cel puțin fără arborele Merkle. Vă permite să optimizați procesul de prezentare a datelor folosind hashing.

Sistemele de fișiere folosesc arbori Merkle pentru a verifica informațiile pentru erori și baze de date distribuite pentru sincronizarea înregistrărilor. Pe blockchain, arborii hash permit verificarea simplificată a plăților (SPV).

Clienții SPV au apelat ușor (deoarece stochează doar anteturile blocului, nu conținutul lor), pentru a verifica informațiile tranzacției, nu recalculează toate hashurile, ci solicită dovada lui Merkle. Acesta constă dintr-o rădăcină și o ramură care include hash-uri de la tranzacția solicitată la rădăcină, deoarece clientul nu are nevoie de informații despre alte operațiuni. Când adaugă hashurile solicitate și le compară cu rădăcina, clientul se asigură că tranzacția este la locul său.

Această abordare vă permite să lucrați cu cantități mari de date în mod arbitrar, deoarece reduce semnificativ încărcarea în rețea, deoarece sunt descărcate numai hashurile necesare. De exemplu, dimensiunea unui bloc cu cinci tranzacții de dimensiune maximă este mai mare de 500 kilobyte. Dimensiunea dovezii Merkle, în același caz, nu ar depăși 140 de octeți.

Cum funcționează Merkle Tree în Bitcoin

O funcție hash este un proces de conversie a datelor de intrare într-un șir de biți de o lungime specificată. Șirul primit, hash-ul, este foarte dependent de matricea de date primite. Dacă se schimbă chiar și un caracter din întreaga matrice, hash-ul rezultat va lua o valoare complet diferită.

Toate tranzacțiile din blocul Bitcoin sunt șiruri în format hexazecimal. Acestea sunt hash și prezentate ca identificatori de tranzacții (txid). Toate txid-urile din bloc sunt marcate până când se primește o singură valoare hash a blocului. În acest proces, arborele Merkle este construit:

  1. În primul rând, se calculează txid (ID-ul tranzacției), adică hash-ul tranzacției;
  2. Apoi, hashurile sunt calculate din suma tranzacțiilor hash. Arborele Merkle este binar – adică, cu fiecare nou pas hash, numărul elementelor arborelui trebuie să fie egal. Dacă blocul are un număr impar de tranzacții, hash-ul ultimei este duplicat și adăugat la sine;
  3. Hash-urile noi sunt calculate din hash-urile sumei hash-urilor tranzacției. Procesul continuă până când se obține un singur hash (rădăcina Merkle). Este indicat în antetul blocului.

arborele merkle în profunzime

În blockchain-ul Bitcoin, arborii Merkle sunt construiți folosind SHA-256 hashing dublu. Iată un exemplu de hashing al unui șir de salut:

Primul tur SHA-256:

2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Al doilea tur SHA-256:

9595c9df90075148eb06860365df33584b75bff782a510c6cd4883a419833d50

Principiul Arborelui Merkle

Procesul de compilare a unui arbore Merkle este similar cu plierea datelor. Datorită acestuia, o listă imensă de tranzacții sau orice altă serie de informații poate fi reprezentată într-o singură linie. Lucrul uimitor este că, dacă undeva în lista acestor tranzacții schimbăm un singur simbol, următorul nivel al arborelui și hashul final vor fi complet diferite. Aceasta înseamnă că și vârful copacului se va schimba.

Cu alte cuvinte, nu puteți înlocui o tranzacție cu alta în bloc sau schimba datele celor existente. Acesta este motivul pentru care arborele Merkle este considerat un mod eficient de a înregistra tranzacțiile într-un blockchain. Există, de asemenea, conceptul de Merkle Proof. Acesta este principiul verificării validității informațiilor folosind hashuri. În loc să examinați întreaga matrice de date, este suficient să examinați hashurile individuale din arbore, ceea ce reduce considerabil cheltuielile generale ale puterii de calcul pentru întregul proces..

Alternative Merkle Tree

Articolul discută cea mai simplă versiune binară a conceptului inventat de Ralph Merkle. În el, fiecare hash „părinte” are doi „moștenitori”. În Bitcoin, un arbore hash este construit folosind SHA-256 hashing dublu.

Există interpretări mai complexe ale conceptului. De exemplu, Ethereum folosește prefixul arborelui Merkle. Fiecare antet de bloc Ethereum conține trei astfel de arbori simultan: pentru tranzacții, informații despre execuția și starea acestora. Spre deosebire de un arbore binar, valoarea unui nod prefix depinde și de conexiunile cu alte noduri. Valoarea este dinamică și nu este fixă. Poate fi schimbat fără a fi nevoie să recalculați toate hashurile arborelui.

ethereum merkle tree

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me