درخت مرکل (Merkle Tree)

درخت مرکل (Merkle tree ) یا درخت هش باینری (binary hash tree ) شامل استفاده از مقادیر زیاد دادهها و اطلاعات است که میتواند این اطلاعات را برای پردازشهای بعدی، مدیریت کند.
در مورد فناوری بلاک چین، درخت مرکل برای ساماندهی تراکنشهای معمول و رایج استفاده میشود تا منابع مصرفی را کم کند. به عنوان مثال، تراکنشی که طی آن، آلیس به باب، ۵ بیت کوین ارسال میکند.
فهرست مطالب
عملکرد درخت مرکل در تراکنش آلیس به باب

TA بیانگر یک تراکنش معمولی است که در مثال بالا قابل مشاهده است. این تراکنشها به طور مجزا هش میشوند تا مقدار هش هر کدام مشخص شود. برای مثال TD از تابع هش عبور میکند تا مقدار هش HD متناظر با آن مشخص شود. در مورد بیت کوین، تابع هشی که استفاده میشود، SHA256 است.
ابتدا هر تراکنش به طور مجزا هش می شود تا برای آن مقدار هش مشخصی ایجاد شود، سپس مقدار هش جدید با هش تابع همجوار ترکیب می شود و در صورت ترکیب این دو تابع، هش جدید متفاوتی تولید می شود.
برای مثال، مقادیر هش HC و HD ترکیب و هش میشوند تا هش HCD تولید شود. در مثال فوق، ۸ تراکنش با مقادیر هش مختص به خود وجود دارد. هرچند اگر تعداد تراکنشها فرد باشد، برای مثال ۷ تراکنش وجود داشته باشد، هش هفتم با خود جفت میشود تا مقدار هش جدید تولید شود و در این صورت، HH با HH ترکیب میشود تا HHH ایجاد شود.
این فرآیند تا زمانی تکرار میشود که آخرین مقدار هش به دست آید. به این مقدار، ریشه مرکل میگویند. در مثال فوق، ریشه مرکل HABCDEFGH است. اندازه ریشه مرکل ۳۲ بایت است و در هدر بلاک قرار میگیرد که بیانگر خلاصه ای از اطلاعات تمام تراکنشهاست.
مزیت های ساختار درخت مرکل
1-مداخله ناپذیر
یکی از مزایای ساماندهی کردن تراکنشها در ساختار درخت مرکل این است که بسیار راحت و آسان میتوان تایید کرد در هیچ کدام از تراکنشهای داخل بلاک، مداخلهای صورت نگرفته باشد.
برای مثال اگر تراکنش TH به تراکنش TXYZ تغییر کرده باشد، مقدار هش آن نیز متفاوت خواهد بود؛ بنابراین، هنگامی که هش به دست آمده با هش مجاور خود ترکیب شود، هش نهایی نیز متفاوت خواهد شد. این امر منجر به ریشه مرکل کاملا متفاوتی میشود، بنابراین میتوان نتیجه گرفت که هرگاه ریشه مرکل تغییر کند، در یک یا بیش از یک تراکنش مداخله و تغییر ایجاد شده است.
2-استفاده از منابع کمتر
مدیریت تراکنشها در ساختار درخت مرکل نسبت به هش کردن مجموعه تراکنشها و وارد کردن آنها به هدر بلاک، از منابع کمتری استفاده میکند.
اگرچه از نظر فنی، اگر تمام تراکنشها به صورت روش دوم یا همان هش تراکنشها و وارد کردن آنها به هدر بلاک ساماندهی شوند، همچنان عملکرد خواهد داشت؛ اما از منابع بسیار زیادی استفاده خواهد کرد.
این روش مدیریت تراکنشها به دلیل هزینه بسیار زیاد برای مدیریت منابع بیشتر، منجر به کاهش نودها در شبکه بیت کوین می شود. در نتیجه منجر به کاهش غیرمتمرکز شدن شبکه بیت کوین میشود.
3-تایید یک تراکنش
درخت مرکل به کاربران امکان میدهد تا بدون دانلود کردن کل بلاک چین، بتوانند حضور یک تراکنش مشخص در بلاک را بررسی کنند . اگرچه با استفاده از کلاینتهای سبکتر نظیر پروتکل SPV، کاربران میتوانند بررسی کنند که تراکنش مورد نظرشان در بلاک چین حضور دارد یا خیر.
برای مثال اگر کاربر بخواهد بررسی کند که آیا تراکنش HD در بلاک حضور دارد، به جای دانلود کل بلاک چین و بررسی آن، تنها چیزی که نیاز دارد ریشه مرکل، HEFGH، HAB و HC است. اگرچه برای تایید حضور تراکنش در بلاک به این اطلاعات نیاز است، اما به طور چشمگیری بهتر از دانلود کل بلاک چین است.

نتیجه گیری
درخت مرکل روش قدرتمندی برای ساماندهی تراکنشها است وبه حفظ عملکرد ارزهای دیجیتالی نظیر بیت کوین و اتریوم کمک می کند تا حدی که میتوان گفت که اگر درخت مرکل نبود، ارزهای دیجیتال عملکرد ضعیفتری داشتند.