ارزهای رمزپایه و فناوری بلاکچین محبوبتر از همیشه هستند، به همین دلیل است که هر سرمایهگذار رمزارز باید درک قوی از فناوریهایی که پلتفرمهای بلاکچین را تقویت میکنند، داشته باشد. ساختاری به نام درخت مرکل (Merkle Tree) برای تأیید و حفظ یکپارچگی تراکنش برای هر معاملهای که در یک دفتر کل غیرمتمرکز قرار دارد ضروری است.
در طول پنج سال گذشته، درختان مرکل به طور گسترده در پلتفرمهایی مانند بیت کوین و اتریوم مورد استفاده قرار گرفتهاند. راهنمای زیر تمام آنچه را که باید در مورد درختان مرکل و نقش آنها در بلاکچین بدانید به شما میگوید.
درخت مرکل چیست؟
درخت مرکل نوعی ساختار است که میتواند برای بررسی سریع یکپارچگی دادهها در یک مجموعه استفاده شود. این ساختار عمدتاً شامل توابع هش است که به طور گسترده در فناوری بلاکچین استفاده میشود. درخت مرکل که به عنوان درخت هش نیز شناخته میشود، اولین بار به عنوان یک مفهوم توسط رالف مرکل در دهه 1980 توسعه یافت.
درختان مرکل اغلب با شبکههای همتا به همتا (P2P) به دلیل نیاز به اشتراکگذاری اطلاعات و تایید مستقل استفاده میشوند. هنگامی که به طور خاص به شبکه بیت کوین نگاه میکنیم، از این درختان برای تأیید دادهها به شیوهای کارآمد استفاده میشود. این امر با گنجاندن هش برای نمایش اطلاعات، برخلاف فایل اطلاعات کامل، امکانپذیر میشود.
ساختار درخت مرکل
برای درک بهتر درختان مرکل، بیایید ساختار آنها را بررسی کنیم. فناوری بلاکچین از هزاران بلوک مجزا تشکیل شده است که هر کدام میتوانند دادهها را برای هزاران تراکنش مختلف ذخیره کنند. به دلیل تعداد تراکنشهایی که باید روی یک بلوک ثبت شوند، رسیدگی به نیازهای قدرت محاسباتی و فضای حافظه میتواند چالش برانگیز باشد. درختان Merkle اجازه میدهند تا تراکنشها بدون استفاده از دادههای زیاد تأیید شوند، که به کاهش پردازش CPU کمک میکند و در عین حال امنیت را افزایش میدهد.
وقتی به ساختار درخت مرکل نگاه میکنیم، همه تراکنشها به صورت جفت با هم گروهبندی میشوند. هر جفت دارای یک هش محاسبه شده است که مستقیماً در گره والد ذخیره میشود. این گرهها نیز به جفت گروهبندی میشوند و پس از آن هش آنها در سطح بعدی ذخیره میشود. این روند تا رسیدن به ریشه درخت مرکل ادامه دارد.
سه نوع گرهای که در درخت مرکل یافت میشوند عبارتنداز:
- گره برگ – از مقادیر هش برای دادههای تراکنش تشکیل شده است. هر تراکنشی که در یک بلوک قرار دارد از دادههای هش شده تشکیل شده است. سپس مقدار هش در گرههای برگ ذخیره میشود.
- گره غیر برگ – از مقادیر هش فرزندان آنها تشکیل شده است. اینها اساساً مقادیر هش میانی هستند که تا زمانی که فرآیند به ریشه درخت برسد استفاده میشود.
- گره ریشه – ریشه درخت Merkle مستقیماً در هدر بلوک ذخیره میشود.
درخت مرکل دودویی است، به این معنی که تعداد کل گرههای برگ مختلف باید زوج باشد تا درخت به درستی ساخته شود. وقتی تعداد فرد گره برگ وجود داشته باشد، هش قبلی برای ارائه تعداد زوج گره کپی میشود.
خاستگاه درخت مرکل
همانطور که قبلاً ذکر شد، درخت مرکل برای اولین بار در دهه 1980 توسط رالف مرکل، دانشمند کامپیوتری که سالها روی رمزنگاری کلید عمومی کار کرده است، توسعه یافت. اگرچه بیشتر کارهای پیرامون درخت مرکل در دهه 1980 انجام شد، مفهوم درخت هش برای اولین بار توسط مرکل در سال 1979 ثبت شد.
ریشه مرکل چیست؟
یکی از مهمترین اجزای درخت مرکل، ریشه مرکل است، که یک تکنیک ریاضی است که حقایق و دادههای مربوط به درخت مرکل را تایید میکند. هنگامی که برای ارزهای دیجیتال استفاده میشود، ریشه مرکل Merkle مطمئن میشود که بلوکهای داده بدون تغییر، آسیب نخورده و کامل هستند.
درخت مرکل چگونه کار میکند؟
درخت مرکل اساساً برای شکستن قطعات بزرگ داده به قطعات بسیار کوچکتر طراحی شده است، که تضمین میکند که همه تراکنشها میتوانند به موقع تأیید شوند. درخت هر تراکنش را با ایجاد یک اثر انگشت کوچک از مجموعه خاصی از تراکنشها خلاصه میکند، که تأیید در دسترس بودن تراکنشها را برای کاربران آسانتر میکند.
درختان مرکل از هش کردن جفت گرههای مختلف تشکیل میشوند تا زمانی که فقط یک هش باقی بماند که به آن ریشه مرکل میگویند. این درختها از پایین به بالا ساخته میشوند و هر تراکنش جداگانه از هش تشکیل شده است. هر گره برگ یک هش منفرد از دادهها است. در مورد گرههای غیر برگ، اینها هشهای هشهای قبلی هستند.
فرض کنید که درخت مرکل از چهار تراکنش تشکیل شده است که با حروف W، X، Y و Z برچسب گذاری شدهاند. هر تراکنش قبل از اینکه هش مستقیماً روی گره برگ ذخیره شود، هش میشود. هنگامی که این اتفاق میافتد، هش W، X، Y و Z ایجاد میشود. سپس هر جفت گره برگ متوالی از طریق هش کردن هش W و هش X در یک گره والد خلاصه میشود که منجر به هش WX میشود. اگر هش Y و هش Z با هم هش شوند، هش YZ ایجاد میشود. هر دوی این هشها یک بار دیگر هش میشوند تا ریشه مرکل Merkle ایجاد شود.
این فرآیند را میتوان با مجموعه دادههای گسترده استفاده کرد. ریشه Merkle مسئول خلاصه کردن دادههایی است که در تراکنشهای خاص وجود دارد، که همه آنها مستقیماً در هدر بلوک ذخیره میشوند. این تکنیک باعث میشود که یکپارچگی دادهها به درستی حفظ شود. در صورتی که یکی از جزئیات تراکنش در نقطهای تغییر کند، ریشه مرکل Merkle به طور خودکار در کنار آن تغییر میکند.
مزایای درخت مرکل
هنگام استفاده از درخت مرکل برای تأیید تراکنشها، مزایای زیادی برای فناوری بلاکچین و پلتفرمهای ارزهای دیجیتال وجود دارد که شامل همه چیز از تأیید کارآمد تا تشخیص آسان دستکاری میشود.
فرآیند تأیید داده کارآمد
تأیید یکپارچگی تراکنش در هیچ زمانی آسان است. به دلیل ساختار دادهها، حافظه بسیار کمی باید در طول فرآیند تأیید استفاده شود.
تشخیص هرگونه دستکاری
ساختار هش تشخیص اینکه آیا دستکاری در تراکنشها رخ داده است را برای ماینرها آسان میکند. هر تراکنش در درخت Merkle به عنوان هش ذخیره میشود. اگر جزئیات یک تراکنش منفرد تغییر کند، این تغییرات قبل از رسیدن به ریشه مرکل به سطوح بالای درخت پیش میروند. ریشه Merkle که در هدر نمایش داده میشود را میتوان با ریشه Merkle موجود در دادهها مقایسه کرد، بنابراین میتوان به سرعت دستکاری را تشخیص داد.
بدون تاخیر
با استفاده از درخت Merkle میتوان بدون هیچ تاخیری انتقال دادهها را در سراسر شبکه انجام داد.
چرا درختان مرکل در بلاکچینها مهم هستند؟
ثابت شده است که درختان مرکل برای فناوری بلاکچین ضروری هستند زیرا تأیید سریع و آسان را به روشی که با تکنیکهای دیگر امکان پذیر نیست، تسهیل میکنند. این درختان مرکل به توسعهدهندگان این امکان را میدهند که مجموعههای بسیار بزرگی از دادهها را با خلاص شدن از شر همه دادههای غیر ضروری فشرده کنند و دادههای باقی مانده را به هش تبدیل کنند. ویژگیهای مختلف ارائه شده توسط درختان مرکل عبارتنداز:
- ساختار بسیار سبک
- مقیاس پذیری موثر
- راندمان سوخت
- تأیید اینکه تراکنشها در یک بلوک خاص گنجانده شدهاند
- احراز هویت اولیه پرداخت
کاربرد درختان مرکل و ریشههای مرکل در بلاکچین
ساختار درخت مرکل و ریشه مرکل قبلاً به طور گسترده در بسیاری از بلاکچینها و پلتفرمهای ارزهای دیجیتال مورد استفاده قرار گرفتهاند. در زیر سه مورد از این گونه برنامهها را شرح میدهیم.
بیت کوین
بیت کوین از درختان مرکل به روشهای مختلفی استفاده میکند، که این درختان را به کل پلتفرم بیت کوین تبدیل میکند. در واقع، این درختان در هر هدر بلوک بیت کوین وجود دارند. هش برای هر تراکنش موجود در بلوک در هدر قرار میگیرد. وقتی صحبت از بیت کوین به میان میآید، ریشه Merkle برای استخراج و همچنین تأیید اهمیت دارد.
استخراج
بلوکهای بیت کوین شامل هدرهایی هستند که حاوی ابرداده و همچنین فهرست گستردهای از تراکنشها هستند. این لیست معمولا بزرگتر از هدر بلوک است. ماینرها دادهها را هش میکنند تا خروجیای ایجاد کنند که به شرایط خاص پایبند باشد، که هنگام اعتبارسنجی یک بلوک ضروری است. ماینرها می توانند قبل از اینکه بلاک معتبری پیدا کنند، تریلیونها تلاش جداگانه انجام دهند. هر تلاشی نیاز به تغییر یک عدد در هدر بلوک دارد. حتی اگر هزاران تراکنش جداگانه در یک بلوک وجود داشته باشد، هر یک باید هش شود.
ریشههای مرکل به ماینرها این امکان را میدهد که این فرآیند را بسیار کارآمدتر کنند. هنگامی که فرآیند ماینینگ شروع میشود، تنها کاری که لازم است این است که تراکنشها به صورت درخت مرکل Merkle انجام شوند، پس از آن میتوان هش ریشه را در هدر بلوک قرار داد. در این مرحله، ماینر فقط باید هدر بلوک را بر خلاف کل بلوک هش کند.
تایید
یکی دیگر از جنبه های ریشه Merkle که با بیت کوین استفاده میشود، اهرمی است که بر مشتریان سبک تمرکز دارد. هنگامی که یک گره روی دستگاه نسبتا ضعیفی که منابع محدودی دارد کار میکند، کاربران نمیتوانند هر تراکنش را در یک بلوک دانلود و هش کنند. در عوض، میتوان یک اثبات Merkle درخواست کرد، که تأییدی است که یک تراکنش در یک بلوک وجود دارد. با کاهش تعداد هشهایی که باید در طول فرآیند تأیید انجام شوند، تأیید میتواند بدون استفاده از منابع محاسباتی زیادی انجام شود.
اتریوم
اتریوم براساس یک نسخه تغییر یافته از درخت مرکل است، به همین دلیل است که به آن درخت مرکل پاتریشیا میگویند. هر بلوک در بلاکچین اتریوم از سه درخت مرکل تشکیل شده است، در مقابل یک درخت باینری – که در بلاکهای بیت کوین اتفاق میافتد. هر یک از این سه ریشه هدف خاص خود را دارد.
ریشه اولیه به عنوان ریشه برای هر معامله در نظر گرفته میشود. در مورد ریشه دوم، وضعیت معامله را نشان میدهد. ریشه نهایی وصول معامله است. کاربر میتواند به ریشه Merkle نگاه کند تا مشخص کند که آیا تراکنش در یک بلوک خاص پیدا شده است یا خیر، و همچنین تعیین کند که موجودی حساب خود چقدر است.
Hyperledger Fabric
وقتی به طور خاص به Hyperledger Fabric نگاه میکنیم، این پلتفرم بلاکچین از درخت Merkle برای محاسبه دادههای بلوک به عنوان هش استفاده میکند. مقدار هش عرض درخت Merkle را مشخص میکند. درختان مرکل در پلتفرم Hyperledger Fabric درست مانند درختان روی پلتفرم بیت کوین کار میکنند.
نظرات کاربران