مقدمه
درخت مرکل (Merkle Tree) یک ساختار دادهای است که در برنامههای علوم کامپیوتر استفاده میشود. در بیت کوین و سایر ارزهای رمزنگاریشده برای کدگذاری موثر و ایمن دادههای بلاکچین استفاده میشود. درخت مرکل «درخت باینری هش» نیز نامیده میشود.
رمزیابی درخت مرکل (Merkle Tree)
در بلاکچین بیتکوین بلوکی از تراکنشها از طریق یک الگوریتم برای تولید هش اجرا میشود؛ بلاکچین مذکور رشتهای از اعداد و حروف است که تایید میکند مجموعه دادههای معین با مجموعه دادههای اصلی تراکنشها یکسان است. اما هدف آن به دست آوردن دادههای اصلی تراکنشها نیست.
مطالب مرتبط: منظور از هش (Hash) چیست؟
البته نرم افزار بیتکوین کل بلوک دادههای تراکنش را -که به طور متوسط نشان دهنده 10 دقیقه تراکنش است- از طریق تابع هش در یک زمان اجرا نمیکند. در عوض هر تراکنش هش میشود و هر جفت تراکنش به یکدیگر اضافه و هش میشوند و به همین ترتیب ادامه مییابد تا زمانی که یک هش برای کل بلوک پدید آید. (اگر تعداد تراکنش فرد باشد، تراکنش دو برابر میشود و هش آن به خودش اضافه میشود.)
این ساختار شبیه یک درخت به نظر میرسد. در نمودار زیر حرف «T» نماینده تراکنش و «H» نماینده هش است. توجه داشته باشید که تصویر بسیار ساده شده است؛ زیرا یک بلوک متوسط 8 تراکنشی نیست و بیش از 500 تراکنش دارد.
به هشهای ردیف پایین «برگ»، هشهای میانی «شاخه» و هشهای بالا «ریشه» گفته میشود. ریشه مرکل یک بلوک معین است که در سربلوک ذخیره میشود.
مثالی از درخت مرکل (Merkle Tree)
برای مثال ریشه مرکل بلوک #482819 برابر است با:
(e045b18e7a3d708d686717b4f44db2099aabcad9bebf968de5f7271b458f71c8).
این ریشه با سایر اطلاعات (نسخه نرمافزار، هش بلوک قبلی، تاییدیه زمانی، دشواری هش هدف و تکبار (nonce)) ترکیب و از طریق یک تابع هش اجرا میشود تا هش منحصربهفرد بلوک را ایجاد کند. پس خواهیم داشت:
(000000000000000000bfc767ef8bf28c42cbd4bdbafd9aa1b5c3c33c2b089594).
این هش در بلوک مربوطه قرار ندارد، بلکه در بلوک بعدی جای دارد و از ریشه مرکل متمایز است.
درخت مرکل (Merkle Tree) مفید است زیرا به کاربران اجازه میدهد تا یک تراکنش خاص را بدون دانلود کل بلاکچین تأیید کنند (کل این بلاکچین در پایان ژوئن 2021 بیش از 350 گیگ است).
برای نمونه فرض کنید میخواهید تراکنش TD را در بلوک نمودار بالا تایید کنید. اگر هش ریشه (HABCDEFGH) را در اختیار داشته باشید. این فرآیند مانند بازی سودوکو خواهد بود: شما شبکه را برای یافتن HD بررسی میکنید. و به گزینههای HC ،HAB و HEFGH میرسید.
درخت مرکل (Merkle Tree) به شما امکان میدهد که همه چیز را با سه هش محاسبه کنید:
با توجه به اینکه گزینههای HAB ،HC ،HEFGH و ریشه HABCDEFGH را در اختیار دارید، HD (تنها هش گمشده) باید در دادهها موجود باشد.
درخت مرکل (Merkle Tree) به افتخار رالف مرکل نامگذاری شد؛ وی این درخت را در مقالهای با عنوان «امضای دیجیتال بر اساس یک تابع متعارف رمزگذاری» در سال 1987 پیشنهاد داد. وی همچنین هش رمزنگاری را نیز اختراع کرد.
سخن پایانی
این مقاله، تنها برای آشنایی با مفهوم درخت مرکل (Merkle Tree) نوشته شده است. از آنجا که احتمالا به دلیل تخصصی بودن، کمی پیچیده باشد، از توضیحات و جزئیات بیشتر جلوگیری شده است.اما در آینده ای نزدیک سعی خواهد شد در بلاگ اتراکس یشتر به این مساله بپردازیم.
اتراکس بهترین همراه شما در بازار ارزهای دیجیتال
اتراکس، یک صرافی ارز دیجیتال برای ایرانیان است که با ارائه بیش از 350 ارز معتبر، یک مقصد معتبر و محبوب برای معامله گران از سرتاسر جهان می باشد. این صرافی با تمرکز بر امنیت و سرعت بالا در انجام معاملات و با دارا بودن خدمات خودکار، رابط کاربری ساده و مدرن و درگاه بانکی نقطه ای امن برای شروع خرید و فروش رمز ارزها است. اتراکس با ارائه واریز و برداشت نامحدود، به شما امکان میدهد مقادیر انتقالی خود را از یک دلار تا بالای 25 میلیون تومان، به آسانی انجام دهید. همچنین با احراز هویت آنی و با وارد کردن شماره موبایل خود، میتوانید به سرعت و بدون درنگ، ثبتنام خود را در اتراکس انجام دهید. به اتراکس بپیوندید و تجربهی منحصربهفرد معاملات رمزارزها را به دست آورید.
پلتفرم معاملاتی اتراکس این امکان را فراهم کرده است که در همه جای دنیا، به راحتی و فقط با دسترسی به اینترنت، از تمام خدمات آن بهرهمند شوید و لذت انجام معاملات رمزارزها را تجربه کنید. ما برای حرکت به سوی اهداف و ماموریتمان، سه ارزش ساده را دنبال میکنیم: برای جامعه مفید باشیم، مشتری مدار باشیم و قهرمان باشیم.