درخت مرکل در بلاک چین چیست؟ کاربردهای آن

اکسچنجر » درخت مرکل در بلاک چین چیست؟ کاربردهای آن
درخت مرکل ساختمان داده بلاک چین
تعداد بازدید : 381

در این مقاله قصد داریم راجع مفهوم کامپیوتری-الگوریتمی درخت مرکل صحبت کنیم. درخت مرکل یا همان Merkle tree یک وسیله برنامه نویسی برای گسترش بلاک چین است. اسم دیگر این موجود درخت هش می باشد. هر درخت مرکل در اصل یک شبکه به هم پیوسته از چند گره است که در دو نوع تقسیم شده اند. یک گروه از این گره ها، به نام برگ در اصل با داده های یک هش رمزنگاری شده در شبکه بلاک چین اندیس گذاری شده است. بقیه گره هایی که در این دسته قرار نمی گیرند، غیر برگ نام دارند. این گره ها بر اساس اطلاعاتی که در گره های فرزند (Child nodes) حضور دارند برچسب گذاری می شوند. بیشتر درخت های مرکل بر پایه یک روش باینری اسم گذاری می شوند. در این روش هر گره غیر برگی، دارای دو فرزند است.

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

درخت مرکل چیست؟

یک درخت مرکل از چند بخش تشکیل شده است. در این قسمت به صورت خلاصه آن ها را توضیح می دهیم:

  • درخت مرکل که نام دیگرش درخت باینری هش است، یکی از انواع خیلی پرکاربرد در علم کامپیوتر برای کنترل و ساختن داده است. در اصل این درخت جزو گروه Data Structures طبقه بندی می شود.
  • در مورد بیت کوین و دیگر ارزهای دیجیتال از این داده های ساختارمند استفاده می شود. در اصل در شبکه بلاک چین از این نوع داده برای ذخیره رمزنگاری ها به صورت امن با بهره وری بالا استفاده می شود.
  • این داده، یک ساختار ریاضی دارد که از چند بلاک مختلف در شبکه، داده ها را جمع می کند و به نوعی حافظه آن برای ذخیره اطلاعات هر هش محسوب می شود.
  • چنین داده ای به ما اجازه می دهد که خیلی سریع و امن به حجم انبوهی از اطلاعات دست پیدا کنیم. درخت مرکل در اصل برای فراخوانی و تایید سریع تراکنش ها سودمند است.

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

 

ریشه مرکل چیست؟

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

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

توابع هش در رمزنگاری یا کریپتوگرافی

همان طور که می دانید اساس کار کریپتو، بر پایه رمزنگاری ریخته شده است. ارزهای دیجیتال با توابع ریاضی شناخته می شوند که اسمشان هش هستند. در ادامه تلاش می کنیم که ویژگی های آن ها را توضیح دهیم:

  • ویژگی مهم این توابع، ارسال داده با هر طول به یک داده با طول مشخص و ثابت است. مثلا یک سری از اعداد یا یک متن را در نظر بگیرید. تابع هش می تواند بسته به الگوریتم خودش، یک رشته با طول ثابت به شما تحویل دهد.
  • این توابع با بهره وری بالایی کار می کنند. علاوه بر این، توابع هش یک ویژگی خاص دارند، آن هم عدم بازگشت پذیری. معنی این کلمه عدم توانایی هیچ الگوریتمی برای رسیدن به ورودی از راه خروجی تابع هش است. شما نمی توانید با دستیابی به خروجی تابع هش، مسیر آن را برعکس طی کنید. پس یک طرفه هستند.
  • مثال های مختلفی از توابع هش وجود دارد. به عنوان مثال خانواده ی MD, SHF, SHA, RIPEMD که در بخش های مختلف الگوریتم هایشان با هم فرق دارند.

پس همان طور که توضیح دادیم، توابع هش دارای ویژگی های خاص و مهم زیر هستند:

توابع هشت عین پذیرند، برگشت پذیر نیستند، از نظر محاسباتی موثر هستند و مهندسی معکوس رویشان کار نمی کند.

عملکرد درخت های مرکل

در این بخش می خواهیم به صورت خلاصه توضیح دهیم که یک درخت چگونه عمل می کند. یک درخت مرکل در اصل تلاش می کند که اطلاعات مختلف تراکنش ها را یک جا جمع کند. این داده های موجود در بلاک چین رشد می کنند و همگی در درخت مرکل قرار می گیرند.

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

یک مثال از عملکرد درخت مرکل

حال در این بخش یک مثال کوچک را مرور می کنیم. فرض کنید که در یک بلاک (یا بلوک) مشخص از شبکه چهار تراکنش با نام ها (یا همان داده های) A, B, C, D انجام شده باشد. حالا فرض کنید که شبکه این اطلاعات را به هش تبدیل می کند در نتیجه به چهار داده حاصل از هش شدن داده های بالا می رسیم. طبق شکل می توانیم این داده های هش شده را دو تا دو تا کنار هم بگذاریم و به صورت زیر برسیم:

مثال ریشه مرکل در درخت مرکل

 

  • Hash AB
  • Hash CD

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

فواید درخت مرکل در بلاک چین

در این قسمت مهمترین فواید و کارکردهای درخت و ریشه مرکل در شبکه بلاک چین را توضیح می دهیم:

  • این روش به صورت موثری کمک می کند که به تجمیع درست داده ها اطمینان پیدا کنیم.
  • در مقابل دیگر ساختمان های داده، این روش به صورت موثری حجم کمی از فضای حافظه را اشغال می کند.
  • این ساختمان داده را در یک بلاک می شود به راحتی به قسمت های مختلف شکست. در این صورت راحت تر می شود بخش های مختلف آن را تایید کرد یا رد.
  • با توجه به مسائل بالا، خیلی راحت می شود بخش های مختلف داده ها را تایید کرد.

چرا این ها برای بلاک چین ضروری هستند؟

به دلایل زیر برای ما مهم است که در یک شبکه بلاک چین از این ساختمان داده استفاده کنیم:

  • اگر چنین ساختمان داده ای مورد استفاده بیت کوین قرار نمی گرفت، هر گره داده باید یک کپی از تراکنش های قبلی که نمایندگی می کند را پیش خودش حفظ کند. مشخص است که این روش چه افتضاحی به بار می آورد.
  • اگر بخش قبلی را فرض کنیم، برای ثبت هر تراکنش و رسیدن به بخش های مختلف یک بلاک، باید حجم انبوهی از داده ها را منتقل می کردیم یا بررسی می شد.
  • قدرت محاسباتی مورد نیاز برای تامین اطمینان از تراکنش به شدت بالا می رفت. این حجم از طرف دیگر باعث رشد مقدار انرژی مورد نیاز برای ثبت تراکنش ها می شد.

به دلیل همین قابلیت هاست که از درخت مرکل در جاهای دیگه به کرات استفاده شده است. به عنوان مثال در گیت GIT از این تکنولوژی به کرات استفاده شده است. یا دیتابیس هایی داریم که این داده درش وجود دارد.

جمع بندی

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

سوالات متداول راجع درخت مرکل در بلاک چین

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

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

توابع هش کردن چه نوع توابعی هستند؟
توابع هش کردن داده های مختلف را به یک رشته با طول ثابت تبدیل می کنند. ویژگی قابل توجه توابع هش، سرعت عمل و غیر قبال برگشت بودنشان است.

امتیاز دهید
اشتراک در
اطلاع دهید
guest
0 نظرات
بازخوردهای درون خطی
نمایش تمام کامنت ها