صفحه اول آموزش کمی زیر سایه درخت مرکل بنشینیم!

کمی زیر سایه درخت مرکل بنشینیم!

۰
0
6,771
کمی زیر سایه درخت مرکل بنشینیم!

درخت مرکل یکی از مفاهیم اساسی در فناوری بلاک چین (Blockchain)  است که ذخیره سازی ایمن و کارآمد ساختارهای داده ای را فراهم می‌کند.

پیاده سازی درخت مرکل در شبکه های بلاک چینی مزایای بشماری دارد که ازجمله آن ها می‌توان به افزایش مقیاس پذیری، حفظ یکپارچگی داده ها از طریق معماری مبتنی بر رشته های درهم (Hash) و ارائه روشی ساده برای تأیید صحت داده ها اشاره کرد.

در این ترجمه از آی آر بلاک چین با نگاهی به فرایند درهم سازی، درباره درخت مرکل، چیستی و چگونگی عملکرد آن برای شما خواهیم نوشت.

توابع درهم ساز رمزگذاری شده

به بیان ساده یک تابع درهم ساز (Hash Function) نوعی از تابع است که می‌تواند یک واحد داده با حجم تصادفی را به یک حجم داده با مقدار ثابت تبدیل کند. در حال حاضر الگوریتم های متفاوتی برای درهم سازی وجود دارد و شما می‌توانید بر اساس نیاز هرکدام از آن ها را انتخاب کنید.

پس از اجرای الگوریتم، خروجی حاصل نه فقط اندازه ثابت دارد بلکه برای هر ورودی، منحصربه فرد هم هست.

مثلاً در تصویر زیر رشته درهمی‌که برای واژه FOX تولیدشده با رشته درهمی‌که برای جمله The red fox runs across the  ice تولیدشده کاملاً متفاوت هستند. این ویژگی باعث می‌شود تا هرکدام از رشته های درهم بتوانند به عنوان یک سند معتبر ایفای نقش کنند و در یک دید کلی تر شاکله تغییرناپذیری بلاک چین ها را شکل دهند.

 

یکی دیگر از مزایای الگوریتم های درهم ساز برای سیستم های بلاک چینی فشرده سازی مقادیر عظیم داده ای است. به علاوه شناسایی این مقادیر صرفاً با داشتن رشته درهم آن ها امکان پذیر است که باعث سهولت کار کردن با شبکه های بلاک چینی می‌شود.

در بلاک چین بیت کوین هر بلوک یک سرعنوان (heading) دارد که در آن رشته درهم مربوط به بلوک قبلی همراه با داده های دیگری ثبت شده است. با این شیوه تمام بلوک ها در یک ترتیب منطقی به همدیگر متصل می‌شوند و رشته درهم بلوک در واقع وضعیت کل بلوک های موجود در شبکه تا یک لحظه خاص را به نمایش می‌گذارد. در نتیجه امکان دست کاری داده ها در بلاک چین بیت کوین و البته آلت کوین ها تقریباً غیرممکن می‌شود.

اما داستان از جایی دردناک می‌شود که ذخیره این حجم از رشته های درهم ساز باعث کاهش کارایی و مقیاس پذیری شبکه های بلاک چینی می‌شود. برای درمان این درد متخصصان از تکنیکی با نام درخت مرکل استفاده می‌کنند که می‌تواند سایه خودش را بر سر بلاک چین بگستراند.

درختان مرکل و اثبات های مرکل

ایده اصلی رالف مرکل که در سال ۱۹۷۹ برای آن پروانه ثبت اختراع گرفت درواقع ساختارهای داده ای درختی هستند که در آن هر گره بدون برگ، یک رشته درهم ساز از گره های فرزند خودش هستند و گره های با برگ (برگ ها)، پایین ترین گروه گره ها در درخت را تشکیل می‌دهند.

شاید درک این جمله ها اندکی پیچیده باشد اما تصویر زیر تا حد زیادی این پیچیدگی را کاهش می‌دهد.

در این تصویر گره های بدون برگ یا شاخه ها (رشته درهم ۰-۰ و رشته درهم ۱-۰) در سمت چپ تصویر، از رشته های درهم فرزندانشان که L1 و L2 هستند تشکیل شده اند و در سطح بالاتر رشته درهم ۰ خودش درهم شده رشته های درهم ۰-۰ و ۱-۰ است.

