Merkle Trees болон Merkle Roots гэж юу вэ?

1980-аад оны үед, PKC-аараа олноо танигдсан, компьютерийн шинжлэх ухаанч Ральф Меркл (Ralph Merkle) анх, Merkle Tree буюу Мерклийн модны загварын санааг дэвшүүлж байжээ. Уг зохион байгуулалт нь, өгөгдлийн бүрэн бүтэн байдлыг үр дүнтэйгээр баталгаажуулах зорилгоор зохиогдсон, P2P сүлжээнд нэн тохиромжтой арга юм. Мерклийн мод нь, хэшлэлд үндэслэн ажиллах тул, энэхүү нийтлэлийг дэлгэрүүлэн уншихын өмнө, ЭНД дараад, хэшлэл гэж юу болохтой танилцаарай.

Мерклийн модны товчхон танилцуулгыг уншихыг илүүд үзэж байвал, ЭНД дараад "Крипто тайлбар толь" цуврал нийтлэлийн тэргүүн дугаар дахь "Хэшийн мод" бүлгийг уншиж болно.

Яаж ажилладаг вэ?

Их том хэмжээтэй фаял татах хэрэг гарлаа гээд төсөөлцгөөе. Нээлттэй эх дээр хөгжүүлэгдэж буй програм ашиглан тэрхүү фаялынхаа хэшийг, хөгжүүлэгчийнх нь зарласантай харьцуулан тулгаж, албан ёсны, засвар ороогүй болохыг нь таньж, мэдэж болно. Хэш зөрж байвал, 1 бол дүр эсгэсэн хорлон сүйтгэгч програм татчихсан, үгүй бол татах явцад ямар 1 алдаа гарснаас, дутуу эсвэл алдаатай бичигдсэн байж болно. Эхнийх нь тохиолдсон бол, түүнийг ачааллуулж хэрхэвч болохгүй, шууд устга. Аль ч тохиолдолд дахиад эхнээс нь татах хэрэг гарах бөгөөд, том фаялын хувьд үүн шиг төвөгтэй зүйл гэж байхгүй. Энэ асуудлыг л шийдвэрлэх зорилгоор, Merkle Root буюу Мерклийн үндсийг бүтээсэн юм шүү дээ. Үүний тусламжтайгаар, фаялаа олон хэсэгт задалж, илгээх боломж бүрдсэн. Жишээ нь, татаж авах гээд байгаа чухал фаял тань, 50 Gb хэмжээтэй гэж үзвэл, тус бүрийг нь 500 Mb буюу 0.5 Gb болгон, 10 хэсэгт хуваагаад, 1, 1-ээр нь татаж авч болно. Торрентоор фаял татахад яг ийм зарчим үйлчилж байдаг. Илгээгч нь, хүлээн авагчид хэш буюу Мерклийн үндсийг өгөх ба, түүнд нь тэрхүү фаялын бүх хэсгүүдийн мэдээлэл агуулагдсан байх юм. Ингэхдээ Мерклийн үндэс нь, тэдгээр мэдээллийг баталгаажуулах ажлыг маш ихээр хөнгөвчилдөг давуу талтай. Илүү ойлгомжтой болгох үүднээс, 8 Gb фаялыг, 8 хэсэгт хуваасан жишээг ашиглав. Хэсэг бүрийг латин цагаан толгойн үсгийн дарааллаар буюу A-с, H хүртэлх үсгээр нэрлэе. Тэгээд тэдгээрийгээ тус бүрд нь хэшилж, 8 тусдаа хэшийг гаргаж авна.

Хэсгүүдээс 1 нь гэмтэхэд, хэшийг нь хараад, аль нь болохыг шууд таних боломжтой ч, олон мянган хэсгээс бүрдсэн үед, ингэж ялгана гэдэг бас их хэцүү ажил болж хувирна. Тэгвэл энэ асуудлыг, 1 ерөнхий хэш үүстэл, хэшүүдийн хослолын хэшийг үүсгэж ашиглах замаар шийдвэрлэж болох ба үүнээс бүрэлдэх тогтолцоог, Мерклийн үндэс гэж нэрлэдэг.

