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