فهرست مطالب
- درخت مرکل چیست ؟
- ساختار درخت مرکل چیست ؟
- کاربرد درخت مرکل
- اهمیت درخت مرکل در بلاک چین
- جمعبندی
مفهوم «درخت مرکل» (Merkle Tree) در اوایل دهه 80 میلادی و توسط مهندس کامپیوتری به نام «رالف مرکل» (Ralph Merkle) معرفی شد. این مفهوم، به ساختاری از دادهها اشاره دارد که در برنامههای حوزه علوم کامپیوتر استفاده میشود. درخت مرکل همچنین در بیت کوین و سایر ارزهای دیجیتال، برای کدگذاری دادههای بلاک چین به صورت کارآمد و ایمن به کار میرود.
به عبارت دیگر، درخت مرکل به ساختاری اشاره دارد که به منظور تأیید یکپارچگی دادهها در یک مجموعه استفاده میشود. درختهای مرکل به طور اختصاصی در شبکههای «همتا به همتا» (Peer-to-Peer) به کار میروند و هنگامی که شرکتکنندگان در شبکه قصد داشته باشند که اطلاعات را اعتبارسنجی کنند یا به اشتراک بگذارند، به کمک آنها میآیند.
در این مقاله، به معرفی درخت مرکل میپردازیم و پس از توصیف ساختار آن، کاربرد این درخت را شرح داده و اهمیت آن در ارزهای دیجیتال را بررسی میکنیم.
درخت مرکل چیست ؟
درخت مرکل که با نام «درخت هش» (Hash Tree) نیز شناخته میشود، نموداری درختی است که به عنوان ساختاری برای دادهها به کار میرود. ارزهای دیجیتالی همچون بیت کوین و اتریوم از درخت مرکل استفاده میکنند. هر برگ درخت مرکل یک «هش» (Hash) است. این هشها در واقع همان اطلاعات بلاک هستند که به صورت هشهای رمزنگاریشده درآمدهاند. برای درک این مفهوم، اجازه دهید که ابتدا تابع هش را معرفی کنیم.
تابع هش، تابعی است که توسط آن میتوان هر مجموعه داده دلخواه با هر ابعادی را به یک خروجی با اندازه معین تبدیل کرد. این تابع، یک تابع رمزنگاری است و برای همین هم به طور گسترده در حوزههای رمزنگاری استفاده میشود. توابع هش کارایی زیادی دارند و بازگشتپذیر نیستند، یعنی از یک هش نمیتوان مجموعه دادههای اولیه آن را به دست آورد.
به عملیاتی که در آن از توابع هش استفاده میشود، «هشینگ» (Hashing) میگویند. عملیات هشینگ در ارزهای دیجیتال کاربرد فراوانی دارد. اگر علاقه دارید که درباره هش و برخی ویژگیهای آن اطلاعات بیشتری کسب کنید، میتوانید به مقاله «هش و هش ریت چیست» از آکادمی رابکس رجوع کنید.
حال که با مفهوم هش و هشینگ آشنا شدیم، اجازه دهید به پاسخ این سوال بپردازیم که درخت مرکل چیست. اگر به ساختار درخت مرکل نگاه کنیم، درمییابیم که به شکل یک درخت وارونه است. این درخت به تنهایی قادر است تا مجموعه زیادی از تراکنشهای بلاک را در خود خلاصه کند. در واقع، کاربر با بررسی Merkle Tree میتواند تأیید کند که یک تراکنش، بخشی از بلاک هست یا خیر.
برای بهکارگیری Merkle Tree، از عملیات هشینگ استفاده میشود. هر جفت گره با عملیات هشینگ تبدیل به هش میشوند، تا در نهایت تنها یک مقدار هش باقی بماند. این هش باقیمانده را «ریشه مرکل» (Merkle Root) مینامند. درخت مرکل از پایین به بالا و با استفاده از هشهای تراکنشهای مستقل ایجاد میشود. برگها که در پایین درخت قرار دارند، هش دادههای تراکنش هستند. گرههای غیر برگ در Merkle Tree یا گرههای بالایی، هشِ بهدستآمده از دو هش پایینی را شامل میشوند.
اما درخت مرکل چگونه کار میکند و چه کاربردی دارد؟ در ادامه مقاله، به پاسخ این سوالات میپردازیم.
ساختار درخت مرکل چیست ؟
در بخش قبل دریافتیم که درخت مرکل چیست. برای درک نحوه کارکرد آن، تصویر زیر را از پایین به بالا در نظر بگیرید. فرض کنید که در یک بلاک، چهار تراکنش (الف، ب، پ، ت) صورت گرفته است. این تراکنشها به هش تبدیل شده و سپس در برگهای Merkle Tree با عناوین «هش الف»، «هش ب»، «هش پ» و «هش ت» ذخیره میگردند.
در مرحله بعد، برگها دوبهدو با یکدیگر ترکیب شده و هشهای جدیدی به صورت «هش الف،ب» و «هش پ،ت» را میسازند. در نهایت، این دو هش نیز با یکدیگر ریشه مرکل را ایجاد میکنند. این فرآیند را میتوان تعمیم داد و Merkle Tree را میتوان در مجموعه بسیار بزرگی از دادهها به کار برد، اما این ساختار چه کمکی به ما میکند؟ در ادامه، کاربردهای درخت مرکل بیان میشود.
کاربرد درخت مرکل
درخت مرکل در ارزهای دیجیتال کاربرد فراوانی دارد. یکی از مهمترین کاربردهای آن، یکپارچهسازی دادهها است. درخت مرکل به کاربران اجازه میدهد تا بدون نیاز به دانلود کل بلاک چین (که در زمان نگارش این مقاله حجمی بیشتر از 350 گیگابایت دارد)، یک تراکنش مشخص را تأیید کنند.
به عنوان نمونه، تصویر قبل را در نظر بگیرید. تصور کنید که قصد دارید اعتبار «تراکنش پ» را از بلاکِ نمودار بالا تأیید کنید. میتوانید بررسی را از ریشه مرکل آغاز و به صورت «دودویی» یا «باینری» (Binary)، به سمت برگهای درخت حرکت کنید. بخشی از درخت که مربوط به «هش الف،ب» است، در همان ابتدا حذف میشود. در واقع، با استفاده از Merkle Tree، دیگر نیاز نیست که تمام تراکنشها برای تأیید بررسی شوند، بلکه میتوان تنها با استفاده از اطلاعات ذخیره شده در هدر بلاک، اعتبار تراکنشی را تأیید کرد. ریشه درخت مرکل یکی از اطلاعاتی است که در هدر بلاک ذخیره میشود.
اهمیت درخت مرکل در بلاک چین
حال قصد داریم که به این سوال پاسخ دهیم که چرا وجود درختان مرکل برای فناوری بلاک چین حیاتی است. ارز دیجیتال بیت کوین را در نظر بگیرید و تصور کنید که درخت مرکل در بیت کوین وجود نمیداشت. همین امر باعث میشد که هر گره در شبکه، مجبور باشد که نسخه کاملی از تمام تراکنشهای بیت کوینی را که تاکنون انجام شده، در خود حفظ کند. همانطور که متوجه شدید، حجم این اطلاعات سرسامآور خواهد بود.
وجود درخت مرکل در بلاک چین، راهحلی برای این مسئله است. با کمک این درختها، دیگر برای اعتبارسنجی یک تراکنش نیازی به یک کپی کامل از دفتر کل نیست، زیرا با استفاده از ریشه مرکل به ارسال اطلاعات بسیار کمتری در سراسر گرهها نیاز داریم و بنابراین، قدرت محاسباتی کمتری برای تجزیه و تحلیل یکپارچگی دادهها مصرف میشود.
به عبارت دیگر، درخت مرکل به کاربران امکان میدهد بدون نیاز به گذراندن فرآیند دانلود کل بلاک چین، تأیید کنند که تراکنشی در یک بلاک گنجانده شده است یا خیر. در واقع، با کمک درخت مرکل برای اثبات معتبر بودن یک تراکنش تنها به مقادیر کمی از اطلاعات در سرتاسر شبکه احتیاج داریم.
جمعبندی
مفهوم Merkle Tree از مفاهیم مهم علوم کامپیوتر است. درخت مرکل به نموداری درختی گفته میشود که نمایشگر ساختاری از دادهها است. این ساختار در ارزهای دیجیتال کاربرد فراوانی دارد و شبکههایی همچون بیت کوین و اتریوم از آن استفاده میکنند. فناوری درخت مرکل، به عنوان ابزاری استفاده میشود تا ارزهای دیجیتال بتوانند دادههای تراکنش را سازماندهی کنند و آن را به سمت کارایی بیشتر، سوق دهند. بدون درختان مرکل، این احتمال وجود دارد که تقاضای بیشتر برای منابع منجر به مشارکت گرههای کمتری در شبکه شود.
برای مبادله ارز دیجیتال و فروش یا خرید بیت کوین و بررسی اطلاعات رمز ارزها همچون قیمت تتر و اتریوم و غیره، میتوانید به صرافی ارز دیجیتال رابکس مراجعه کنید. بهعلاوه، اگر علاقه دارید که در رابطه با فناوری بلاک چین بیشتر بدانید، پیشنهاد میشود که مقالات ممپول، هولوچین، پل بلاک چین و بسیاری از نمونههای دیگر را در وبسایت آکادمی رابکس مطالعه نمایید.
نظر خود را با ما به اشتراک بگذارید