درخت مرکل در دنیای رایانه عموما برای رمز نگاریهای مختلف کاربرد دارد و در بلاک چین نیز از درخت مرکل برای رمزنگاری استفاده میگردد.
درخت مرکل در واقع نموداری درختی شکل است؛ که برای ساختاربندی انواع داده از آن استفاده میشود.
برای آشنایی با درخت مرکل در ارزهای دیجیتال، ساختار درخت مرکل و کاربرد آن در ادامه مطلب باما همراه باشید.
درخت مرکل چیست؟
درخت مرکل که با نام درخت هش نیز شناخته میشود در واقع یک نموداری درختی شکل است که برای پیکربندی دادهها و ایجاد یک ساختاری رمز نگاری شده در دادههای مختلف از آن استفاده میشود.
از درخت مرکل در بلاک چین برخی از ارزهای دیجیتال مانند بیت کوین BTC و اتریوم ETH استفاده میشود.
هر برگ درخت مرکل نشان دهنده یک هش (Hash) میباشد که این هشها، همان اطلاعات بلاک هستند که رمز نگاری شدهاند.
معمولا بلاکچین از درخت مرکل برای پردازش دادهها استفاده مینماید. اما یکی دیگر از کاربردهای مهم درخت مرکل ایمن سازی و کاهش حجم دادههای پردازش شده است.
درخت مرکل مقادیر هش هر تراکنش یا شناسه تراکنش را در یک برگ جداگانه ذخیره مینماید.
ساختار درخت مرکل به شکل یک درخت وارونه است برای همین قادر میباشد مجموعه زیادی از تراکنشهای انجام شده را در بلاک خود خلاصه و ذخیره کند.
برای استفاده از درخت مرکل،عملیات هشینگ مورد استفاده قرار میگیرد. درعملیات هشینگ، هر یک جفت گره متمایز تبدیل به یک هش میشوند و این عملیات انقدر ادامه مییابد تا در نهایت تنها یک هش با مقداری مشخص باقی بماند که به این هش، ریشه درخت میگویند.
درخت مرکل چگونه کار میکند؟
در درخت مرکل هش تمام تراکنشهای مرتبط به صورت دو به دو، زیر تابع هش قرار میگیرند. این عملیات تا زمان رسیدن به یک هش نهایی به نام ریشه درخت مرکل ادامه پیدا میکند.
همانطور که گفته شد تعداد ورودیهای تابع هش باید زوج باشند؛ پس اگر تعداد هشها فرد باشد، بطور خودکار هش آخر یک بار تکرار میشود و سپس با خودش جفت میشود.
برای درک بهتر بهعنوان مثال فرض کنید ۲۰۰ تراکنش در برگهای درخت دارید. در قدم اول زیر تابع هش به ۵۰ و سپس به ۱۰، ۵ و در انتهای کار به ۱ هش خلاصه میشوند.
هش نهایی ریشه درخت مرکل است، که در خود اطلاعات ۲۰۰ هش قبلی را نمایش میدهد یا به عبارت دیگر هش، ریشه نشان دهنده اطلاعات تمامی هشها میباشد و با ایجاد هر تغییر کوچکی در تراکنشها ممکن است نتیجه نهایی تراکنش تغییر کند.
همین امر موجب شده است عملاً ایجاد تغیر یا دستکاری در تراکنشها غیرممکن شود.
البته باید به این موضوع توجه نمایید که درخت مرکل صرفا فهرستی از تراکنشهای انجام شده نیست؛ چراکه درخت مرکل بدون داشتن دسترسی به تمامی تراکنشها این توانایی را دارد هر شاخهای را به صورت مجزا اعتبارسنجی نماید.
در درخت مرکل، اگر نسخه اولیه اطلاعات مخدوش شود یا تکه ای از اطلاعات آن از دسترس خارج شود، میتوان بخشهای کوچکتر از دادهها را مجدداً بررسی کرد.
کاربرد درخت مرکل
درخت مرکل در ارزهای دیجیتال کاربرد فراوانی دارد. یکی از مهمترین کاربردهای آن، فرایند یکپارچهسازی دادهها میباشد.
درخت مرکل به کاربران این امکان را میدهد که بدون دانلود کردن کل بلاک چین که حجم قابل توجهی دارد( چیزی بیش از 300 گیگابایت)، یک تراکنش مشخص را تایید کنند.
اهمیت درخت مرکل برای بیت کوین
درخت مرکل را میتوانیم یکی از ستونهای اصلی زیربنای بلاک چین بیت کوین بدانیم. اگر بلاک چینی مانند بیت کوین میخواست بدون درخت مرکل فعالیت نماید، می بایست در هر هش از بیت کوین اطلاعات کامل تمام دادههای مربوط به هر تراکنشی که تا به حال روی بیتکوین انجام شده است را نگهداری میکرد. این امر از چند سو بیت کوین را دچار مشکل میکرد؛ اول این که اگر بیت کوین میخواست تمامی اطلاعات تراکنشهای قبلی را در خود ذخیرهسازی کند، از جایی به بعد برای انجام تراکنش، نیاز به فضای ذخیرهسازی بسیار قابل توجهی پیدا میکرد.
از سوی دیگر درخت مرکل امکان ایجاد تغییرات و دستکاری در اطلاعات تراکنشها را غیر ممکن میسازد. اگر بلاک چین بیت کوین نمیخواست از درخت مرکل استفاده نماید با مشکلات امنیتی زیادی روبرو میشد.
درخت مرکل در بلاک چین بیت کوین، هنگام بررسی تراکنشی خاص، به کمک میآید و این امکان را به کاربران میدهد تا به جای بررسی تمامی هشهای موجود، تنها با بررسی ریشه درخت مرکل، یک تراکنش جدید ثبت نمایند.
درخت مرکل با کاهش دادن حجم دادهها، زمان مورد نیاز برای انتقال دادهها به سرتاسر شبکه بلاک چین را کاهش میدهد.
بهغیر از بیت کوین، تعداد زیادی از شبکههای بلاک چین ارزهای دیجیتال دیگر هم از درخت مرکل استفاده مینمایند.
اما استفاده از درخت مرکل در تمامی ارزهای دیجیتال به یک صورت نیست و برخی از آنها روش استفاده متفاوتی از این ساختار داده دارند.
برای مثال، درخت مرکل شبکه اتریوم برای هر بلاک سه ریشه متمایز برای درخت مرکل تولید مینماید.
بخاطر همین کاربردهای مهم درخت مرکل است که بسیاری از کارشناسان معتقدند اگر درخت مرکل نبود، شاید ارزهای دیجیتالی مانند بیت کوین و اتریوم دارای چنین قدرتی نبودند.
مزایای استفاده از درخت مرکل در دنیای ارزهای دیجیتال چیست؟
همانطور که گفته شد، استفاده از درخت مرکل موجب تحول مثبتی در دنیای ارزهای دیجیتال شده است. در ادامه به بررسی چند مورد از مهمترین مزیتهای درخت مرکل خواهیم پرداخت:
- بالا بردن سرعت انجام تراکنشها در بلاک چین
- بالا بردن امنیت بلاک چین
- بالابردن سرعت تایید صحت اطلاعات
- آسانسازی فرایند و کاهش چشمگیر تعداد دادههای مورد نیاز برای بررسی صحتسنجی اطلاعات شبکه بلاک چین
- کاهش چشمگیر حافظه مورد نیاز برای نگهداری و ذخیره اطلاعات
- سهولت در انتقال اطلاعات در سراسر شبکه بلاکچین
- امکان برسی قسمت خاصی از اطلاعات بلاک چین، بدون در دست داشتن اطلاعات کامل شبکه
کلام آخر
درخت مرکل، یک روش کارآمد برای بالا بردن انجام محاسبات در شبکه بلاک چین میباشد که با استفاده از تابع هش فعالیت مینماید.
از سوی دیگر در درخت مرکل برای انجام یک تراکنش، نیاز به بررسی تمامی گرههای بلاک چین نیست و تنها با دانستن ریشه درخت مرکل شما قادر به انجام تراکنشی جدید خواهید بود.
اگر ارزهای دیجیتال مهم مانند بیت کوین، از مرکل در شبکه بلاک چین خود استفاده نمیکردند، انجام تراکنشهای جدید در آنها عملا غیرممکن و بسیار زمانبر میشد.
درخت مرکل ضامن تغییرناپذیری و یکپارچگی میان دادهها در سراسر شبکه بلاک چین میباشد و همچنین در فرایند خود، برای تسریع عملیات اعتبار سنجی ساختار داده تا حد زیادی اطلاعات را فشرده میکند.