تصویری که از آن استفاده شده یک مدل ساده و رایج از درخت مرکل است که به نام درخت مرکل دودویی شناخته می‌شود. در این تصویر یک رشته درهم در بالای همه رشته ها قرارگرفته که درواقع هش تمام درخت است و به آن رشته درهم ریشه هم می‌گویند. درواقع این تصویر نشان می‌دهد که درخت مرکل یک ساختار داده ای است که می‌تواند هر تعداد از رشته های درهم را به عنوان ورودی دریافت کند و یک رشته درهم واحد تولید کند.

این مطلب را از دست ندهید:  انقلاب زنجیره بلوک در روسیه: موافقان و مخالفان چه می‌گویند؟

ساختار درخت امکان مکان یابی مقادیر وسیعی از داده ها را فراهم می‌کند و شناسایی آسان تغییرات درداده ها را امکان پذیر می‌سازد. این مفهوم شواهدی تحت عنوان اثبات مرکل را به وجود می‌آورد که با استفاده از آن می‌توان بدون نیاز به بررسی تمام رشته های درهم تأیید کرد که فرایند درهم سازی داده ها در سراسر ساختار درخت پایدار بوده و در جایگاه درست قرار دارد.

البته نقش رشته درهم ریشه در این فرایند حیاتی تر است چون با داشتن آن می‌توان تمام شبکه بلاک چین را به سرعت بررسی کرد.

درنهایت یکی از مزایای اصلی درخت مرکل برای سیستم های توزیع شده تجزیه داده های کلان به بخش های کوچک تر قابل مدیریت است که در این صورت موانع تأیید صحت داده ها به طرز چشمگیری کاهش پیدا می‌کنند.

درخت مرکل در بیت کوین

تابع درهم سازی رمزگذاری شده در بیت کوین SHA-256 نام دارد. خروجی این تابع یک مقدار ۲۵۶ بیتی ثابت است و عملکرد اصلی درخت مرکل در شبکه بلاک چین بیت کوین ذخیره سازی و درنهایت حذف رشته های درهم زائد در هر بلوک است.

تصویر زیر که از مقاله سفید بیت کوین گرفته شده به خوبی نحوه عملکرد درخت مرکل در بلاک چین این رمز ارز  را نشان می‌دهد.

 

تراکنش ها توسط ماینرها در بلوک ها ذخیره می‌شوند و به عنوان بخشی از درخت مرکل درهم سازی می‌شوند که درنهایت یک ریشه مرکل درست می‌شود که در سر عنوان (header) بلوک ذخیره می‌گردد.

مهم ترین امتیاز درخت مرکل در بیت کوین امکان شکل گیری گره های تأییدکننده پرداخت ساده (SPV = Simple Payment Verification) است که بیشتر آن ها را با نام کلاینت های سبک (Lightweight clients) می‌شناسیم. عملکرد این گره ها وابسته به دانلود تمام شبکه بلاک چین بیت کوین نیست و فقط با داشتن سر عنوان بلوک های طولانی ترین زنجیره هم کار می‌کند.

یک گره SPV می‌تواند با استفاده از اثبات مرکل یک تراکنش را به یک درخت مرکل خاص با داشتن رشته درهم ریشه آن درخت در یک بلوک ارتباط دهد.

سخن آخر

مفهوم درخت مرکل نه فقط در بلاک چین بیت کوین بلکه در سایر رمز ارز ها مثل اتریوم هم پیاده سازی شده  است.

هرکدام از پروژه های رمز ارز ی بنا بر قابلیت ها و ویژگی هایی که دارند از طرح های مختلفی برای درختان مرکل استفاده می‌کنند که ساده تر یا پیچیده تر هستند.

به علاوه درختان مرکل یکی از اجزای جدایی ناپذیر سیستم های کنترل توزیع شده مثل Git و IPFS هستند. در واقع توانایی آن ها در تضمین و تأیید یکپارچگی داده های مشترک بین رایانه ها در یک قالب بدون واسطه در این سیستم ها است.

به هر حال آشنایی با مفهوم درخت مرکل و نقش آن در الگوریتم های درهم سازی و تأثیر آن بر روی مقیاس پذیری و امنیت شبکه های بلاک چین یکی از مسائل مهمی‌است که همه افرادی که قصد دارند استارتآ پ  هایی در این حوزه تأسیس کنند یا کوین های اختصاصی را تولید کنند باید از آن اطلاع داشته باشند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطلب پیشنهادی

بررسی روند پیشرفت فناوری بلاک‌چین در سال ۱۳۹۷

با معرفی بلاک‌چین در میان جوامع و ورود این تحول به ایران و همچنین مورد توجه قرار گرفتن آن …