Татсан фаялынхаа Мерклийн үндсийг, эх сурвалжынхтайгаа тулгаад, таарч байвал ажиллагаа амжилттай өндөрлөжээ гэж үзэж болно гэсэн үг. Таарахгүй байгаа тохиолдолд аль мөчирний, аль дэд мөчирт алдаа гарснаар нь хөөгөөд, тун хялбархан олж болох юм. Багахан өөрчлөлтөнд л тэс ондоо хэш үүсдэг тул, Мерклийн үндсийн найдвартай байдалд бүрэн итгэж болно.


Биткойнд яагаад Мерклийн үндсийг ашиглах болсон бэ?

Мерклийн үндсийг ашигласан, хэрэглээний жишээ зөндөө бий боловч, гол сэдвийнхээ хүрээнд, Блокчэйн технологитой холбоотой хэрэглээг л онцлон судлацгаая. Мерклийн үндэс нь, Биткойн болон өөр бусад олон крипто валютийн хувьд, нэн чухал хэсэг нь болдог буюу блок тус бүрд багтаж, толгой хэсгийг нь бүтээж байдаг. Гүйлгээний дугааруудыг, модны навчисуудаар төлөөлүүлэн илэрхийлж болох ба Мерклийн үндэс нь дараах үүргүүдийг гүйцэтгэнэ. Үүнд:

Олборлолт

Биткойны блокууд 2 үндсэн хэсгээс бүтдэгийн эхнийх нь, блокын толгой буюу блокын хураангуй өгөгдлийг багтаасан, заасан хэмжээ бүхий тасаг байдаг бол, 2 дахь нь гүйлгээнүүдийн мэдээллийг агуулсан, тогтсон хэмжээгүй ч, толгой хэсгээс том зайг эзлэх тасаг байдаг. Хүлээн зөвшөөрөгдөхүйц блок үүсгэхийн тулд олборлогч нар өгөгдлүүдийг ахин дахин хэшилж, олон их наяд удаагийн оролдлогыг гүйцэтгэх нь бий. Ингэхдээ блокын толгой дахь давтагдашгүй дугаарыг ахин дахин сольж үзэх боловч, бусад хэсгийг нь бараг огт өөрчлөхгүй. Хэдийгээр 1 блокт асар олон гүйлгээний мэдээлэл орж болох ч, тухай бүрт тэдгээрийг бүгдийг нь боловсруулах шаардлагатай байдаг. Эцсийн үр дүнд, өөрчлөх боломжгүй үр дүн үүсч, блок дахь бүх мэдээллийг базагдах ёстой учир, дан толгойгоо эхэлж хэшлээд, тохирох үр дүнг олсныхоо дараа, гүйлгээнүүдийн мэдээллийг нэмнэ гэж байхгүй. Блокыг батлуулахаар, зангилаануудад илгээх үед түүний толгой дахь мэдээлэл, гүйлгээнүүдийнхээс зөрж байвал, тухайн блокыг хүчингүйд тооцдог нь, Мерклийн үндсийн зохицуулалт юм.

Баталгаажуулалт

Бүхэл бус зангилаанууд нь, гүйлгээний мэдээллийн үнэн бодит байдлыг нотлох Merkle proof буюу Мерклийн баталгааг татаж авч ашигладаг ба үүнийг ихэвчлэн, Сатоши Накамотогын Биткойны танилцуулгадаа тодорхойлсны дагуу, Simplified Payment Verification (SPV) буюу гүйлгээний хялбаршуулсан баталгаажуулалт хэмээн нэрлэнэ.

Мерклийн баталгааны ачаар, дээрх зурагт харуулсны адилаар 3 удаагын хэшлэлийг гүйцэтгээд л гүйлгээнийхээ баталгаажуулалтыг гаргаж авах боломж бүрдсэн. Эс бөгөөс 7 удаагийн хэшлэл шаардагдах байсан ба, блокт мянга мянган гүйлгээг бичдэг болсон өнөө цагт, Мерклийн баталгаа шиг чухал шийдэл бараг үгүй юм.


Уг нийтлэл болон манай БЛОГ танд таалагдсан бол манай Fb хуудас болон twitter хуудас дээр биднийг дагаарай!

Баярлалаа!