درخت مرکل چیست و چه کاربردی در بلاک چین دارد؟
درخت مرکل ساختاری اطلاعاتی است که در حوزۀ علوم رایانه استفاده میشود. این درخت در زمینۀ بیتکوین و رمزارزهای دیگر در مسیری امن و کاربردی به رمزگذاری دادههای بلاک چین کمک میکند. به این درختها درختان هش باینری هم میگویند. در ادامه، دربارۀ این ساختار بیشتر میخوانید.
درخت مرکل (Merkle Tree) چیست؟
هر بلاک تراکنش در بلاک چین بیتکوین، در بستر الگورتیمی اجرا میشود تا یک هش (hash) به وجود بیاید. هر هش رشتهای از اعداد و حروف است که میتواند نشان بدهد مجموعهای از دادهها مشابه مجموعۀ تراکنشهای اصلی هستند اما شامل آن مجموعۀ اصلی نمیشوند. نرمافزار بیتکوین در سراسر بلاک دادههای تراکنش اجرا نمیشود و بهطور متوسط ده دقیقه از تراکنش را نمایش میدهد. این مسیر از راه عملیات هش صورت میگیرد. هر تراکنش هش میشود و سپس هر جفت از تراکنشها به هم پیوند داده میشوند. این روند ادامه پیدا میکند تا یک هش برای بلاکی کامل شکل گیرد. اگر عدد عجیبی در تراکنشها باشد، یکی از تراکنشها تکرار و هش آن با خودش جمع و پیوند داده میشود. بهعبارت دیگر، مرکل تری یا همان درخت مرکل که به هشتری (hash tree) هم معروف است، درختی است که هریک از برگهایش با هش رمزگذاریشده از بلاک دادهها نامگذاری میشود.
کاربرد درخت مرکل چیست؟
درختان مرکل ساختارهای دادهای هستند و در دنیای بیتکوینها و رمزارزهای دیگر هم برای رمزگذاری دادههای شبکههای بلاک چینی استفاده میشوند. با وجود آنها امنیت و سهولت کارها بهتر پیش میرود. درواقع، درخت مرکل ساختاری متشکل از هشهای بلاکهای دادهای متنوع است که تمام تراکنشهای هر بلاک را خلاصه میکنند. با وجود درختان مرکل، امکان تأیید محتوای شبکههای بلاک چینی بهشیوهای امن و سریع به وجود میآید و در مجموعههای بزرگ دادهها انسجامی قابلقبول شکل میگیرد.
ریشۀ درخت مرکل چیست؟
ریشۀ مرکل روش محاسباتی سادهای است که برای تأیید اطلاعات موجود در درخت آن استفاده میشود. این ریشهها در دنیای رمزارزها به کار میروند تا این اطمینان حاصل کنند که بلاکهای دادۀ فرستادهشده از راه شبکۀ همتابههمتا جامع، بيخدشه و بیتغییر هستند. نقش ریشۀ درخت در محاسبات لازم برای پیشبرد تراکنشهای بلاک چینی مانند معاملات اتریوم و بیتکوین ضروری و مهم است.
توابع هش رمزنگاریشده چیست؟
هر تابع هش میتواند هرگونه داده با هر اندازه و طولی را با اندازهای مشخص از خروجیها تعریف کند. در امور رمزنگاری در شبکههای بلاک چینی هم از این کاربرد و کیفیت زیاد استفاده میشود. توابع هش برای رمزنگاری داراییها و متعلقات کاربرد دارند؛ چون مسیری یکطرف برایشان در نظر گرفته میشود و توابعی یکسویه هستند. برای درک بهتر این توابع، بهتر است به این مثال توجه کنید: اگر از الگوریتم SHA256 hash algorithm استفاده و ۱۰۱ بلاک چین بهعنوان ورودی در نظر گرفته شود، خروجیهای زیر به دست میآیند:
fbffd63a60374a31aa9811cbc80b577e23925a5874e86a17f712bab874f33ac9
از ویژگیهای شاخص هر تابع هش میتوانیم به موارد زیر اشاره کنیم:
مشخص و قطعیبودن؛
امکان مهندسی معکوسشان وجود ندارد؛
از نظر محاسباتی کاربردی و مفید هستند؛
امکان پیداکردن دو داده با خروجی یکسان در آنها ضعیف است.
عملکرد درخت مرکل چگونه است؟
هر درخت مرکل تمام تراکنشهای یک بلاک را مجتمع میکند و اثرانگشتی دیجیتالی از تمام مجموعههای عملیات میسازد و به کاربران اجازۀ تأیید هرچیز در شبکه ازجمله تراکنشهایشان را میدهد. درختان مرکل با هشگذاری جفتهای گرههای بلاک چین بهطور مداوم و تکراری تا رسیدن به یک هش باقیمانده کار خود را پیش میبرند. این هش باقیمانده به ریشۀ مرکل یا هش ریشه معروف است.
درختان مرکل براساس شناسههای هویتی تراکنش ساخته میشوند و هشهای هر تراکنش منفرد بهحساب میآیند. هر گره هشی که در شمار برگهای درخت قرار نمیگیرد، از هش قبلی است و هر گره برگ هم هشی از دادههای تراکنش به شمار میرود.
برای درک بهتر موضوع، دوباره مثالی مطرح میکنیم: فرض کنید که الف، ب، ج و د چهار تراکنش هستند و همگی روی بلاک مشترکی اجرا میشوند. هر تراکنش هم هش میشود و چنین چیزهایی باقی میگذارد:
هش الف؛
هش ب؛
هش ج؛
هش د.
هشها با هم جفت میشوند و نتیجهای به این ترتیب به وجود میآورند:
هش الفب؛
هش جد.
درنهایت هم درخت مرکل با تلفیق این دو هش میشود: الفبجد.
البته در عمل، درختهای مرکلی که ایجاد میشوند بسیار پیچیدهتر هستند اما این مثال به شما کمک میکند تا دیدی خوب نسبت به عملکرد الگوریتم پیدا کنید و متوجه شوید که چرا اثرگذار و مفید است.
مزایای درخت مرکل در بلاک چین چیست؟
درختان مرکل چند مزیت درخشان فراهم میکنند:
برخلاف ساختارهای دادهای دیگر فضای دیسک زیادی اشغال نمیکنند.
دادهها را بهطور یکپارچه اعتبارسنجی میکنند و برای صحتسنجی دادهها کاربرد دارند.
درختان مرکل میتوانند به بخشهای دادهای کوچکتر تقسیم شوند و امکان تأیید دادهها را به وجود بیاورند.
فرمت و شکل دادهها در این ساختار مؤثر و کاربردی است و تأیید یکپارچگی دادهها فقط چند لحظه طول میکشد.
اهمیت درخت مرکل در شبکههای بلاک چین چیست؟
اگر درخت مرکل در روند تراکنشهای رمزارزی مانند بیتکوین در بلاک چین وجود نداشت، هر گره از شبکه باید رونوشتی از هر تراکنش انجامشدهای را حفظ میکرد که تاکنون در شبکه صورت گرفته است. چنین چیزی به معنای حجم وسیعی از اطلاعات است. هرگونه احراز تراکنش بیتکوینی هم به انتقال حجم بزرگی از دادهها در شبکه نیازمند بود. بنابراین، هر کاربر باید خودش اقدام به تأیید دادهها میکرد. برای اینکه مشخص شود، هیچگونه اصلاح و تغییری هم در روند عملیات و تراکنشها انجام نشده و به رایانههایی احتیاج بود که توانایی محاسباتی زیادی دارند. درخت مرکل این مشکلات را حل میکند و روند تأیید دادهها را از خود آنها جدا میکند تا سادهسازی صورت بگیرد. با وجود درختان مرکل، فقط به اطلاعاتی اندک برای تأیید تراکنشها نیاز است.
در آخر
درخت مرکل از نیازهای واجب و ضروری بلاک چین است و به رشد آن در دنیای فناوری اطلاعات کمک شایانی میکند. برای تأیید دادهها و پیشبرد سادهتر تراکنشها نیاز به ساختار دادهای مانند این درخت است که روند تأیید فعالیتها را در مسیری ساده، سریع و مؤثر پیش ببرد. فناوری بلاک چین به مدد ساختارها و امکاناتی نظیر این درخت مدام به شکل و حالتی بهینهتر درمیآید. فناوری بلاک چین و متعلقات دنیای آن قابلتوسعه هستند و بهنظر میرسد که با وجود تمام نوسانات و نقدهایی که دارند، باز هم برای ماندگاری و ایجاد تغییرات کلان در این دنیا پا به میدان گذاشتهاند. بهعبارت دیگر، انکار و پسزدن آنها ممکن نیست.
به این مقاله امتیاز دهید
(۲۱۳ رای)
۴.۴
/۵