دنیای کریپتوکارنسی، محبوبتر از قبل شده و بههمین دلیل است که هر معاملهگر یا تریدری باید درک صحیح و کامل از دانش ارزهای دیجیتال داشته باشد. فناوری نوظهور بلاکچین، هسته اصلی بسیاری از پلتفرمهای غیرمتمرکز دنیای ارزهای دیجیتال محسوب میشود. بلاکچینها از فناوریهای پیچیدهای تشکیل شدهاند که درخت مرکل (Merkle Tree) فقط یکی از آنهاست. درخت مرکل، در طول ۵ سال اخیر در پلتفرمهای معتبر و ارزشمندی مثل بیت کوین (BitCoin) و اتریوم (Ethereum) بهکار گرفته شده است. درک مفهوم و ساختار درختهای مرکل میتواند، چشماندازی عمیق و کامل از عملکرد شبکههای بلاکچین ارائه دهد؛ اما چگونه؟
درخت مرکل (Merkle Tree) توسط رالف مرکل توسعه داده شد. مرکل دانشمند علوم کامپیوتری بود که به صورت تخصصی روی رمزنگاری کلید عمومی کار میکرد. او درخت مرکل را در همین فرایند توسعه داد و آن را در سال ۱۹۸۷ در مقالهای با عنوان «امضای دیجیتال بر اساس تابع رمزنگاری قراردادی» معرفی کرد. مرکل مخترع هش رمزنگاری نیز بود. درخت مرکل یک ساختمان داده ریاضیاتی مبتنی بر هش است که امکان ذخیره خلاصهای از تمام دادههای موجود در یک بلوک را دارد. از این ساختار میتوان برای بررسی صحت دادهها به صورت غیرمتمرکز استفاده کرد. درختهای مرکل بیشتر در شبکههای همتا به همتا (P2P) به کار میروند، زیرا در این شبکهها، دادهها باید به اشتراک گذاشته شوند و به صورت مستقل اعتبارسنجی شوند. در ادامه توضیح میدهیم که این ساختار دادهای چطور کار میکند و چه بخشهایی دارد.
برای درک بهتر درختان مرکل، بیایید ساختار آنها را بررسی کنیم. فناوری بلاکچین از هزاران بلوک مجزا تشکیل شده است که هر کدام میتوانند دادهها را برای هزاران تراکنش مختلف ذخیره کنند. به دلیل تعداد تراکنشهایی که باید روی یک بلوک ثبت شوند، رسیدگی به نیازهای قدرت محاسباتی و فضای حافظه میتواند چالش برانگیز باشد. درختان Merkle اجازه میدهند تا تراکنشها بدون استفاده از دادههای زیاد تأیید شوند، که به کاهش پردازش CPU کمک میکند و در عین حال امنیت را افزایش میدهد. وقتی به ساختار درخت مرکل نگاه میکنیم، همه تراکنشها به صورت جفت با هم گروهبندی میشوند. هر جفت دارای یک هش محاسبه شده است که مستقیماً در گره والد ذخیره میشود. این گرهها نیز به جفت گروهبندی میشوند و پس از آن هش آنها در سطح بعدی ذخیره میشود. این روند تا رسیدن به ریشه درخت مرکل ادامه دارد.
• گره برگ – از مقادیر هش برای دادههای تراکنش تشکیل شده است. هر تراکنشی که در یک بلوک قرار دارد از دادههای هش شده تشکیل شده است. سپس مقدار هش در گرههای برگ ذخیره میشود.
• گره غیر برگ – از مقادیر هش فرزندان آنها تشکیل شده است. اینها اساساً مقادیر هش میانی هستند که تا زمانی که فرآیند به ریشه درخت برسد استفاده میشود.
• گره ریشه – ریشه درخت Merkle مستقیماً در هدر بلوک ذخیره میشود.
درخت مرکل دودویی است، به این معنی که تعداد کل گرههای برگ مختلف باید زوج باشد تا درخت به درستی ساخته شود. وقتی تعداد فرد گره برگ وجود داشته باشد، هش قبلی برای ارائه تعداد زوج گره کپی میشود.
برای درک بهتر مرکل تری، با یک مثال ساده کار را آغاز میکنیم. فرض کنید 4 تراکنش (A و B و C و D) در یک بلاک (بلاک 2 تصویر زیر) وجود دارد و هر کدام از آنها دارای یک هش بلاک منحصربهفرد (HashA و HashB و HashC و HashD) هستند. حالا هر جفت از این تراکنشهای هششده برای ساخت یک هش جدید با یکدیگر ترکیب میشوند. در این مثال، هش A با B ترکیب و هش AB را میسازد. در طرف دیگر، تراکنش هششده C و D نیز با یکدیگر ترکیب و هش CD را میسازند. حالا مجددا هش AB و CD توسط تابع هش ترکیب شده و ABCD را میسازد که در واقع همان ریشه مرکل یا هش ریشه برای درخت ماست. نهایتا مرکل روت در هدر و عنوان بلاک ذخیره میشود.
نتیجه گیری :
درخت merkle یک درخت دودویی است که هر گره آن حداکثر دو فرزند دارد. و ترتیب گره ها دارای اهمیت است .شبکه های زنجیره ای ، پایگاه داده و شبکه ها در سراسر جهان از درختان Merkle برای هماهنگی سریع و کارآمد رکوردها در چندین رایانه استفاده می کنند. اکنون که اصول را درک کردید ، به راحتی می توان فهمید که چرا این روش ساختاردهی داده ، بلاکچین را ایمن و کارآمد می کند.