Ի՞նչ է Merkle Tree-ը բլոկչեյնում և ինչպես է այն աշխատում:

Հիմնական takeaways:

  • The Մերկլի ծառ Երկուական հեշ ծառի տեսակ է, որն ունի 3 տեսակի հանգույց՝ տերեւային հանգույցներ, ոչ տերեւային հանգույցներ եւ արմատային հանգույցներ։
  • Merkle ծառը օգտակար է ցանկացած ապակենտրոնացված մատյանում գործարքների ամբողջականության ստուգման և պահպանման համար:
  • Մերկլի ծառը երևում է Bitcoin-ում, ինչպես նաև Ethereum-ում:

ներածություն

Cryptocurrencies այլևս անհայտ առարկա չեն, և ոչ էլ կա blockchain, դրանց ծագման հիմքում ընկած տեխնոլոգիան։ Ցանկացած կրիպտո էնտուզիաստի համար բլոկչեյն կառուցվածքների և դրանց գործելու ձևը հասկանալը առաջին քայլն է կրիպտոների իրական էությունը հասկանալու համար:

Բլոկչեյնի տարբեր կառուցվածքները հասկանալու դեպքում հենց այստեղ են մտնում Մերկլի ծառերը: Որպես հայեցակարգ մշակվել է դեռևս 1980 թվականին Սթենֆորդի համալսարանի Ռալֆ Մերքլի կողմից: Մերկլի ծառ սովորաբար օգտագործվում է հավասարազոր (P2P) ցանցերում՝ հաշվիչ հզորության և հիշողության տարածքի պահանջները լուծելու համար: Չափազանցություն չի լինի, եթե ասենք, որ Մերկլի ծառերը բլոկչեյն տեխնոլոգիան հսկայական հաջողություն բերեցին: Այսպիսով, եկեք խորամուխ լինենք Մերկլի ծառի ետևում գտնվող իմաստին և ինչպես է այն աշխատում:

https://www.youtube.com/watch?v=YIc6MNfv5iQ

Մերկլի ծառի ակնարկ

Պարզ ասած, Merkle ծառը ներկայացնում է տվյալների նպատակային կառուցվածքի ձևը: Այն թույլ է տալիս արագ և արդյունավետ ստուգել բլոկչեյնի վրա մեծ քանակությամբ տեղեկատվության: Ինչպես նշվեց ավելի վաղ, Ռալֆ Մերքլը անգիտակցաբար այն ստեղծել է որպես հայեցակարգ «A Certified Digital Signature» վերնագրով հոդվածում։ Բայց ոչ ոք չէր սպասում, որ այն ապագայում կդառնա ապակենտրոնացված հաշվառման հիմնական բաղադրիչ:

Մերկլի ծառը բարելավել է ծածկագրության աշխարհը իր սկզբից: Բայց դա կենսական նշանակություն ունեցավ կրիպտոարժույթների համար այն բանից հետո, երբ Bitcoin-ի առեղծվածային ստեղծողը օգտագործեց այն BTC-ի հիմնարար կոդում: Դրանից հետո Ethereum-ը և այլ կրիպտոարժույթները նույնպես ընդունեցին Merkle ծառերը։

Բիթքոյն ցանցի դեպքում Merkle-ի ծառերը արդյունավետ բաղադրիչ են, որոնք տվյալների ստուգման համար մեծ չափի տեղեկատվական ֆայլի փոխարեն օգտագործում են հեշեր: Մերկլի ծառը օգտագործում է եզակի նկարագրական տերմինաբանություն՝ նկարագրելու հանգույցների և դրանց մակարդակների միջև փոխհարաբերությունները:

Բլոկչեյնի յուրաքանչյուր բլոկ պարունակում է մի շարք գործարքներ: Այդ բոլոր գործարքների պահպանումը և կոնկրետ գործարքների որ բլոկին պատկանող կոնկրետ գործարքներ գտնելը կարող է հիասթափեցնող թանկ առաջադրանքներ լինել: Բացի այդ, դա կարող է բացասաբար ազդել բլոկչեյնի արդյունավետության վրա: Այնուամենայնիվ, Merkle ծառերի դեպքում բոլոր գործարքները արդյունավետ կերպով կազմակերպվում են, ինչը հանգեցնում է ստուգման համար ավելի քիչ տվյալների օգտագործման և պրոցեսորի վերամշակման կրճատմանը:

Հասկանալով, թե ինչպես է Merkle ծառը աշխատում բլոկչեյնում

Ահա մի պարզ օրինակ այս հայեցակարգը պարզաբանելու համար. 

merkeltree

Պատկերացրեք տվյալների բլոկը, ինչպիսին է վերը նշվածը, որն ունի 4 գործարք՝ L1, L2, L3 և L4: Այս գործարքները պահելու համար մենք կարող ենք իրականացնել Մերկլի ծառի հայեցակարգը՝ հաշվարկելով յուրաքանչյուր գործարքի հեշը: հետո հաշվարկ, մենք ստանում ենք Hash L1, Hash L2, Hash L3 և Hash L4:

Յուրաքանչյուր գործարքի այս հեշերը պահվում են Merkle ծառի հանգույցում, որը սովորաբար կոչվում է տերևային հանգույց: Բայց մեր աշխատանքը շարունակվում է, քանի որ մենք պետք է ձևավորենք ոչ տերևային հանգույցներ՝ զուգակցելով տերևային հանգույցները: Հաշվարկից հետո մենք ստանում ենք Hash 0 և Hash 1, որոնք կոչվում են L1, L2, L3 և L4 հեշերի մայր հանգույցներ կամ ոչ տերեւային հանգույցներ:

Վերջապես, Hash 1-ի և Hash 2-ի հեշը հաշվարկվում է դրանք զուգավորելով, և մենք հասնում ենք արմատային հանգույցին, որը Մերկլի արմատն է: Այս օրինակի միջոցով մենք հասկանում ենք, որ Մերկլի ծառերը աշխատում են՝ բազմիցս հեշելով մանկական հանգույցները, մինչև կառուցվածքի ներսում մնա եզակի հեշ:

Այս կերպ Մերկլի ծառը հստակ ասում է, թե արդյոք գործարքն ազդել է ծառի վրա՝ ստուգելով միայն ծառի արմատը: Merkle-ի արմատը պահվում է բլոկի վերնագրում՝ դարձնելով այն խափանումների դեմ և ուժեղացնելով վստահությունն ու ամբողջականությունը ապակենտրոնացված մատյանում: Կարևոր է նշել, որ Merkle-ի ծառերն օգտագործում են միակողմանի հեշ ֆունկցիա և կշարունակվեն այնքան ժամանակ, մինչև այս հեշինգը չտարանջատի տվյալների ապացույցը տվյալներից:

Մերկլի ծառերի անհրաժեշտությունը բլոկչեյնի համար

Այժմ, երբ մենք քննարկեցինք, թե ինչ է Merkle ծառը և ինչպես է այն աշխատում, մնում է հասկանալ, թե ինչու է այն կարևոր բլոկչեյնի համար: Մերկլի ծառի բազմաթիվ առավելությունները այն դարձնում են անհրաժեշտություն բլոկչեյն տեխնոլոգիայի և նույնիսկ կրիպտո հարթակների համար: Այս առավելություններից մի քանիսն են.

Երբ խոսքը վերաբերում է տվյալների փոխանցմանը, հաշվարկին և անցմանը, ուշացումներն անթույլատրելի են: Ահա թե ինչու շատ բլոկչեյններ օգտագործում են Merkle ծառը, որպեսզի ցանցը զերծ պահի ցանկացած տեսակի ուշացումներից տվյալների փոխանցման ժամանակ: Նվազեցնելով տվյալների ամբողջականությունն ու վավերականությունն ապացուցելու համար պահանջվող հիշողության քանակը՝ Մերկլի ծառերը դառնում են բլոկչեյնի էական մասը:

Bitcoin բլոկչեյնում, որը բաշխված P2P է, կարող են լինել անհամապատասխանություններ կամ նույնիսկ տվյալների կեղծում, քանի որ նույն տվյալները գոյություն ունեն P2P ցանցին միացված յուրաքանչյուր համակարգչի վրա: Այս դեպքում, Merkle ծառը հեշտացնում է հանքագործների համար ցանկացած տեսակի անհամապատասխանություն կամ գործարքների խախտում:

Առանց այս հայեցակարգի օգտագործման, բոլոր տվյալները պետք է փոխանցվեն ամբողջ ցանցով, ինչը կհանգեցնի ցանցի դանդաղեցմանը, արդյունավետության նվազմանը և ավելորդ ծախսերին: Նման սցենարից կարելի է խուսափել Merkle ծառերի օգնությամբ, որոնք թույլ են տալիս տվյալների արագ ստուգում գործնական հաշվողական հզորությամբ և թողունակությամբ։

Եզրափակիչ մտքերը

Մերկլի ծառերը կարծես բարդ հասկացություն են, բայց դրանք բլոկչեյն տեխնոլոգիայի և կրիպտոարժույթների կարևոր բաղադրիչն են: Առանց այս հայեցակարգի գոյության, չէր լինի անվստահելի համակարգ, որն օգտագործվի Bitcoin-ում, Ethereum-ում և մայնինգում:

Հաճախ տրվող հարցեր:

Q1. Ինչի՞ հասնելու համար են նախատեսված Մերկլի ծառերը:
Մերկլի ծառը նախագծվել է որպես տվյալների ստուգման գործընթաց, որը թույլ է տալիս համակարգիչներին ավելի արագ աշխատել:
Q2. Ի՞նչ կապ կա Merkle ծառի և Ethereum-ի միջև:
Մերկլի ծառը բլոկչեյն կառուցվածքի մի տեսակ է, որը կանգնած է ոչ միայն Ethereum-ի, այլև Bitcoin-ի և կրիպտո մայնինգի գործընթացի հետևում: Այնուամենայնիվ, Ethereum-ը օգտագործում է Merkle ծառի փոփոխված տարբերակը, որը սովորաբար հայտնի է որպես Merkle Patricia ծառ:
Q3. Ինչպես իրականացնել Merkle ծառը
Մերկլի ծառերն իրականացնելու համար հարկավոր է սկսել երկուական ծառերից, որոնցում յուրաքանչյուր ոչ տերևային հանգույց երկու երեխա հանգույցների հեշն է: Այս տերևները կարող են կամ տվյալներ պարունակել կամ պարունակել տվյալների հաշը.
Q4. Որո՞նք են Մերկլի ծառի որոշ առավելություններ:
Լինելով թեթև կառուցվածք, որը մեծացնում է մասշտաբայնությունը բլոկչեյնի ներսում՝ Merkle ծառը կարող է ազատվել ավելորդ տվյալներից և այդպիսով բարելավել արդյունավետությունը: Թե՛ հանքագործները, և թե՛ օգտվողները կարող են օգտվել Merkle ծառից, քանի որ այն ստուգում է բլոկների առանձին մասերը, ստուգում է գործարքները՝ օգտագործելով հեշերը, ինչպես նաև հաշվարկում է հեշերը, երբ նրանք ստանում են գործարքներ:
 

 

Աղբյուր՝ https://coingape.com/education/explained-what-is-a-merkle-tree-in-blockchain-and-how-does-it-work/